- Apr 20, 2005
-
-
Misha Brukman authored
llvm-svn: 21368
-
Misha Brukman authored
* Add option `-save-temps' Patch contributed by Markus Oberhumer. llvm-svn: 21367
-
- 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: 21362
-
Chris Lattner authored
llvm-svn: 21361
-
Chris Lattner authored
llvm-svn: 21360
-
Chris Lattner authored
llvm-svn: 21355
-
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
-
Chris Lattner authored
finished up, only resolve fully when the def is defined. This allows things to be changed and all uses to be propagated through. This implements TableGen/LazyChange.td and fixes TemplateArgRename.td in the process. None of the .td files used in LLVM backends are changed at all by this patch. llvm-svn: 21344
-
Chris Lattner authored
llvm-svn: 21343
-
Chris Lattner authored
llvm-svn: 21342
-
Chris Lattner authored
llvm-svn: 21341
-
Chris Lattner authored
llvm-svn: 21340
-
Chris Lattner authored
llvm-svn: 21339
-
Chris Lattner authored
llvm-svn: 21338
-
Chris Lattner authored
llvm-svn: 21337
-
Chris Lattner authored
llvm-svn: 21336
-
Chris Lattner authored
will lead to it being rejected though. llvm-svn: 21335
-
- 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
llvm-svn: 21311
-
Jeff Cohen authored
llvm-svn: 21310
-
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
-