diff --git a/llvm/include/llvm/CodeGen/MachineCodeEmitter.h b/llvm/include/llvm/CodeGen/MachineCodeEmitter.h index f0e5e3f2cb27..6f47726de469 100644 --- a/llvm/include/llvm/CodeGen/MachineCodeEmitter.h +++ b/llvm/include/llvm/CodeGen/MachineCodeEmitter.h @@ -13,6 +13,7 @@ class MachineFunction; class MachineBasicBlock; class Value; +class GlobalValue; struct MachineCodeEmitter { virtual ~MachineCodeEmitter() {} @@ -43,6 +44,12 @@ struct MachineCodeEmitter { /// virtual void emitPCRelativeDisp(Value *V) {} + /// emitGlobalAddress - This callback is invoked when we need to write out the + /// address of a global value to machine code. This is important for indirect + /// calls as well as accessing global variables. + /// + virtual void emitGlobalAddress(GlobalValue *V) {} + /// createDebugMachineCodeEmitter - Return a dynamically allocated machine /// code emitter, which just prints the opcodes and fields out the cout. This