- Aug 30, 2005
-
-
Chris Lattner authored
Remove code (last hunk) that miscompiled immediate and's, such as and uint %tmp.30, 4294958079 into andi. r8, r8, 56319 andis. r8, r8, 65535 instead of: li r9, -9217 and r8, r8, r9 The first always generates zero. This fixes espresso. llvm-svn: 23155
-
Chris Lattner authored
fixes fourinarow llvm-svn: 23153
-
Chris Lattner authored
fixes fhourstones llvm-svn: 23152
-
Chris Lattner authored
to SHIFT_PARTS nodes llvm-svn: 23151
-
Chris Lattner authored
llvm-svn: 23150
-
Chris Lattner authored
at least tends to expose problems elsewhere. llvm-svn: 23149
-
Nate Begeman authored
llvm-svn: 23148
-
Nate Begeman authored
them. This allows for elminination of redundant extends in the entry blocks of functions on PowerPC. Add support for i32 x i32 -> i64 multiplies, by recognizing when the inputs to ISD::MUL in ExpandOp are actually just extended i32 values and not real i64 values. this allows us to codegen int mulhs(int a, int b) { return ((long long)a * b) >> 32; } as: _mulhs: mulhw r3, r4, r3 blr instead of: _mulhs: mulhwu r2, r4, r3 srawi r5, r3, 31 mullw r5, r4, r5 add r2, r2, r5 srawi r4, r4, 31 mullw r3, r4, r3 add r3, r2, r3 blr with a similar improvement on x86. llvm-svn: 23147
-
Chris Lattner authored
llvm-svn: 23145
-
Chris Lattner authored
llvm-svn: 23144
-
Chris Lattner authored
linking them to calls when appropriate, this prevents the scheduler from pulling these copies away from the call. This fixes Ptrdist/yacr2 llvm-svn: 23143
-
Chris Lattner authored
fixes MediaBench/toast with the dag selector llvm-svn: 23141
-
Chris Lattner authored
which I failed to include when I moved the code over. This fixes MallocBench/gs. llvm-svn: 23140
-
Chris Lattner authored
STOREs, know the right type to store. llvm-svn: 23139
-
Chris Lattner authored
no xcode, this is not right: if (!foo) break; X; llvm-svn: 23138
-
Chris Lattner authored
llvm-svn: 23137
-
Chris Lattner authored
llvm-svn: 23136
-
Chris Lattner authored
token chains first. For this C function: int test() { int i; for (i = 0; i < 100000; ++i) foo(); } Instead of emitting this (condition before call) .LBB_test_1: ; no_exit addi r30, r30, 1 lis r2, 1 ori r2, r2, 34464 cmpw cr2, r30, r2 bl L_foo$stub bne cr2, .LBB_test_1 ; no_exit Emit this: .LBB_test_1: ; no_exit bl L_foo$stub addi r30, r30, 1 lis r2, 1 ori r2, r2, 34464 cmpw cr0, r30, r2 bne cr0, .LBB_test_1 ; no_exit Which makes it so we don't have to save/restore cr2 in the prolog/epilog of the function. This also makes the code much more similar to what the pattern isel produces. llvm-svn: 23135
-
Chris Lattner authored
This fixes voronoi and bh in Olden, allowing all of olden to pass! llvm-svn: 23133
-
- Aug 29, 2005
-
-
Chris Lattner authored
llvm-svn: 23131
-
Andrew Lenharth authored
llvm-svn: 23130
-
Chris Lattner authored
llvm-svn: 23129
-
Chris Lattner authored
llvm-svn: 23128
-
Chris Lattner authored
llvm-svn: 23127
-
Chris Lattner authored
llvm-svn: 23126
-
Chris Lattner authored
Olden/msFix order of operands for copytoreg node when emitting calls. This fixes Olden/mstt. llvm-svn: 23125
-
Chris Lattner authored
Olden/bisort among others. llvm-svn: 23124
-
Chris Lattner authored
llvm-svn: 23123
-
Chris Lattner authored
llvm-svn: 23122
-
Chris Lattner authored
llvm-svn: 23121
-
Chris Lattner authored
llvm-svn: 23120
-
- Aug 27, 2005
-
-
Reid Spencer authored
llvm-svn: 23119
-
Reid Spencer authored
them more clearly. llvm-svn: 23118
-
Reid Spencer authored
These changes modify the makefiles so that the output of flex and bison are placed in the SRC directory, not the OBJ directory. It is intended that they be checked in as any other LLVM source so that platforms without convenient access to flex/bison can be compiled. From now on, if you change a .y or .l file you *must* also commit the generated .cpp and .h files. llvm-svn: 23115
-
Chris Lattner authored
llvm-svn: 23114
-
Chris Lattner authored
llvm-svn: 23113
-
Chris Lattner authored
This fixes: UnitTests/2005-07-17-INT-To-FP.c llvm-svn: 23112
-
Chris Lattner authored
llvm-svn: 23111
-
Chris Lattner authored
llvm-svn: 23110
-
Chris Lattner authored
changes the code generated for: short %test(short %A) { %B = xor short %A, -32768 ret short %B } to: _test: xori r2, r3, 32768 xoris r2, r2, 65535 extsh r3, r2 blr instead of: _test: rlwinm r2, r3, 0, 16, 31 xori r2, r3, 32768 xoris r2, r2, 65535 extsh r3, r2 blr llvm-svn: 23109
-