- May 03, 2008
-
-
Devang Patel authored
llvm-svn: 50604
-
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
-
Chris Lattner authored
llvm-svn: 50464
-
- 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
-
Chris Lattner authored
generalizes the previous code to handle the case when the string is not an immediate to the strlen call (for example, crazy stuff like strlen(c ? "foo" : "bart"+1) -> 3). This implements gcc.c-torture/execute/builtins/strlen-2.c. I will generalize other cases in simplifylibcalls to use the same routine later. llvm-svn: 50408
-
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
-
Chris Lattner authored
multiple return values. Bill, please pull this into Tak. llvm-svn: 50332
-
- 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 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
-
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
-
Nate Begeman authored
llvm-svn: 50271
-
Nick Lewycky authored
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123. llvm-svn: 50265
-
Nate Begeman authored
ConstantExpression GEPs pointing into constant globals. llvm-svn: 50256
-
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
-
-
Evan Cheng authored
llvm-svn: 50222
-