- Apr 28, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 50342
-
Chris Lattner authored
llvm-svn: 50341
-
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
heap thrash on tiny (usually single-element) vectors. llvm-svn: 50335
-
Chris Lattner authored
multiple return values. Bill, please pull this into Tak. llvm-svn: 50332
-
Chris Lattner authored
llvm-svn: 50330
-
Chris Lattner authored
llvm-svn: 50329
-
Chris Lattner authored
llvm-svn: 50328
-
Anton Korobeynikov authored
llvm-svn: 50325
-
Anton Korobeynikov authored
llvm-svn: 50324
-
- Apr 27, 2008
-
-
Chris Lattner authored
llvm-svn: 50316
-
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: 50314
-
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
-
Chris Lattner authored
the default impl. llvm-svn: 50311
-
- Apr 26, 2008
-
-
Chris Lattner authored
appropriate alignment. This fixes a miscompilation of 252.eon on x86-64 (rdar://5891920). Bill, please pull this into Tak. llvm-svn: 50308
-
- Apr 25, 2008
-
-
Dale Johannesen authored
llvm-svn: 50300
-
Evan Cheng authored
llvm-svn: 50292
-
Evan Cheng authored
llvm-svn: 50291
-
Evan Cheng authored
llvm-svn: 50289
-
Dan Gohman authored
to the block that defines their operands. This doesn't work in the case that the operand is an invoke, because invoke is a terminator and must be the last instruction in a block. Replace it with support in SelectionDAGISel for copying struct values into sequences of virtual registers. llvm-svn: 50279
-
Evan Cheng authored
llvm-svn: 50278
-
Nate Begeman authored
function, and then use it to fix a bug in SplitVectorOp that expected inserts to always have constant insertion indices. llvm-svn: 50273
-
Nate Begeman authored
llvm-svn: 50271
-
Chris Lattner authored
llvm-svn: 50267
-
Evan Cheng authored
llvm-svn: 50266
-
Nick Lewycky authored
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123. llvm-svn: 50265
-
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
-
Nate Begeman authored
ConstantExpression GEPs pointing into constant globals. llvm-svn: 50256
-
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
-
Chris Lattner authored
goes back to the block, e.g.: Threading edge through bool from 'bb37.us.thread3829' to 'bb37.us' with cost: 1, across block: bb37.us: ; preds = %bb37.us.thread3829, %bb37.us, %bb33 %D1361.1.us = phi i32 [ %tmp36, %bb33 ], [ %D1361.1.us, %bb37.us ], [ 0, %bb37.us.thread3829 ] ; <i32> [#uses=2] %tmp39.us = icmp eq i32 %D1361.1.us, 0 ; <i1> [#uses=1] br i1 %tmp39.us, label %bb37.us, label %bb42.us llvm-svn: 50251
-
Gordon Henriksen authored
Applying fix by Frits van Bommel. llvm-svn: 50249
-
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
-
-
Evan Cheng authored
llvm-svn: 50222
-
Evan Cheng authored
- Do not iterate over SmallPtrSet, the order of iteration is not deterministic. llvm-svn: 50209
-
Chris Lattner authored
llvm-svn: 50203
-
Chris Lattner authored
sccp tracks getresult values, not call values in this case. llvm-svn: 50202
-