diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/Target/TargetJITInfo.h | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/include/llvm/Target/TargetJITInfo.h b/llvm/include/llvm/Target/TargetJITInfo.h index 02571ece453..3f609c2bc23 100644 --- a/llvm/include/llvm/Target/TargetJITInfo.h +++ b/llvm/include/llvm/Target/TargetJITInfo.h @@ -17,10 +17,13 @@  #ifndef LLVM_TARGET_TARGETJITINFO_H  #define LLVM_TARGET_TARGETJITINFO_H +#include <cassert> +  namespace llvm {    class Function;    class FunctionPassManager;    class MachineCodeEmitter; +  class MachineRelocation;    /// TargetJITInfo - Target specific information required by the Just-In-Time    /// code generator. @@ -49,6 +52,14 @@ namespace llvm {      virtual void *getJITStubForFunction(Function *F, MachineCodeEmitter &MCE) {        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  | 

