[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp

Nate Begeman natebegeman at mac.com
Tue Aug 23 22:03:31 PDT 2005



Changes in directory llvm/lib/Target/PowerPC:

PPC32ISelDAGToDAG.cpp updated: 1.21 -> 1.22
---
Log message:

Remove unused statistic
Prefer 'neg X' to 'subfic 0, X' since neg does not set XER[CA]


---
Diffs of the changes:  (+5 -3)

 PPC32ISelDAGToDAG.cpp |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp
diff -u llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp:1.21 llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp:1.22
--- llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp:1.21	Tue Aug 23 19:47:15 2005
+++ llvm/lib/Target/PowerPC/PPC32ISelDAGToDAG.cpp	Wed Aug 24 00:03:20 2005
@@ -28,7 +28,6 @@
 using namespace llvm;
 
 namespace {
-  Statistic<> Recorded("ppc-codegen", "Number of recording ops emitted");
   Statistic<> FusedFP ("ppc-codegen", "Number of fused fp operations");
   Statistic<> FrameOff("ppc-codegen", "Number of frame idx offsets collapsed");
     
@@ -599,8 +598,11 @@
     if (Ty == MVT::i32) {
       unsigned Imm;
       if (isIntImmediate(N->getOperand(0), Imm) && isInt16(Imm)) {
-        CurDAG->SelectNodeTo(N, Ty, PPC::SUBFIC, Select(N->getOperand(1)),
-                             getI32Imm(Lo16(Imm)));
+        if (0 == Imm)
+          CurDAG->SelectNodeTo(N, Ty, PPC::NEG, Select(N->getOperand(1)));
+        else
+          CurDAG->SelectNodeTo(N, Ty, PPC::SUBFIC, Select(N->getOperand(1)),
+                               getI32Imm(Lo16(Imm)));
         break;
       }
       if (SDNode *I = SelectIntImmediateExpr(N->getOperand(0), N->getOperand(1),






More information about the llvm-commits mailing list