- Aug 30, 2005
-
-
Chris Lattner authored
llvm-svn: 23157
-
Chris Lattner authored
one. TODO :) llvm-svn: 23156
-
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
-
Nate Begeman authored
registers, and the incoming values have already been zero or sign extended from the appopriate type to the register width. llvm-svn: 23146
-
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
llvm-svn: 23142
-
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
llvm-svn: 23134
-
Chris Lattner authored
This fixes voronoi and bh in Olden, allowing all of olden to pass! llvm-svn: 23133
-
Chris Lattner authored
llvm-svn: 23132
-
- 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
llvm-svn: 23117
-