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
This commit is contained in:
Hal Finkel 2013-03-31 14:43:31 +00:00
parent b8f0d89d05
commit 4345e8040f
2 changed files with 6 additions and 20 deletions

View File

@ -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);

View File

@ -15,8 +15,8 @@
#ifndef POWERPC32_REGISTERINFO_H
#define POWERPC32_REGISTERINFO_H
#include "llvm/ADT/DenseMap.h"
#include "PPC.h"
#include <map>
#define GET_REGINFO_HEADER
#include "PPCGenRegisterInfo.inc"
@ -27,7 +27,7 @@ class TargetInstrInfo;
class Type;
class PPCRegisterInfo : public PPCGenRegisterInfo {
std::map<unsigned, unsigned> ImmToIdxMap;
DenseMap<unsigned, unsigned> ImmToIdxMap;
const PPCSubtarget &Subtarget;
const TargetInstrInfo &TII;
public: