forked from OSchip/llvm-project
There is no reason to store <x,x>, just store <x>.
llvm-svn: 18263
This commit is contained in:
parent
63b45b4768
commit
b50fd9262d
|
@ -16,7 +16,7 @@
|
||||||
#include "PPC32Relocations.h"
|
#include "PPC32Relocations.h"
|
||||||
#include "llvm/CodeGen/MachineCodeEmitter.h"
|
#include "llvm/CodeGen/MachineCodeEmitter.h"
|
||||||
#include "llvm/Config/alloca.h"
|
#include "llvm/Config/alloca.h"
|
||||||
#include <map>
|
#include <set>
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
static TargetJITInfo::JITCompilerFn JITCompilerFunction;
|
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
|
// the pointer is relocated into instructions instead of the pointer
|
||||||
// itself. Because we have to keep the mapping anyway, we just return
|
// itself. Because we have to keep the mapping anyway, we just return
|
||||||
// pointers to the values in the map as our new location.
|
// pointers to the values in the map as our new location.
|
||||||
static std::map<void*,void*> Pointers;
|
static std::set<void*> Pointers;
|
||||||
void *&Ptr = Pointers[(void*)ResultPtr];
|
ResultPtr = (intptr_t)&*Pointers.insert((void*)ResultPtr).first;
|
||||||
Ptr = (void*)ResultPtr;
|
|
||||||
ResultPtr = (intptr_t)&Ptr;
|
|
||||||
}
|
}
|
||||||
// FALL THROUGH
|
// FALL THROUGH
|
||||||
case PPC::reloc_absolute_high: // high bits of ref -> low 16 of instr
|
case PPC::reloc_absolute_high: // high bits of ref -> low 16 of instr
|
||||||
|
|
Loading…
Reference in New Issue