There is no reason to store <x,x>, just store <x>.
authorChris Lattner <sabre@nondot.org>
Fri, 26 Nov 2004 20:25:17 +0000 (20:25 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 26 Nov 2004 20:25:17 +0000 (20:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18263 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCJITInfo.cpp

index a41385bc0a492c11f14290142b0de79457f0d932..7c150bfb2d7b9bfa4edccd0608e583c5c056cde1 100644 (file)
@@ -16,7 +16,7 @@
 #include "PPC32Relocations.h"
 #include "llvm/CodeGen/MachineCodeEmitter.h"
 #include "llvm/Config/alloca.h"
-#include <map>
+#include <set>
 using namespace llvm;
 
 static TargetJITInfo::JITCompilerFn JITCompilerFunction;
@@ -210,10 +210,8 @@ void PPC32JITInfo::relocate(void *Function, MachineRelocation *MR,
       // the pointer is relocated into instructions instead of the pointer
       // itself.  Because we have to keep the mapping anyway, we just return
       // pointers to the values in the map as our new location.
-      static std::map<void*,void*> Pointers;
-      void *&Ptr = Pointers[(void*)ResultPtr];
-      Ptr = (void*)ResultPtr;
-      ResultPtr = (intptr_t)&Ptr;
+      static std::set<void*> Pointers;
+      ResultPtr = (intptr_t)&*Pointers.insert((void*)ResultPtr).first;
     }
       // FALL THROUGH
     case PPC::reloc_absolute_high:     // high bits of ref -> low 16 of instr