diff --git a/include/llvm/CodeGen/MachineCodeEmitter.h b/include/llvm/CodeGen/MachineCodeEmitter.h index 2e8908343c9..69eea5c972d 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 +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