Skip to content
Snippets Groups Projects
Commit 6ee028a4 authored by Chris Lattner's avatar Chris Lattner
Browse files

Allow targets to implement relocation support.

llvm-svn: 18032
parent 774e978e
No related branches found
No related tags found
No related merge requests found
...@@ -17,10 +17,13 @@ ...@@ -17,10 +17,13 @@
#ifndef LLVM_TARGET_TARGETJITINFO_H #ifndef LLVM_TARGET_TARGETJITINFO_H
#define LLVM_TARGET_TARGETJITINFO_H #define LLVM_TARGET_TARGETJITINFO_H
#include <cassert>
namespace llvm { namespace llvm {
class Function; class Function;
class FunctionPassManager; class FunctionPassManager;
class MachineCodeEmitter; class MachineCodeEmitter;
class MachineRelocation;
/// TargetJITInfo - Target specific information required by the Just-In-Time /// TargetJITInfo - Target specific information required by the Just-In-Time
/// code generator. /// code generator.
...@@ -49,6 +52,14 @@ namespace llvm { ...@@ -49,6 +52,14 @@ namespace llvm {
virtual void *getJITStubForFunction(Function *F, MachineCodeEmitter &MCE) { virtual void *getJITStubForFunction(Function *F, MachineCodeEmitter &MCE) {
return 0; return 0;
} }
/// relocate - Before the JIT can run a block of code that has been emitted,
/// it must rewrite the code to contain the actual addresses of any
/// referenced global symbols.
virtual void relocate(void *Function, MachineRelocation *MR,
unsigned NumRelocs) {
assert(NumRelocs == 0 && "This target does not have relocations!");
}
}; };
} // End llvm namespace } // End llvm namespace
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment