X86TargetObjectFile.h revision 31d157ae1ac2cd9c787dc3c1d28e64c682803844
131d157ae1ac2cd9c787dc3c1d28e64c682803844Jia Liu//===-- X86TargetObjectFile.h - X86 Object Info -----------------*- C++ -*-===// 28c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner// 38c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner// The LLVM Compiler Infrastructure 48c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner// 58c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner// This file is distributed under the University of Illinois Open Source 68c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner// License. See LICENSE.TXT for details. 78c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner// 88c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner//===----------------------------------------------------------------------===// 98c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner 108c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner#ifndef LLVM_TARGET_X86_TARGETOBJECTFILE_H 118c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner#define LLVM_TARGET_X86_TARGETOBJECTFILE_H 128c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner 13362dd0bef5437f85586c046bc53287b6fbe9c099Anton Korobeynikov#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h" 149184b25fa543a900463215c11635c2c014ddb623Anton Korobeynikov#include "llvm/Target/TargetMachine.h" 158c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner#include "llvm/Target/TargetLoweringObjectFile.h" 168c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner 178c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattnernamespace llvm { 189184b25fa543a900463215c11635c2c014ddb623Anton Korobeynikov class X86TargetMachine; 199184b25fa543a900463215c11635c2c014ddb623Anton Korobeynikov 20757e75b03326d9e124dfd28bb34ca00c9edcd391Bill Wendling /// X8664_MachoTargetObjectFile - This TLOF implementation is used for Darwin 21757e75b03326d9e124dfd28bb34ca00c9edcd391Bill Wendling /// x86-64. 22505ad8bed3321bc4b99af8fba4844efe2fe9e67aBill Wendling class X8664_MachoTargetObjectFile : public TargetLoweringObjectFileMachO { 23757e75b03326d9e124dfd28bb34ca00c9edcd391Bill Wendling public: 248c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner virtual const MCExpr * 253192d14076dbe5724ce85b9d48644bb3c081f0e5Chris Lattner getExprForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang, 263192d14076dbe5724ce85b9d48644bb3c081f0e5Chris Lattner MachineModuleInfo *MMI, unsigned Encoding, 273192d14076dbe5724ce85b9d48644bb3c081f0e5Chris Lattner MCStreamer &Streamer) const; 287afec9cc0ff1654619d30b6f30e2a4d13369c8bfRafael Espindola 297afec9cc0ff1654619d30b6f30e2a4d13369c8bfRafael Espindola // getCFIPersonalitySymbol - The symbol that gets passed to 307afec9cc0ff1654619d30b6f30e2a4d13369c8bfRafael Espindola // .cfi_personality. 317afec9cc0ff1654619d30b6f30e2a4d13369c8bfRafael Espindola virtual MCSymbol * 3260246a96224c8b790177253bf25433b93b335d2bRafael Espindola getCFIPersonalitySymbol(const GlobalValue *GV, Mangler *Mang, 3360246a96224c8b790177253bf25433b93b335d2bRafael Espindola MachineModuleInfo *MMI) const; 349184b25fa543a900463215c11635c2c014ddb623Anton Korobeynikov }; 359184b25fa543a900463215c11635c2c014ddb623Anton Korobeynikov 368c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner} // end namespace llvm 378c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner 388c6ed05157e9c97ff8f3ccb211dd797e53228da1Chris Lattner#endif 39