- May 03, 2008
-
-
Torok Edwin authored
llvm-svn: 50607
-
Ted Kremenek authored
llvm-svn: 50603
-
Evan Cheng authored
Add separate intrinsics for MMX / SSE shifts with i32 integer operands. This allow us to simplify the horribly complicated matching code. llvm-svn: 50601
-
- May 02, 2008
-
-
Evan Cheng authored
llvm-svn: 50590
-
- May 01, 2008
-
-
Ted Kremenek authored
llvm-svn: 50527
-
Chris Lattner authored
a FunctionPass. This makes it simpler, fixes dozens of bugs, adds a couple of minor features, and shrinks is considerably: from 2214 to 1437 lines. llvm-svn: 50520
-
Chris Lattner authored
llvm-svn: 50515
-
Chris Lattner authored
a function call that takes two Value*'s as arguments. llvm-svn: 50514
-
- Apr 30, 2008
-
-
Arnold Schwaighofer authored
Move platform independent code (lowering of possibly overwritten arguments, check for tail call optimization eligibility) from target X86ISelectionLowering.cpp to TargetLowering.h and SelectionDAGISel.cpp. Initial PowerPC tail call implementation: Support ppc32 implemented and tested (passes my tests and test-suite llvm-test). Support ppc64 implemented and half tested (passes my tests). On ppc tail call optimization is performed if caller and callee are fastcc call is a tail call (in tail call position, call followed by ret) no variable argument lists or byval arguments option -tailcallopt is enabled Supported: * non pic tail calls on linux/darwin * module-local tail calls on linux(PIC/GOT)/darwin(PIC) * inter-module tail calls on darwin(PIC) If constraints are not met a normal call will be emitted. A test checking the argument lowering behaviour on x86-64 was added. llvm-svn: 50477
-
Chris Lattner authored
llvm-svn: 50468
-
Chris Lattner authored
llvm-svn: 50465
-
- Apr 29, 2008
-
-
Owen Anderson authored
llvm-svn: 50437
-
Roman Levenstein authored
This removes the existing bottleneck related to the removal of elements from the middle of the queue. Also fixes a subtle bug in ScheduleDAGRRList::CapturePred: It was updating the state of the SUnit before removing it. As a result, the comparison operators were working incorrectly and this SUnit could not be removed from the queue properly. Reviewed by Evan and Dan. Approved by Dan. llvm-svn: 50412
-
Owen Anderson authored
the trip count. llvm-svn: 50382
-
- Apr 28, 2008
-
-
Anton Korobeynikov authored
Patch by Anders Johnsen! llvm-svn: 50375
-
Dale Johannesen authored
llvm-svn: 50369
-
Ted Kremenek authored
llvm-svn: 50363
-
Gordon Henriksen authored
Patch by Anders Johnsen! llvm-svn: 50360
-
Dan Gohman authored
memcpy/memset expansion. It was a bug for the SVOffset value to be used in the actual address calculations. llvm-svn: 50359
-
Mikhail Glushenkov authored
llvm-svn: 50355
-
Chris Lattner authored
conversion open the door for many nasty implicit conversion issues, and can be easily solved by initializing with (V.begin(), V.end()) when needed. This patch includes many small cleanups for sdisel also. llvm-svn: 50340
-
Chris Lattner authored
errors I introduced in my last patch. llvm-svn: 50338
-
Chris Lattner authored
the initialization vector to have the same fixed size, just the same element type. llvm-svn: 50334
-
- Apr 27, 2008
-
-
Chris Lattner authored
When choosing between constraints with multiple options, like "ir", test to see if we can use the 'i' constraint and go with that if possible. This produces more optimal ASM in all cases (sparing a register and an instruction to load it), and fixes inline asm like this: void test () { asm volatile (" %c0 %1 " : : "imr" (42), "imr"(14)); } Previously we would dump "42" into a memory location (which is ok for the 'm' constraint) which would cause a problem because the 'c' modifier is not valid on memory operands. Isn't it great how inline asm turns 'missed optimization' into 'compile failed'?? Incidentally, this was the todo in PowerPC/2007-04-24-InlineAsm-I-Modifier.ll Please do NOT pull this into Tak. llvm-svn: 50315
-
Chris Lattner authored
llvm-svn: 50313
-
Chris Lattner authored
- Make targetlowering.h fit in 80 cols. - Make LowerAsmOperandForConstraint const. - Make lowerXConstraint -> LowerXConstraint - Make LowerXConstraint return a const char* instead of taking a string byref. llvm-svn: 50312
-
- Apr 25, 2008
-
-
Nick Lewycky authored
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123. llvm-svn: 50265
-
Gordon Henriksen authored
Applying fix by Frits van Bommel. llvm-svn: 50250
-
Ted Kremenek authored
llvm-svn: 50236
-
Ted Kremenek authored
llvm-svn: 50235
-
- Apr 24, 2008
-
-
Evan Cheng authored
- Do not iterate over SmallPtrSet, the order of iteration is not deterministic. llvm-svn: 50209
-
- Apr 23, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 50165
-
Anton Korobeynikov authored
llvm-svn: 50157
-
Dan Gohman authored
llvm-svn: 50151
-
Chris Lattner authored
llvm-svn: 50137
-
- Apr 22, 2008
-
-
Nick Lewycky authored
llvm-svn: 50088
-
Nick Lewycky authored
llvm-svn: 50087
-
- Apr 21, 2008
-
-
Chris Lattner authored
as a global helper function. At the same type, switch it from taking a vector of predecessors to an arbitrary sequential input. This allows us to switch LoopSimplify to use a SmallVector for various temporary vectors that it passed into SplitBlockPredecessors. llvm-svn: 50020
-
Chris Lattner authored
whether it is used outside of some block. This can be used to see if there are any non-local references, for example. llvm-svn: 50004
-
- Apr 20, 2008
-
-
Chris Lattner authored
such as those in PR2235. Right now the pass is not very effective. :) llvm-svn: 50000
-