- Jun 11, 2004
-
-
Chris Lattner authored
twoarg cases. llvm-svn: 14143
-
Chris Lattner authored
testcase llvm-svn: 14141
-
Chris Lattner authored
llvm-svn: 14140
-
Chris Lattner authored
This makes the code much simpler, and the two cases really do belong apart. Once we do it, it's pretty obvious how flawed the logic was for A != A case, so I fixed it (fixing PR369). This also uses freeStackSlotAfter instead of inserting an fxchg then popStackAfter'ing in the case where there is a dead result (unlikely, but possible), producing better code. llvm-svn: 14139
-
Reid Spencer authored
llvm-svn: 14137
-
Chris Lattner authored
llvm-svn: 14134
-
Chris Lattner authored
isunordered(X, Y) === isnan(X) | isnan(Y) Remove isunordered, add isnan. llvm-svn: 14132
-
Brian Gaeke authored
them into the constant pool. llvm-svn: 14128
-
Alkis Evlogimenos authored
llvm-svn: 14127
-
Reid Spencer authored
llvm-svn: 14123
-
Reid Spencer authored
llvm-svn: 14122
-
Reid Spencer authored
llvm-svn: 14121
-
- Jun 10, 2004
-
-
Reid Spencer authored
llvm-svn: 14120
-
Reid Spencer authored
llvm-svn: 14115
-
Reid Spencer authored
llvm-svn: 14113
-
Chris Lattner authored
targets whose stack grows up. Patch contributed by Vladimir Prus llvm-svn: 14111
-
Chris Lattner authored
llvm-svn: 14110
-
Chris Lattner authored
186.crafty, fhourstones and 132.ijpeg. Bugpoint makes really nasty miscompilations embarassingly easy to find. It narrowed it down to the instcombiner and this testcase (from fhourstones): bool %l7153_l4706_htstat_loopentry_2E_4_no_exit_2E_4(int* %i, [32 x int]* %works, int* %tmp.98.out) { newFuncRoot: %tmp.96 = load int* %i ; <int> [#uses=1] %tmp.97 = getelementptr [32 x int]* %works, long 0, int %tmp.96 ; <int*> [#uses=1] %tmp.98 = load int* %tmp.97 ; <int> [#uses=2] %tmp.99 = load int* %i ; <int> [#uses=1] %tmp.100 = and int %tmp.99, 7 ; <int> [#uses=1] %tmp.101 = seteq int %tmp.100, 7 ; <bool> [#uses=2] %tmp.102 = cast bool %tmp.101 to int ; <int> [#uses=0] br bool %tmp.101, label %codeRepl4.exitStub, label %codeRepl3.exitStub codeRepl4.exitStub: ; preds = %newFuncRoot store int %tmp.98, int* %tmp.98.out ret bool true codeRepl3.exitStub: ; preds = %newFuncRoot store int %tmp.98, int* %tmp.98.out ret bool false } ... which only has one combination performed on it: $ llvm-as < t.ll | opt -instcombine -debug | llvm-dis IC: Old = %tmp.101 = seteq int %tmp.100, 7 ; <bool> [#uses=1] New = setne int %tmp.100, 0 ; <bool>:<badref> [#uses=0] IC: MOD = br bool %tmp.101, label %codeRepl3.exitStub, label %codeRepl4.exitStub IC: MOD = %tmp.97 = getelementptr [32 x int]* %works, uint 0, int %tmp.96 ; <int*> [#uses=1] It doesn't get much better than this. :) llvm-svn: 14109
-
Chris Lattner authored
llvm-svn: 14108
-
Chris Lattner authored
llvm-svn: 14107
-
Chris Lattner authored
llvm-svn: 14106
-
Chris Lattner authored
llvm-svn: 14104
-
- Jun 09, 2004
-
-
Brian Gaeke authored
llvm-svn: 14103
-
Brian Gaeke authored
llvm-svn: 14102
-
Brian Gaeke authored
llvm-svn: 14101
-
Chris Lattner authored
on new front-ends and stuff). Also get rid of some tabs that snuck in. llvm-svn: 14100
-
Reid Spencer authored
such a way that if the Value being printed is standalone that we don't assert and abort but just print ":??" for the slot number instead. llvm-svn: 14097
-
John Criswell authored
that cast to bool. llvm-svn: 14096
-
Chris Lattner authored
llvm-svn: 14095
-
Reid Spencer authored
llvm-svn: 14093
-
Reid Spencer authored
llvm-svn: 14091
-
Reid Spencer authored
llvm-svn: 14090
-
Reid Spencer authored
Don't dump functions unless "detailedResults" is requested. llvm-svn: 14089
-
Reid Spencer authored
llvm-svn: 14088
-
Reid Spencer authored
llvm-svn: 14087
-
Chris Lattner authored
collapse this: bool %le(int %A, int %B) { %c1 = setgt int %A, %B %tmp = select bool %c1, int 1, int 0 %c2 = setlt int %A, %B %result = select bool %c2, int -1, int %tmp %c3 = setle int %result, 0 ret bool %c3 } into: bool %le(int %A, int %B) { %c3 = setle int %A, %B ; <bool> [#uses=1] ret bool %c3 } which is handy, because the Java FE makes these sequences all over the place. This is tested as: test/Regression/Transforms/InstCombine/JavaCompare.ll llvm-svn: 14086
-
Reid Spencer authored
in doxygen. llvm-svn: 14084
-
Chris Lattner authored
llvm-svn: 14083
-
Chris Lattner authored
llvm-svn: 14078
-
- Jun 08, 2004
-
-
Chris Lattner authored
This fixes PR363 llvm-svn: 14076
-