[mips][msa] Direct Object Emission support for LDI instructions.
[oota-llvm.git] / lib / Target / Mips / MipsMachineFunction.cpp
index c32f56c0ddcfc6192847f036985599647299dd38..dedf802f80ace47c18f28463e75887b09dc43955 100644 (file)
@@ -15,6 +15,7 @@
 #include "llvm/CodeGen/MachineRegisterInfo.h"
 #include "llvm/IR/Function.h"
 #include "llvm/Support/CommandLine.h"
+#include "llvm/Support/raw_ostream.h"
 
 using namespace llvm;
 
@@ -120,24 +121,20 @@ bool MipsFunctionInfo::isEhDataRegFI(int FI) const {
 }
 
 MachinePointerInfo MipsFunctionInfo::callPtrInfo(const StringRef &Name) {
-  StringMap<const MipsCallEntry *>::const_iterator I;
-  I = ExternalCallEntries.find(Name);
+  const MipsCallEntry *&E = ExternalCallEntries[Name];
 
-  if (I != ExternalCallEntries.end())
-    return MachinePointerInfo(I->getValue());
+  if (!E)
+    E = new MipsCallEntry(Name);
 
-  const MipsCallEntry *E = ExternalCallEntries[Name] = new MipsCallEntry(Name);
   return MachinePointerInfo(E);
 }
 
 MachinePointerInfo MipsFunctionInfo::callPtrInfo(const GlobalValue *Val) {
-  ValueMap<const GlobalValue *, const MipsCallEntry *>::const_iterator I;
-  I = GlobalCallEntries.find(Val);
+  const MipsCallEntry *&E = GlobalCallEntries[Val];
 
-  if (I != GlobalCallEntries.end())
-    return MachinePointerInfo(I->second);
+  if (!E)
+    E = new MipsCallEntry(Val);
 
-  const MipsCallEntry *E = GlobalCallEntries[Val] = new MipsCallEntry(Val);
   return MachinePointerInfo(E);
 }