- Jun 11, 2004
-
-
Chris Lattner authored
twoarg cases. llvm-svn: 14143
-
Chris Lattner authored
llvm-svn: 14142
-
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
doesn't break on machines with limited command line lengths. llvm-svn: 14138
-
Reid Spencer authored
llvm-svn: 14137
-
Chris Lattner authored
llvm-svn: 14136
-
Chris Lattner authored
llvm-svn: 14135
-
Chris Lattner authored
llvm-svn: 14134
-
Chris Lattner authored
isunordered(X, Y) === isnan(X) | isnan(Y) Remove isunordered, add isnan. Modernize testcase llvm-svn: 14133
-
Chris Lattner authored
isunordered(X, Y) === isnan(X) | isnan(Y) Remove isunordered, add isnan. llvm-svn: 14132
-
Chris Lattner authored
llvm-svn: 14131
-
Brian Gaeke authored
llvm-svn: 14130
-
Brian Gaeke authored
llvm-svn: 14129
-
Brian Gaeke authored
them into the constant pool. llvm-svn: 14128
-
Alkis Evlogimenos authored
llvm-svn: 14127
-
Alkis Evlogimenos authored
llvm-svn: 14126
-
Reid Spencer authored
needed for analysis of individual functions. llvm-svn: 14125
-
Reid Spencer authored
a PhiNode or not. Needed by Bytecode Analyzer. llvm-svn: 14124
-
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: 14119
-
Misha Brukman authored
llvm-svn: 14117
-
Reid Spencer authored
llvm-svn: 14115
-
Reid Spencer authored
llvm-svn: 14114
-
Reid Spencer authored
llvm-svn: 14113
-
Brian Gaeke authored
Don't match on $Filename (which will be unset) if we hit 'UNMATCHABLE:'. llvm-svn: 14112
-
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::Instruction:: all of the time. llvm-svn: 14105
-
Chris Lattner authored
llvm-svn: 14104
-
- Jun 09, 2004
-
-
Brian Gaeke authored
llvm-svn: 14103
-
Brian Gaeke authored
llvm-svn: 14102
-