- May 04, 2008
-
-
Evan Cheng authored
Select vector shift with non-immediate i32 shift amount operand by first moving the operand into the right register. llvm-svn: 50619
-
- May 03, 2008
-
-
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: 50578
-
Evan Cheng authored
llvm-svn: 50575
-
Evan Cheng authored
Not safe folding a load + FsXORPSrr into FsXORPSrm. It's loading a FR64 value but the load folding variant expects a 16-byte aligned address. llvm-svn: 50574
-
- 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
-
Scott Michel authored
fixes are target-specific lowering of frame indices, fix constants generated for the FSMBI instruction, and fixing SPUTargetLowering::computeMaskedBitsFor- TargetNode(). llvm-svn: 50462
-
- Apr 29, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 50433
-
- Apr 28, 2008
-
-
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
-
Anton Korobeynikov authored
llvm-svn: 50342
-
Anton Korobeynikov authored
llvm-svn: 50325
-
Anton Korobeynikov authored
llvm-svn: 50324
-
- Apr 27, 2008
-
-
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
-
Chris Lattner authored
the default impl. llvm-svn: 50311
-
- Apr 25, 2008
-
-
Evan Cheng authored
llvm-svn: 50292
-
Evan Cheng authored
llvm-svn: 50291
-
Evan Cheng authored
llvm-svn: 50289
-
Evan Cheng authored
llvm-svn: 50278
-
Chris Lattner authored
llvm-svn: 50267
-
Evan Cheng authored
llvm-svn: 50266
-
Evan Cheng authored
llvm-svn: 50260
-
Evan Cheng authored
- Add comments. llvm-svn: 50259
-
Evan Cheng authored
On Darwin / Linux x86-32, v8i8, v4i16, v2i32 values are passed in MM[0-2]. On Darwin / Linux x86-32, v1i64 values are passed in memory. On Darwin x86-64, v8i8, v4i16, v2i32 values are passed in XMM[0-7]. On Darwin x86-64, v1i64 values are passed in 64-bit GPRs. llvm-svn: 50257
-
Chris Lattner authored
idea what this code (findNonImmUse) does, so I'm only guessing that this is the right thing. It would be really really nice if this had comments and perhaps switched to SmallPtrSet (hint hint) :) This fixes rdar://5886601, a crash on gcc.target/i386/sse4_1-pblendw.c llvm-svn: 50252
-
Evan Cheng authored
Fix bug in x86 memcpy / memset lowering. If there are trailing bytes not handled by rep instructions, a new memcpy / memset is introduced for them. However, since source / destination addresses are already adjusted, their offsets should be zero. llvm-svn: 50239
-
- Apr 24, 2008
-
-
Dan Gohman authored
llvm-svn: 50196
-
Anton Korobeynikov authored
llvm-svn: 50192
-
Anton Korobeynikov authored
llvm-svn: 50190
-
Anton Korobeynikov authored
llvm-svn: 50189
-
- Apr 23, 2008
-
-
Dan Gohman authored
llvm-svn: 50187
-
Anton Korobeynikov authored
llvm-svn: 50169
-
Anton Korobeynikov authored
llvm-svn: 50168
-
Anton Korobeynikov authored
Be over-conservative: scan for all used virtual registers and calculate maximal stack alignment in assumption, that there will be spill of vector register. llvm-svn: 50167
-
Anton Korobeynikov authored
llvm-svn: 50166
-
Anton Korobeynikov authored
llvm-svn: 50163
-
Anton Korobeynikov authored
llvm-svn: 50162
-
Anton Korobeynikov authored
Eastimate required stack alignment early, so we can decide, whether we will need frame pointer or not llvm-svn: 50161
-
Anton Korobeynikov authored
llvm-svn: 50159
-
Anton Korobeynikov authored
llvm-svn: 50158
-
Anton Korobeynikov authored
llvm-svn: 50157
-