summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CellSPU/SPUInstrInfo.cpp
diff options
context:
space:
mode:
authorKalle Raiskila <kalle.raiskila@nokia.com>2010-06-21 15:08:16 +0000
committerKalle Raiskila <kalle.raiskila@nokia.com>2010-06-21 15:08:16 +0000
commit0ab5a02579db6fa3a72f6bf11725f91efd71b498 (patch)
tree106bb60a600fc6c709561f2a87283e6869ca46cc /llvm/lib/Target/CellSPU/SPUInstrInfo.cpp
parentd7f50c118ab3e16de75dd49559dc431ce46c48a5 (diff)
downloadbcm5719-llvm-0ab5a02579db6fa3a72f6bf11725f91efd71b498.tar.gz
bcm5719-llvm-0ab5a02579db6fa3a72f6bf11725f91efd71b498.zip
Mark the SPU 'lr' instruction to never have side effects.
This allows the fast regiser allocator to remove redundant register moves. Update a set of tests that depend on the register allocator to be linear scan. llvm-svn: 106420
Diffstat (limited to 'llvm/lib/Target/CellSPU/SPUInstrInfo.cpp')
-rw-r--r--llvm/lib/Target/CellSPU/SPUInstrInfo.cpp2
1 files changed, 0 insertions, 2 deletions
diff --git a/llvm/lib/Target/CellSPU/SPUInstrInfo.cpp b/llvm/lib/Target/CellSPU/SPUInstrInfo.cpp
index 877d1c5dca3..9dfe01476c8 100644
--- a/llvm/lib/Target/CellSPU/SPUInstrInfo.cpp
+++ b/llvm/lib/Target/CellSPU/SPUInstrInfo.cpp
@@ -164,11 +164,9 @@ SPUInstrInfo::isMoveInstr(const MachineInstr& MI,
MI.getOperand(0).isReg() &&
MI.getOperand(1).isReg() &&
"invalid SPU OR<type>_<vec> or LR instruction!");
- if (MI.getOperand(0).getReg() == MI.getOperand(1).getReg()) {
sourceReg = MI.getOperand(1).getReg();
destReg = MI.getOperand(0).getReg();
return true;
- }
break;
}
case SPU::ORv16i8:
OpenPOWER on IntegriCloud