diff options
-rw-r--r-- | include/llvm/CodeGen/MachineCodeEmitter.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/MachineCodeEmitter.h b/include/llvm/CodeGen/MachineCodeEmitter.h index 2e8908343c..69eea5c972 100644 --- a/include/llvm/CodeGen/MachineCodeEmitter.h +++ b/include/llvm/CodeGen/MachineCodeEmitter.h @@ -10,11 +10,29 @@ #ifndef LLVM_CODEGEN_MACHINE_CODE_EMITTER_H #define LLVM_CODEGEN_MACHINE_CODE_EMITTER_H -struct MachineCodeEmitter { +class MachineFunction; +class MachineBasicBlock; +struct MachineCodeEmitter { + /// startFunction - This callback is invoked when the specified function is + /// about to be code generated. + /// + virtual void startFunction(MachineFunction &F) {} + /// finishFunction - This callback is invoked when the specified function has + /// finished code generation. + /// + virtual void finishFunction(MachineFunction &F) {} + + /// startBasicBlock - This callback is invoked when a new basic block is about + /// to be emitted. + /// + virtual void startBasicBlock(MachineBasicBlock &BB) {} + /// emitByte - This callback is invoked when a byte needs to be written to the + /// output stream. + virtual void emitByte(unsigned char B) {} }; #endif |