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

Nate Begeman natebegeman at mac.com
Mon Jun 13 20:55:35 PDT 2005



Changes in directory llvm/lib/Target/PowerPC:

PPC32ISelPattern.cpp updated: 1.92 -> 1.93
---
Log message:

Commit a small improvement that is already in the x86 and ia64 backends to
not generate unnecessary register copies.  This improves compile time by
2-5% depending on the test.


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

 PPC32ISelPattern.cpp |    5 +++++
 1 files changed, 5 insertions(+)


Index: llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp
diff -u llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.92 llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.93
--- llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.92	Tue Jun  7 23:14:27 2005
+++ llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp	Mon Jun 13 22:55:23 2005
@@ -1572,6 +1572,11 @@
   SDNode *Node = N.Val;
   MVT::ValueType DestType = N.getValueType();
 
+  if (Node->getOpcode() == ISD::CopyFromReg &&
+      MRegisterInfo::isVirtualRegister(cast<RegSDNode>(Node)->getReg()))
+    // Just use the specified register as our input.
+    return cast<RegSDNode>(Node)->getReg();
+
   unsigned &Reg = ExprMap[N];
   if (Reg) return Reg;
 






More information about the llvm-commits mailing list