- Sep 01, 2007
-
-
Evan Cheng authored
llvm-svn: 41669
-
Dale Johannesen authored
Implement some constant folding in SelectionDAG and DAGCombiner using APFloat. Remove double versions of constructor and getValue from ConstantFPSDNode. llvm-svn: 41664
-
- Aug 31, 2007
-
-
Evan Cheng authored
llvm-svn: 41650
-
Dale Johannesen authored
llvm-svn: 41645
-
Evan Cheng authored
llvm-svn: 41641
-
Evan Cheng authored
Use std::map instead of a (potentially very sparse) array to track val# defined by copy from the other live range. Minor compile time win when number of val# is large. llvm-svn: 41640
-
Dale Johannesen authored
Use APFloat interfaces for more references, mostly of ConstantFPSDNode. llvm-svn: 41632
-
- Aug 30, 2007
-
-
Evan Cheng authored
llvm-svn: 41598
-
Dale Johannesen authored
Add APFloat interfaces to ConstantFP, SelectionDAG. Fix integer bit in double->APFloat conversion. Convert LegalizeDAG to use APFloat interface in ConstantFPSDNode uses. llvm-svn: 41587
-
Anton Korobeynikov authored
llvm-svn: 41584
-
- Aug 29, 2007
-
-
Evan Cheng authored
Changes related modules so VNInfo's are not copied. This decrease copy coalescing time by 45% and overall compilation time by 10% on siod. llvm-svn: 41579
-
Anton Korobeynikov authored
llvm-svn: 41578
-
- Aug 28, 2007
-
-
Dan Gohman authored
scheduling. llvm-svn: 41556
-
Evan Cheng authored
1. Eliminate the costly live interval "swapping". 2. Change ValueNumberInfo container from SmallVector to std::vector. The former performs slowly when the vector size is very large. llvm-svn: 41536
-
- Aug 27, 2007
-
-
Dan Gohman authored
where both pointers have non-zero offsets. llvm-svn: 41491
-
Dan Gohman authored
to not alias each other, it can be translated as an llvm.memcpy. llvm-svn: 41489
-
Duncan Sands authored
gcc exception handling: if an exception unwinds through an invoke, then execution must branch to the invoke's unwind target. We previously tried to enforce this by appending a cleanup action to every selector, however this does not always work correctly due to an optimization in the C++ unwinding runtime: if only cleanups would be run while unwinding an exception, then the program just terminates without actually executing the cleanups, as invoke semantics would require. I was hoping this wouldn't be a problem, but in fact it turns out to be the cause of all the remaining failures in the LLVM testsuite (these also fail with -enable-correct-eh-support, so turning on -enable-eh didn't make things worse!). Instead we need to append a full-blown catch-all to the end of each selector. The correct way of doing this depends on the personality function, i.e. it is language dependent, so can only be done by gcc. Thus this patch which generalizes the eh.selector intrinsic so that it can handle all possible kinds of action table entries (before it didn't accomodate cleanups): now 0 indicates a cleanup, and filters have to be specified using the number of type infos plus one rather than the number of type infos. Related gcc patches will cause Ada to pass a cleanup (0) to force the selector to always fire, while C++ will use a C++ catch-all (null). llvm-svn: 41484
-
Dan Gohman authored
llvm-svn: 41482
-
- Aug 26, 2007
-
-
Dale Johannesen authored
llvm-svn: 41409
-
Dale Johannesen authored
over uses in DAGCombiner. Fix interfaces to work with APFloats. llvm-svn: 41407
-
- Aug 25, 2007
-
-
Chris Lattner authored
know how to handle them. This fixes test/CodeGen/Generic/asm-large-immediate.ll llvm-svn: 41388
-
Chris Lattner authored
llvm-svn: 41386
-
Bill Wendling authored
.set Lset0,___gxx_personality_v0-. .long Lset0 on some targets. Make it so! llvm-svn: 41385
-
Chris Lattner authored
changing the interface to allow for future changes. llvm-svn: 41384
-
Dale Johannesen authored
This means backing out the preceding change to Constants.cpp, alas. llvm-svn: 41378
-
- Aug 24, 2007
-
-
Dale Johannesen authored
llvm-svn: 41372
-
- Aug 23, 2007
-
-
Anton Korobeynikov authored
llvm-svn: 41316
-
- Aug 22, 2007
-
-
Andrew Lenharth authored
llvm-svn: 41286
-
- Aug 20, 2007
-
-
Dan Gohman authored
scheduler implementations. llvm-svn: 41191
-
Rafael Espindola authored
*) The needed information is propagated to the DAG *) The X86-64 backend detects it and aborts llvm-svn: 41179
-
- Aug 18, 2007
-
-
Evan Cheng authored
llvm-svn: 41163
-
- Aug 17, 2007
-
-
Evan Cheng authored
llvm-svn: 41143
-
David Greene authored
Fix GLIBCXX_DEBUG error of comparing two singular iterators llvm-svn: 41139
-
Evan Cheng authored
If dynamic_stackalloc alignment is > stack alignment, first issue an instruction to align the stack ptr before the decrement. llvm-svn: 41133
-
Evan Cheng authored
- If a dynamic_stackalloc alignment requirement is <= stack alignment, then the alignment argument is ignored. - *Always* round up the size of the allocation to multiples of stack alignment to ensure the stack ptr is never left in an invalid state after a dynamic_stackalloc. llvm-svn: 41132
-
- Aug 16, 2007
-
-
Evan Cheng authored
Fix some kill info update bugs; add hidden option -disable-rematerialization to turn off remat for debugging. llvm-svn: 41118
-
Lauro Ramos Venancio authored
Fix PR1287. llvm-svn: 41112
-
- Aug 15, 2007
-
-
Evan Cheng authored
If the source of a move is in spill slot, the reload may be folded to essentially a load from stack slot. It's ok to mark the stack slot value as available for reuse. But it should not be clobbered since the destination of the move is live. llvm-svn: 41109
-
Evan Cheng authored
- If the defs of a spilled rematerializable MI are dead after the spill store is deleted, delete the def MI as well. llvm-svn: 41086
-
Evan Cheng authored
Fix for PR1596: AdjustCopiesBackFrom() should conservatively check if any of its sub-registers may overlap with the interval of the copy that's being coalesced. llvm-svn: 41084
-