Simplify the fetching of relocation mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32588 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Laskey 2006-12-14 22:53:42 +00:00
parent 21b76123e5
commit b92767afd4

View File

@ -701,7 +701,7 @@ public:
void emitConstantPool(MachineConstantPool *MCP);
void initJumpTableInfo(MachineJumpTableInfo *MJTI);
void emitJumpTableInfo(MachineJumpTableInfo *MJTI, Reloc::Model RM);
void emitJumpTableInfo(MachineJumpTableInfo *MJTI);
virtual void startFunctionStub(unsigned StubSize, unsigned Alignment = 1);
virtual void* finishFunctionStub(const Function *F);
@ -792,7 +792,7 @@ bool JITEmitter::finishFunction(MachineFunction &F) {
abort();
}
emitJumpTableInfo(F.getJumpTableInfo(), F.getTarget().getRelocationModel());
emitJumpTableInfo(F.getJumpTableInfo());
// FnStart is the start of the text, not the start of the constant pool and
// other per-function data.
@ -915,11 +915,11 @@ void JITEmitter::initJumpTableInfo(MachineJumpTableInfo *MJTI) {
JumpTableBase = allocateSpace(NumEntries * EntrySize, MJTI->getAlignment());
}
void JITEmitter::emitJumpTableInfo(MachineJumpTableInfo *MJTI, Reloc::Model RM){
void JITEmitter::emitJumpTableInfo(MachineJumpTableInfo *MJTI) {
const std::vector<MachineJumpTableEntry> &JT = MJTI->getJumpTables();
if (JT.empty() || JumpTableBase == 0) return;
if (RM == Reloc::PIC_) {
if (TargetMachine::getRelocationModel() == Reloc::PIC_) {
assert(MJTI->getEntrySize() == 4 && "Cross JIT'ing?");
// For each jump table, place the offset from the beginning of the table
// to the target address.