- Dec 29, 2007
-
-
Chris Lattner authored
have potential side-effects. llvm-svn: 45392
-
- Dec 28, 2007
-
-
Chris Lattner authored
llvm-svn: 45388
-
Chris Lattner authored
llvm-svn: 45387
-
Owen Anderson authored
Repair a transform that Chris noticed a bug in. Thanks to Nicholas for pointing out my stupid mistakes when writing this patch. :-) llvm-svn: 45384
-
Chris Lattner authored
define i32 @main() { entry: %z = alloca i32 ; <i32*> [#uses=2] store i32 0, i32* %z %tmp = load i32* %z ; <i32> [#uses=1] %sub = sub i32 %tmp, 1 ; <i32> [#uses=1] %cmp = icmp ult i32 %sub, 0 ; <i1> [#uses=1] %retval = select i1 %cmp, i32 1, i32 0 ; <i32> [#uses=1] ret i32 %retval } into ret 1, instead of ret 0. Christopher, please investigate. llvm-svn: 45383
-
Chris Lattner authored
llvm-svn: 45377
-
Anton Korobeynikov authored
behaviour of LinkGlobals() function. llvm-svn: 45375
-
- Dec 27, 2007
-
-
Gordon Henriksen authored
llvm-svn: 45369
-
Gordon Henriksen authored
llvm-svn: 45367
-
- Dec 25, 2007
-
-
Gordon Henriksen authored
when copying functions. llvm-svn: 45356
-
Chris Lattner authored
it is only a partial fix. This change is noise for most programs, but speeds up Shootout-C++/matrix by 20%, Ptrdist/ks by 24%, smg2000 by 8%, hexxagon by 9%, bzip2 by 9% (not sure I trust this), ackerman by 13%, etc. OTOH, it slows down Shootout/fib2 by 40% (I'll update PR1877 with this info). llvm-svn: 45354
-
Gordon Henriksen authored
define void @f() { ... call i32 @g() ... } define void @g() { ... } The hazards are: - @f and @g have GC, but they differ GC. Inlining is invalid. This may never occur. - @f has no GC, but @g does. g's GC must be propagated to @f. The other scenarios are safe: - @f and @g have the same GC. - @f and @g have no GC. - @g has no GC. This patch adds inliner checks for the former two scenarios. llvm-svn: 45351
-
Gordon Henriksen authored
function with GC. This will catch the error when the inliner inlines a function with GC into a caller with no GC. llvm-svn: 45350
-
Gordon Henriksen authored
LangRef. llvm-svn: 45349
-
- Dec 24, 2007
-
-
Owen Anderson authored
llvm-svn: 45347
-
Chris Lattner authored
When specified, don't split backedges of single-bb loops. This helps address PR1877 llvm-svn: 45344
-
Chris Lattner authored
llvm-svn: 45343
-
Anton Korobeynikov authored
llvm-svn: 45342
-
- Dec 23, 2007
-
-
Gordon Henriksen authored
providing a misleading facility. It's used once in the MIPS backend and hardcoded as "\t.globl\t" everywhere else. llvm-svn: 45338
-
Gordon Henriksen authored
llvm-svn: 45335
-
Owen Anderson authored
llvm-svn: 45334
-
- Dec 22, 2007
-
-
Chris Lattner authored
llvm-svn: 45325
-
Chris Lattner authored
llvm-svn: 45324
-
Chris Lattner authored
legalizer support goes in. llvm-svn: 45323
-
Chris Lattner authored
llvm-svn: 45322
-
Chris Lattner authored
or after legalize. llvm-svn: 45321
-
Chris Lattner authored
targets. llvm-svn: 45320
-
Anton Korobeynikov authored
llvm-svn: 45319
-
Anton Korobeynikov authored
llvm-svn: 45318
-
Gordon Henriksen authored
fixes a bug with indirect calls. (Test case will be included with ocaml collector patch.) llvm-svn: 45316
-
Anton Korobeynikov authored
llvm-svn: 45314
-
Evan Cheng authored
llvm-svn: 45313
-
Evan Cheng authored
llvm-svn: 45312
-
Chris Lattner authored
us to compile: #include <math.h> int t1(double d) { return signbit(d); } into: _t1: movd %xmm0, %rax shrq $63, %rax ret instead of: _t1: movd %xmm0, %rax shrq $32, %rax shrl $31, %eax ret on x86-64. llvm-svn: 45311
-
Owen Anderson authored
llvm-svn: 45310
-
Owen Anderson authored
Remove critical edge breaking. It won't be necessary as long as we are very careful when inserting copies. llvm-svn: 45309
-
Evan Cheng authored
llvm-svn: 45307
-
Devang Patel authored
not merge current bb and succ even if bb's terminator is unconditional branch to succ. llvm-svn: 45305
-
Evan Cheng authored
llvm-svn: 45304
-
Anton Korobeynikov authored
llvm-svn: 45300
-