aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-05-08 21:53:57 +0000
committerChris Lattner <sabre@nondot.org>2003-05-08 21:53:57 +0000
commit1f25d8801f43752ee6dea6f2bfdf9430a46d20ee (patch)
tree73494c2d0c3b6c6fb5820e350854e1a39102936d /include/llvm/CodeGen
parenteb5a93b86baaeb867942decb3c2902a9ae779e83 (diff)
Add new methods for stub generation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6053 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r--include/llvm/CodeGen/MachineCodeEmitter.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/MachineCodeEmitter.h b/include/llvm/CodeGen/MachineCodeEmitter.h
index 572772dde7..7fa73e5f5d 100644
--- a/include/llvm/CodeGen/MachineCodeEmitter.h
+++ b/include/llvm/CodeGen/MachineCodeEmitter.h
@@ -39,6 +39,18 @@ struct MachineCodeEmitter {
///
virtual void startBasicBlock(MachineBasicBlock &BB) {}
+ /// startFunctionStub - This callback is invoked when the JIT needs the
+ /// address of a function that has not been code generated yet. The StubSize
+ /// specifies the total size required by the stub. Stubs are not allowed to
+ /// have constant pools, the can only use the other emit* methods.
+ ///
+ virtual void startFunctionStub(Function &F, unsigned StubSize) {}
+
+ /// finishFunctionStub - This callback is invoked to terminate a function
+ /// stub.
+ ///
+ virtual void finishFunctionStub(Function &F) {}
+
/// emitByte - This callback is invoked when a byte needs to be written to the
/// output stream.
///