summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikram S. Adve <vadve@cs.uiuc.edu>2003-10-21 12:29:45 +0000
committerVikram S. Adve <vadve@cs.uiuc.edu>2003-10-21 12:29:45 +0000
commit8264e29e0199624f15ea9f19382f4980aa9d43e7 (patch)
tree94daea62672625be91b47e3a12997e4f7e45e353
parent64e8a13b7b2599c69219deda884844506e87eef2 (diff)
downloadbcm5719-llvm-8264e29e0199624f15ea9f19382f4980aa9d43e7.tar.gz
bcm5719-llvm-8264e29e0199624f15ea9f19382f4980aa9d43e7.zip
When opcodes like ADD were split into reg. and immed. versions (ADDi and ADDr),
this code wasn't fixed correctly so it missed copy operations that used ADDi. llvm-svn: 9318
-rw-r--r--llvm/lib/Target/Sparc/PeepholeOpts.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/Sparc/PeepholeOpts.cpp b/llvm/lib/Target/Sparc/PeepholeOpts.cpp
index 2b22558e6dc..9d50f35f541 100644
--- a/llvm/lib/Target/Sparc/PeepholeOpts.cpp
+++ b/llvm/lib/Target/Sparc/PeepholeOpts.cpp
@@ -63,7 +63,8 @@ static bool IsUselessCopy(const TargetMachine &target, const MachineInstr* MI) {
return (/* both operands are allocated to the same register */
MI->getOperand(0).getAllocatedRegNum() ==
MI->getOperand(1).getAllocatedRegNum());
- } else if (MI->getOpCode() == V9::ADDr || MI->getOpCode() == V9::ORr) {
+ } else if (MI->getOpCode() == V9::ADDr || MI->getOpCode() == V9::ORr ||
+ MI->getOpCode() == V9::ADDi || MI->getOpCode() == V9::ORi) {
unsigned srcWithDestReg;
for (srcWithDestReg = 0; srcWithDestReg < 2; ++srcWithDestReg)
OpenPOWER on IntegriCloud