From d1c45a6633bb000920373c57b3590191d491036f Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 2 Dec 2002 21:44:13 +0000 Subject: [PATCH] Start adding to the meat of MachineCodeEmitter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4869 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/MachineCodeEmitter.h | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) 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 -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 -- 2.34.1