- Apr 20, 2005
-
-
Misha Brukman authored
result in returning executable files that won't be runnable. llvm-svn: 21378
-
Misha Brukman authored
Patch by Markus Oberhumer. llvm-svn: 21377
-
Misha Brukman authored
Thanks to Markus Oberhumer for the patch! llvm-svn: 21370
-
Misha Brukman authored
Patch by Markus Oberhumer. Thanks! llvm-svn: 21369
-
Misha Brukman authored
llvm-svn: 21368
-
- Apr 19, 2005
-
-
Chris Lattner authored
Make IPSCCP strip off dead constant exprs that are using functions, making them appear as though their address is taken. This allows us to propagate some more pool descriptors, lowering the overhead of pool alloc. llvm-svn: 21363
-
Chris Lattner authored
llvm-svn: 21360
-
Chris Lattner authored
llvm-svn: 21354
-
Chris Lattner authored
llvm-svn: 21353
-
Chris Lattner authored
llvm-svn: 21352
-
Chris Lattner authored
llvm-svn: 21351
-
Chris Lattner authored
them away. llvm-svn: 21350
-
Chris Lattner authored
llvm-svn: 21349
-
Chris Lattner authored
llvm-svn: 21348
-
Chris Lattner authored
llvm-svn: 21347
-
Chris Lattner authored
llvm-svn: 21346
-
Chris Lattner authored
bits that must be passed up the inheritance hierarchy. Convert MForm and AForm instructions over llvm-svn: 21345
-
- Apr 18, 2005
-
-
Nate Begeman authored
int %bar(float %a, float %b, float %c, float %d) { entry: %tmp.1 = setlt float %a, %d %tmp.2 = setlt float %b, %d %or = or bool %tmp.1, %tmp.2 %tmp.3 = setgt float %c, %d %tmp.4 = or bool %or, %tmp.3 %tmp.5 = and bool %tmp.4, true %retval = cast bool %tmp.5 to int ret int %retval } We now emit: _bar: .LBB_bar_0: ; entry fcmpu cr0, f1, f4 fcmpu cr1, f2, f4 cror 0, 0, 4 fcmpu cr1, f3, f4 cror 28, 0, 5 mfcr r2 rlwinm r3, r2, 29, 31, 31 blr Instead of: _bar: .LBB_bar_0: ; entry fcmpu cr7, f1, f4 mfcr r2 rlwinm r2, r2, 29, 31, 31 fcmpu cr7, f2, f4 mfcr r3 rlwinm r3, r3, 29, 31, 31 or r2, r2, r3 fcmpu cr7, f3, f4 mfcr r3 rlwinm r3, r3, 30, 31, 31 or r3, r2, r3 blr llvm-svn: 21321
-
Chris Lattner authored
llvm-svn: 21320
-
Chris Lattner authored
llvm-svn: 21319
-
Chris Lattner authored
llvm-svn: 21318
-
Chris Lattner authored
llvm-svn: 21317
-
Chris Lattner authored
// (X != 0) | (Y != 0) -> (X|Y != 0) // (X == 0) & (Y == 0) -> (X|Y == 0) Compiling this: int %bar(int %a, int %b) { entry: %tmp.1 = setne int %a, 0 %tmp.2 = setne int %b, 0 %tmp.3 = or bool %tmp.1, %tmp.2 %retval = cast bool %tmp.3 to int ret int %retval } to this: _bar: or r2, r3, r4 addic r3, r2, -1 subfe r3, r3, r2 blr instead of: _bar: addic r2, r3, -1 subfe r2, r2, r3 addic r3, r4, -1 subfe r3, r3, r4 or r3, r2, r3 blr llvm-svn: 21316
-
Chris Lattner authored
eliminating an and for Nate's testcase: int %bar(int %a, int %b) { entry: %tmp.1 = setne int %a, 0 %tmp.2 = setne int %b, 0 %tmp.3 = or bool %tmp.1, %tmp.2 %retval = cast bool %tmp.3 to int ret int %retval } generating: _bar: addic r2, r3, -1 subfe r2, r2, r3 addic r3, r4, -1 subfe r3, r3, r4 or r3, r2, r3 blr instead of: _bar: addic r2, r3, -1 subfe r2, r2, r3 addic r3, r4, -1 subfe r3, r3, r4 or r2, r2, r3 rlwinm r3, r2, 0, 31, 31 blr llvm-svn: 21315
-
Nate Begeman authored
register. Added support in the .td file for the g5-specific variant of cr -> gpr moves that executes faster, but we currently don't generate it. llvm-svn: 21314
-
Chris Lattner authored
llvm-svn: 21313
-
Chris Lattner authored
llvm-svn: 21312
-
- Apr 16, 2005
-
-
Nate Begeman authored
Add new ppc beta option related to using condition registers Make pattern isel control flag (-enable-pattern-isel) global and tristate 0 == off 1 == on 2 == target default llvm-svn: 21309
-
- Apr 15, 2005
-
-
Chris Lattner authored
This pass forward branches through conditions when it can show that the conditions is either always true or false for a predecessor. This currently only handles the most simple cases of this, but is successful at threading across 2489 branches and 65 switch instructions in 176.gcc, which isn't bad. llvm-svn: 21306
-
- Apr 14, 2005
-
-
Andrew Lenharth authored
llvm-svn: 21303
-
Andrew Lenharth authored
a 21264 fix, and fix the operator precidence on an and -> zap check (should fix hundreds of test cases llvm-svn: 21302
-
Duraid Madina authored
easier on the eyes, not that numbers like 18446744073709541376 are bad or anything llvm-svn: 21300
-
Duraid Madina authored
llvm-svn: 21299
-
Nate Begeman authored
This can generate considerably shorter code, reducing the size of crafty by almost 1%. Also fix the printing of mcrf. The code is currently disabled until it gets a bit more testing, but should work as-is. llvm-svn: 21298
-
Nate Begeman authored
in the PPC Pattern ISel llvm-svn: 21297
-
Duraid Madina authored
llvm-svn: 21296
-
Nate Begeman authored
register allocated condition registers. Make sure that the printed output is gas compatible. llvm-svn: 21295
-
Nate Begeman authored
now gone. Next step is to get rid of the remaining ones and then start allocating bools to CRs where appropriate. llvm-svn: 21294
-
Nate Begeman authored
where it is safe to do so. llvm-svn: 21293
-
- Apr 13, 2005
-
-
Nate Begeman authored
Move the transform for select (a < 0) ? b : 0 into the dag from ppc isel Enable the dag to fold and (setcc, 1) -> setcc for targets where setcc always produces zero or one. llvm-svn: 21291
-