- Aug 31, 2005
-
-
Chris Lattner authored
llvm-svn: 23173
-
Jeff Cohen authored
llvm-svn: 23169
-
Nate Begeman authored
llvm-svn: 23166
-
Nate Begeman authored
case in MaskedValueIsZero was wrong. llvm-svn: 23165
-
Nate Begeman authored
MaskedValueIsZero. llvm-svn: 23164
-
Chris Lattner authored
Allow physregs to occur in the dag with multiple types. Though I don't likethis, it is a requirement on PPC, which can have an f32 value in r3 at onepoint in a function and a f64 value in r3 at another point. :( This fixes compilation of mesa llvm-svn: 23161
-
- Aug 30, 2005
-
-
Chris Lattner authored
This fixes PR621 and Regression/CodeGen/X86/2005-08-30-RegAllocAliasProblem.ll llvm-svn: 23158
-
Chris Lattner authored
to SHIFT_PARTS nodes llvm-svn: 23151
-
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
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
-
- Aug 29, 2005
-
-
Chris Lattner authored
llvm-svn: 23131
-
Andrew Lenharth authored
llvm-svn: 23130
-
Chris Lattner authored
llvm-svn: 23129
-
Chris Lattner authored
Olden/bisort among others. llvm-svn: 23124
-
Chris Lattner authored
llvm-svn: 23122
-
- Aug 27, 2005
-
-
Chris Lattner authored
llvm-svn: 23114
-
Chris Lattner authored
llvm-svn: 23113
-
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
-
Chris Lattner authored
llvm-svn: 23108
-
- Aug 26, 2005
-
-
Chris Lattner authored
register class. llvm-svn: 23103
-
Chris Lattner authored
flag is set on an instruction. llvm-svn: 23098
-
Chris Lattner authored
llvm-svn: 23087
-
Chris Lattner authored
putting it into the constant pool. This allows the isel machinery to create constants that it will end up deciding are not needed, without them ending up in the resultant function constant pool. llvm-svn: 23081
-
Chris Lattner authored
every other SD API. Fix it to take the opcode before the types. llvm-svn: 23079
-
Chris Lattner authored
llvm-svn: 23074
-
Chris Lattner authored
llvm-svn: 23071
-
Chris Lattner authored
some things given to it, but not all. llvm-svn: 23070
-
Chris Lattner authored
llvm-svn: 23069
-
- Aug 25, 2005
-
-
Nate Begeman authored
llvm-svn: 23058
-
Chris Lattner authored
llvm-svn: 23055
-
Chris Lattner authored
llvm-svn: 23054
-
Chris Lattner authored
llvm-svn: 23053
-
Chris Lattner authored
llvm-svn: 23050
-
Chris Lattner authored
llvm-svn: 23041
-
Chris Lattner authored
llvm-svn: 23035
-