Duncan Sands
ce82e0aa82
Fix a testcase provided by Bill in which the node
...
id could end up being wrong mostly because of
forgetting to remap new nodes that morphed into
processed nodes through CSE.
llvm-svn: 58323
2008-10-28 09:38:36 +00:00
Chris Lattner
508a62823e
Don't produce invalid comparisons after legalize.
...
llvm-svn: 58320
2008-10-28 07:11:07 +00:00
Chris Lattner
e39269e22a
fix some whitespace stuff
...
llvm-svn: 58319
2008-10-28 07:10:51 +00:00
Chris Lattner
1efb3a30c8
fit in 80 cols
...
llvm-svn: 58318
2008-10-28 06:20:17 +00:00
Chris Lattner
63e92876e0
Fix a nasty miscompilation of 176.gcc on linux/x86 where we synthesized
...
a memset using 16-byte XMM stores, but where the stack realignment code
didn't work. Until it does (PR2962) disable use of xmm regs in memcpy
and memset formation for linux and other targets with insufficiently
aligned stacks.
This is part of PR2888
llvm-svn: 58317
2008-10-28 05:49:35 +00:00
Chris Lattner
d9f28870cf
more comment cleanups.
...
llvm-svn: 58316
2008-10-28 05:32:08 +00:00
Chris Lattner
b2d576facf
comment cleanups.
...
llvm-svn: 58315
2008-10-28 05:31:31 +00:00
Evan Cheng
8f9bfa5bff
If def is in the same mbb as the barrier, spilt the value after the last use before the barrier.
...
llvm-svn: 58314
2008-10-28 05:28:21 +00:00
Evan Cheng
6242a4f47b
Add command line option to limit the number splits to help debugging.
...
llvm-svn: 58312
2008-10-28 01:48:24 +00:00
Dan Gohman
8edffdd299
Fix the name of the include guard to match the filename.
...
llvm-svn: 58310
2008-10-28 00:52:46 +00:00
Evan Cheng
9bbf76a1e9
Avoid putting a split past the end of the live range; always shrink wrap live interval in the barrier mbb.
...
llvm-svn: 58309
2008-10-28 00:47:49 +00:00
Bill Wendling
7ca989e778
- Fix SUBVERSION string to handle x.x.x version number formats.
...
- Add VERBOSE=1 flag.
- Specify the LLVM_SUBMIT_VERSION when doing the "make install".
The libLTO.dylib relies upon this flag during that time.
llvm-svn: 58298
2008-10-27 23:31:24 +00:00
Evan Cheng
420490d6c4
Silence a bogus compile time warning.
...
llvm-svn: 58297
2008-10-27 23:29:28 +00:00
David Greene
48e4fdef50
Re-apply 55137 with fixes.
...
llvm-svn: 58296
2008-10-27 23:24:03 +00:00
Evan Cheng
056ef89e68
Remove val# defined by a remat'ed def that is now dead.
...
llvm-svn: 58294
2008-10-27 23:21:01 +00:00
Ted Kremenek
03c067710c
Fix bogus comparison of "const char *" with c-string literal. Use strcmp instead.
...
llvm-svn: 58290
2008-10-27 22:43:07 +00:00
David Greene
93f9f0f718
Have TableGen emit setSubgraphColor calls under control of a -gen-debug
...
flag. Then in a debugger developers can set breakpoints at these calls
to see waht is about to be selected and what the resulting subgraph
looks like. This really helps when debugging instruction selection.
llvm-svn: 58278
2008-10-27 21:56:29 +00:00
Daniel Dunbar
ec8e99098f
Return bool (inserted) from StringSet::insert as for StringMap::insert.
...
llvm-svn: 58268
2008-10-27 20:50:02 +00:00
Cedric Venet
cbdc9870d7
Remove tabs from my previous commit.
...
llvm-svn: 58263
2008-10-27 19:21:35 +00:00
Chris Lattner
3722193550
rename vec_spat -> vec_splat, pointed out by duncan
...
llvm-svn: 58260
2008-10-27 18:28:24 +00:00
David Greene
5015610892
Add setSubgraphColor to color an entire portion of a SelectionDAG. This
...
will be used to support debug features in TableGen.
llvm-svn: 58257
2008-10-27 18:17:03 +00:00
David Greene
e8f05397ca
Add STL-style typedefs and default constructors to make it possible to
...
use DenseMap in more contexts.
llvm-svn: 58256
2008-10-27 18:15:15 +00:00
David Greene
78744a795a
Fix PR2634. Create new virtual registers from spills early so that we
...
can give it the same stack slot as the spilled interval if it is folded.
This prevents the fold/unfold code from pointing to the wrong register.
llvm-svn: 58255
2008-10-27 17:38:59 +00:00
Matthijs Kooijman
0e4cabbceb
Remove redundant word in tblgen error message.
...
llvm-svn: 58250
2008-10-27 15:59:43 +00:00
Duncan Sands
22451e0303
Fix UpdateNodeOperands so that it does CSE of calls
...
(and a bunch of other node types). While there, I
added a doNotCSE predicate and used it to reduce code
duplication (some of the duplicated code was wrong...).
This fixes ARM/cse-libcalls.ll when using LegalizeTypes.
llvm-svn: 58249
2008-10-27 15:30:53 +00:00
Duncan Sands
039edb065f
Fix a bug in which a node could be added to the
...
worklist twice: UpdateNodeOperands could morph
a new node into a node already on the worklist.
We would then recalculate the NodeId for this
existing node and add it to the worklist. The
testcase is ARM/cse-libcalls.ll, the problem
showing up once UpdateNodeOperands is taught to
do CSE for calls.
llvm-svn: 58246
2008-10-27 13:18:32 +00:00
Torok Edwin
ebd7fd5e7a
Avoid crashing if instruction is not part of a loop.
...
If it is not part of a loop it is obviously invariant wrt to all loops.
llvm-svn: 58240
2008-10-27 10:18:45 +00:00
Gabor Greif
0269c21562
formatting tweak for intrinsic
...
llvm-svn: 58239
2008-10-27 10:17:24 +00:00
Torok Edwin
0c0acebd09
export an ID for the instructionNamer, allowing analysis/transformation passes
...
that need it to require it by ID.
llvm-svn: 58238
2008-10-27 10:16:27 +00:00
Bill Wendling
028aeb5f8e
Some grammar fixes, and non-invasive format changes.
...
llvm-svn: 58237
2008-10-27 09:27:33 +00:00
Duncan Sands
a6bbc047d5
Turn on LegalizeTypes, the new type legalization
...
codegen infrastructure, by default. Please report
any breakage to the mailing lists.
llvm-svn: 58232
2008-10-27 08:42:46 +00:00
Nick Lewycky
c1f8a23665
Fix an obvious copy/pasto.
...
llvm-svn: 58231
2008-10-27 07:28:44 +00:00
Evan Cheng
3bcbccf563
For now, don't split live intervals around x87 stack register barriers. FpGET_ST0_80 must be right after a call instruction (and ADJCALLSTACKUP) so we need to find a way to prevent reload of x87 registers between them.
...
llvm-svn: 58230
2008-10-27 07:14:50 +00:00
Chris Lattner
17afc211e7
Rewrite all the 'PromoteLocallyUsedAlloca[s]' logic. With the power of
...
LargeBlockInfo, we can now dramatically simplify their implementation
and speed them up at the same time. Now the code has time proportional
to the number of uses of the alloca, not the size of the block.
This also eliminates code that tried to batch up different allocas which
are used in the same blocks, and eliminates the 'retry list' logic which
was baroque and no unneccesary. In addition to being a speedup for crazy
cases, this is also a nice cleanup:
PromoteMemoryToRegister.cpp | 270 +++++++++++++++-----------------------------
1 file changed, 96 insertions(+), 174 deletions(-)
llvm-svn: 58229
2008-10-27 07:05:53 +00:00
Chris Lattner
a57ac16183
no need to print output
...
llvm-svn: 58228
2008-10-27 06:56:35 +00:00
Chris Lattner
39c853cf16
Add a new LargeBlockInfo helper, which is just a wrapper around
...
a trivial dense map. Use this in RewriteSingleStoreAlloca to
avoid aggressively rescanning blocks over and over again. This
fixes PR2925, speeding up mem2reg on the testcase in that bug
from 4.56s to 0.02s in a debug build on my machine.
llvm-svn: 58227
2008-10-27 06:05:26 +00:00
Chris Lattner
7351188cb9
mention getresult -> extractvalue (PR2935)
...
llvm-svn: 58226
2008-10-27 04:39:23 +00:00
Dale Johannesen
d0a0ce909b
Increase default setting of tail-merge-threshold to
...
150, based on llvm-test measurements.
llvm-svn: 58225
2008-10-27 02:10:21 +00:00
Nick Lewycky
6288e2288d
Remove -check-exit-code from bugpoint. This is subsumed by -append-exit-code.
...
Note that -check-exit-code was on by default while -append-exit-code is not.
llvm-svn: 58221
2008-10-26 23:59:36 +00:00
Chris Lattner
3fed68158c
fix PR2953, an off-by-one error handling formatted i/o.
...
Thanks to Török Edwin for the awesome reduced testcase.
llvm-svn: 58199
2008-10-26 19:20:47 +00:00
Chris Lattner
9737bef5a1
remove eh output from this test.
...
llvm-svn: 58196
2008-10-26 18:53:07 +00:00
Cedric Venet
f75bc692bb
Add a default constructor to AsmWriterOperand to make VS2008sp1 happy. (AsmWriterOperand is used in a std::pair, and VS need to generate the default constructor of this pair).
...
llvm-svn: 58185
2008-10-26 15:40:44 +00:00
Evan Cheng
8a7f04e7c2
Do not shrink wrap live interval in a mbb if it's livein any of its successor blocks. The mbb can be revisited again after all of the successors are processed.
...
llvm-svn: 58184
2008-10-26 07:49:03 +00:00
Oscar Fuentes
791d14f571
Return something (i.e. NULL) from an unimplemented virtual function.
...
llvm-svn: 58183
2008-10-26 04:26:33 +00:00
Oscar Fuentes
1fcfb67930
CMake: If we have clang' under the
tools/' subdirectory, add it to
...
the build.
llvm-svn: 58179
2008-10-26 00:52:09 +00:00
Oscar Fuentes
7fa2179afa
CMake: Support for LLVM_USED_LIBS variable, which is the cmake
...
counterpart of USED_LIBS.
llvm-svn: 58178
2008-10-26 00:51:05 +00:00
Oscar Fuentes
8286c161d3
CMake: Removed unnecessary macro definitions. They are defined in
...
config.h
llvm-svn: 58177
2008-10-26 00:50:03 +00:00
Oscar Fuentes
a96ce230e0
CMake: GetTargetTriple: new module for determining the target
...
triple. Assign to LLVM_HOSTTRIPLE so it figures in config.h.
llvm-svn: 58176
2008-10-26 00:47:52 +00:00
Bill Wendling
617f3d4b3a
Fix type-o in ExprMapKeyType::operator ==(). The "&&" was missing.
...
Patch by Frits van Bommel!
llvm-svn: 58175
2008-10-26 00:19:56 +00:00
Evan Cheng
db1c135283
Handle cases where there aren't uses in the barrier mbb.
...
llvm-svn: 58174
2008-10-25 23:49:39 +00:00