From a43b176f5141b263113841ba62bde2ad7fbab66d Mon Sep 17 00:00:00 2001 From: Nate Begeman Date: Tue, 14 Jun 2005 03:55:23 +0000 Subject: [PATCH] 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22210 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCISelPattern.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/Target/PowerPC/PPCISelPattern.cpp b/lib/Target/PowerPC/PPCISelPattern.cpp index 750161caf8a..5b4c6e58d5c 100644 --- a/lib/Target/PowerPC/PPCISelPattern.cpp +++ b/lib/Target/PowerPC/PPCISelPattern.cpp @@ -1572,6 +1572,11 @@ unsigned ISel::SelectExpr(SDOperand N, bool Recording) { SDNode *Node = N.Val; MVT::ValueType DestType = N.getValueType(); + if (Node->getOpcode() == ISD::CopyFromReg && + MRegisterInfo::isVirtualRegister(cast(Node)->getReg())) + // Just use the specified register as our input. + return cast(Node)->getReg(); + unsigned &Reg = ExprMap[N]; if (Reg) return Reg;