- May 06, 2008
-
-
Devang Patel authored
llvm-svn: 50713
-
Chris Lattner authored
llvm-svn: 50699
-
Dan Gohman authored
llvm-svn: 50696
-
Dan Gohman authored
ComputeMaskedBits. llvm-svn: 50692
-
- May 05, 2008
-
-
Bill Wendling authored
themselves weren't in the anonymous namespace. llvm-svn: 50673
-
Chris Lattner authored
DemoteRegToStack doesn't work with MRVs yet, because it relies on the ability to load/store things. This fixes PR2285. llvm-svn: 50667
-
- May 04, 2008
-
-
Torok Edwin authored
using dyn_cast<> on already freed memory. llvm-svn: 50618
-
- May 03, 2008
-
-
Devang Patel authored
llvm-svn: 50600
-
- May 02, 2008
-
-
Dan Gohman authored
llvm-svn: 50591
-
-
Chris Lattner authored
llvm-svn: 50582
-
Bill Wendling authored
llvm-svn: 50564
-
Dale Johannesen authored
from x86-64 calling convention work. llvm-svn: 50545
-
- May 01, 2008
-
-
Dan Gohman authored
fixes the 254.gap regression on x86 and the 403.gcc regression on x86-64. llvm-svn: 50537
-
Chris Lattner authored
2) Return NULL instead of false in several places for tidiness. 3) fix a bug optimizing sprintf(p, "%c", x) llvm-svn: 50521
-
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
-
- Apr 30, 2008
-
-
Owen Anderson authored
llvm-svn: 50473
-
Chris Lattner authored
to instcombine. llvm-svn: 50472
-
- Apr 29, 2008
-
-
Owen Anderson authored
Revert r50441. The original code was correct. Add some more comments so that I don't make the same mistake in the future. llvm-svn: 50446
-
Owen Anderson authored
we were checking for it in the wrong order. This caused a miscompilation because the return slot optimization assumes that the call it is dealing with is NOT a memcpy. llvm-svn: 50444
-
Owen Anderson authored
llvm-svn: 50442
-
Owen Anderson authored
of this was suggested by Chris. llvm-svn: 50441
-
Owen Anderson authored
llvm-svn: 50437
-
Owen Anderson authored
llvm-svn: 50436
-
Chris Lattner authored
This fixes the second half of PR2262 llvm-svn: 50430
-
Chris Lattner authored
llvm-svn: 50428
-
Owen Anderson authored
llvm-svn: 50406
-
Chris Lattner authored
llvm-svn: 50390
-
Owen Anderson authored
llvm-svn: 50384
-
Owen Anderson authored
llvm-svn: 50383
-
Owen Anderson authored
the trip count. llvm-svn: 50382
-
- Apr 28, 2008
-
-
Dan Gohman authored
llvm-svn: 50370
-
Dan Gohman authored
ComputeMaskedBits knows about cttz, ctlz, and ctpop. Teach SelectionDAG's ComputeMaskedBits what InstCombine's knows about SRem. And teach them both some things about high bits in Mul, UDiv, URem, and Sub. This allows instcombine and dagcombine to eliminate sign-extension operations in several new cases. llvm-svn: 50358
-
- 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
-
- Apr 25, 2008
-
-
Dale Johannesen authored
llvm-svn: 50300
-
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
-
Nick Lewycky authored
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123. llvm-svn: 50265
-
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
-
- Apr 24, 2008
-
-
Chris Lattner authored
llvm-svn: 50203
-