diff options
author | Chris Lattner <sabre@nondot.org> | 2010-10-07 23:57:02 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-10-07 23:57:02 +0000 |
commit | a2283761857d86a3a168705cef8108828d874876 (patch) | |
tree | 1a1e4e980c485f5cc5b89c6b7be0bd089ea95661 /lib/Target/X86 | |
parent | b225adee29bef5100cd33f030c61c76d0efc8a10 (diff) | |
download | external_llvm-a2283761857d86a3a168705cef8108828d874876.zip external_llvm-a2283761857d86a3a168705cef8108828d874876.tar.gz external_llvm-a2283761857d86a3a168705cef8108828d874876.tar.bz2 |
simplify some map operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116014 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86')
-rw-r--r-- | lib/Target/X86/X86InstrInfo.cpp | 28 | ||||
-rw-r--r-- | lib/Target/X86/X86InstrSSE.td | 2 |
2 files changed, 14 insertions, 16 deletions
diff --git a/lib/Target/X86/X86InstrInfo.cpp b/lib/Target/X86/X86InstrInfo.cpp index a231850..12a5a95 100644 --- a/lib/Target/X86/X86InstrInfo.cpp +++ b/lib/Target/X86/X86InstrInfo.cpp @@ -34,7 +34,6 @@ #include "llvm/Support/raw_ostream.h" #include "llvm/Target/TargetOptions.h" #include "llvm/MC/MCAsmInfo.h" - #include <limits> using namespace llvm; @@ -327,16 +326,15 @@ X86InstrInfo::X86InstrInfo(X86TargetMachine &tm) unsigned RegOp = OpTbl0[i][0]; unsigned MemOp = OpTbl0[i][1]; unsigned Align = OpTbl0[i][3]; - if (!RegOp2MemOpTable0.insert(std::make_pair(RegOp, - std::make_pair(MemOp,Align))).second) - assert(false && "Duplicated entries?"); + assert(!RegOp2MemOpTable0.count(RegOp) && "Duplicated entries?"); + RegOp2MemOpTable0[RegOp] = std::make_pair(MemOp,Align); unsigned FoldedLoad = OpTbl0[i][2]; // Index 0, folded load or store. unsigned AuxInfo = 0 | (FoldedLoad << 4) | ((FoldedLoad^1) << 5); - if (RegOp != X86::FsMOVAPDrr && RegOp != X86::FsMOVAPSrr) - if (!MemOp2RegOpTable.insert(std::make_pair(MemOp, - std::make_pair(RegOp, AuxInfo))).second) - assert(false && "Duplicated entries in unfolding maps?"); + if (RegOp != X86::FsMOVAPDrr && RegOp != X86::FsMOVAPSrr) { + assert(!MemOp2RegOpTable.count(MemOp) && "Duplicated entries?"); + MemOp2RegOpTable[MemOp] = std::make_pair(RegOp, AuxInfo); + } } static const unsigned OpTbl1[][3] = { @@ -453,15 +451,15 @@ X86InstrInfo::X86InstrInfo(X86TargetMachine &tm) unsigned RegOp = OpTbl1[i][0]; unsigned MemOp = OpTbl1[i][1]; unsigned Align = OpTbl1[i][2]; - if (!RegOp2MemOpTable1.insert(std::make_pair(RegOp, - std::make_pair(MemOp,Align))).second) - assert(false && "Duplicated entries?"); + assert(!RegOp2MemOpTable1.count(RegOp) && "Duplicate entries"); + RegOp2MemOpTable1[RegOp] = std::make_pair(MemOp,Align); + // Index 1, folded load unsigned AuxInfo = 1 | (1 << 4); - if (RegOp != X86::FsMOVAPDrr && RegOp != X86::FsMOVAPSrr) - if (!MemOp2RegOpTable.insert(std::make_pair(MemOp, - std::make_pair(RegOp, AuxInfo))).second) - assert(false && "Duplicated entries in unfolding maps?"); + if (RegOp != X86::FsMOVAPDrr && RegOp != X86::FsMOVAPSrr) { + assert(!MemOp2RegOpTable.count(MemOp) && "Duplicate entries"); + MemOp2RegOpTable[MemOp] = std::make_pair(RegOp, AuxInfo); + } } static const unsigned OpTbl2[][3] = { diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index c37def1..d4a6600 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -2082,7 +2082,7 @@ def : Pat<(X86SFence), (SFENCE)>; // We set canFoldAsLoad because this can be converted to a constant-pool // load of an all-zeros value if folding it would be beneficial. // FIXME: Change encoding to pseudo! This is blocked right now by the x86 -// JIT implementatioan, it does not expand the instructions below like +// JIT implementation, it does not expand the instructions below like // X86MCInstLower does. let isReMaterializable = 1, isAsCheapAsAMove = 1, canFoldAsLoad = 1, isCodeGenOnly = 1 in { |