[llvm] r178450 - Cleanup ImmToIdxMap and noImmForm in PPCRegisterInfo
Hal Finkel
hfinkel at anl.gov
Sun Mar 31 07:43:31 PDT 2013
Author: hfinkel
Date: Sun Mar 31 09:43:31 2013
New Revision: 178450
URL: http://llvm.org/viewvc/llvm-project?rev=178450&view=rev
Log:
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.
Modified:
llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.cpp
llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.h
Modified: llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.cpp?rev=178450&r1=178449&r2=178450&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.cpp Sun Mar 31 09:43:31 2013
@@ -526,24 +526,10 @@ PPCRegisterInfo::eliminateFrameIndex(Mac
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);
Modified: llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.h?rev=178450&r1=178449&r2=178450&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.h (original)
+++ llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.h Sun Mar 31 09:43:31 2013
@@ -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:
More information about the llvm-commits
mailing list