diff options
author | Hal Finkel <hfinkel@anl.gov> | 2013-03-21 23:23:34 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2013-03-21 23:23:34 +0000 |
commit | 3ea1b064a0b9c3d161b0f77a9e957970f98907ab (patch) | |
tree | 16053716b244cfe03039d14a5dcc129b26d3111d /lib/Target/PowerPC/PPCInstrInfo.cpp | |
parent | bb4e619cd9ff34708e3baaf0aac70275a917e0ba (diff) | |
download | llvm-3ea1b064a0b9c3d161b0f77a9e957970f98907ab.tar.gz llvm-3ea1b064a0b9c3d161b0f77a9e957970f98907ab.tar.bz2 llvm-3ea1b064a0b9c3d161b0f77a9e957970f98907ab.tar.xz |
Fix a register-class comparison bug in PPCCTRLoops
Thanks to Jakob for isolating the underlying problem from the
test case in r177423. The original commit had introduced
asymmetric copy operations, but these turned out to be a work-around
to the real problem (the use of == instead of hasSubClassEq in PPCCTRLoops).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177679 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCInstrInfo.cpp')
-rw-r--r-- | lib/Target/PowerPC/PPCInstrInfo.cpp | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/lib/Target/PowerPC/PPCInstrInfo.cpp b/lib/Target/PowerPC/PPCInstrInfo.cpp index 2b71f67331..cf39386c67 100644 --- a/lib/Target/PowerPC/PPCInstrInfo.cpp +++ b/lib/Target/PowerPC/PPCInstrInfo.cpp @@ -422,15 +422,6 @@ void PPCInstrInfo::copyPhysReg(MachineBasicBlock &MBB, Opc = PPC::VOR; else if (PPC::CRBITRCRegClass.contains(DestReg, SrcReg)) Opc = PPC::CROR; - - // Asymmetric copies: - - else if (PPC::GPRCRegClass.contains(DestReg) && - PPC::G8RCRegClass.contains(SrcReg)) - Opc = PPC::OR_64; - else if (PPC::G8RCRegClass.contains(DestReg) && - PPC::GPRCRegClass.contains(SrcReg)) - Opc = PPC::OR8_32; else llvm_unreachable("Impossible reg-to-reg copy"); |