From 4345e8040f14781d20fd5fa2f7ee3c75fa611fa1 Mon Sep 17 00:00:00 2001 From: Hal Finkel Date: Sun, 31 Mar 2013 14:43:31 +0000 Subject: Cleanup ImmToIdxMap and noImmForm in PPCRegisterInfo ImmToIdxMap should be a DenseMap (not a std::map) because there is no ordering requirement. Also, we don't need a separate list of instructions for noImmForm in eliminateFrameIndex, because this list is essentially the complement of the keys in ImmToIdxMap. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178450 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCRegisterInfo.cpp | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'lib/Target/PowerPC/PPCRegisterInfo.cpp') diff --git a/lib/Target/PowerPC/PPCRegisterInfo.cpp b/lib/Target/PowerPC/PPCRegisterInfo.cpp index 67cf13603b..c323186876 100644 --- a/lib/Target/PowerPC/PPCRegisterInfo.cpp +++ b/lib/Target/PowerPC/PPCRegisterInfo.cpp @@ -526,24 +526,10 @@ PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II, break; } - bool noImmForm = false; - switch (OpC) { - case PPC::LFIWAX: - case PPC::LVEBX: - case PPC::LVEHX: - case PPC::LVEWX: - case PPC::LVX: - case PPC::LVXL: - case PPC::LVSL: - case PPC::LVSR: - case PPC::STVEBX: - case PPC::STVEHX: - case PPC::STVEWX: - case PPC::STVX: - case PPC::STVXL: - noImmForm = true; - break; - } + // If the instruction is not present in ImmToIdxMap, then it has no immediate + // form (and must be r+r). + bool noImmForm = !MI.isInlineAsm() && + (ImmToIdxMap.find(OpC) == ImmToIdxMap.end()); // Now add the frame object offset to the offset from r1. int Offset = MFI->getObjectOffset(FrameIndex); -- cgit v1.2.3-70-g09d2