22 using namespace dwarf;
31 bool isAAPCS_ABI = ARM_TM.
TargetABI == ARMTargetMachine::ARMABI::ARM_ABI_AAPCS;
35 InitializeELF(isAAPCS_ABI);
38 LSDASection =
nullptr;
51 TextSection = Ctx.
getELFSection(
".text", Type, Flags, 0,
"", 0U);
60 GV, Encoding, TM, MMI, Streamer);
78 if (genExecuteOnly && SK.
isText())
88 if (genExecuteOnly && SK.
isText())
Instances of this class represent a uniqued identifier for a section in the current translation unit...
MCSection * getExplicitSectionGlobal(const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const override
Targets should implement this method to assign a section to globals with an explicit section specfied...
static const MCSymbolRefExpr * create(const MCSymbol *Symbol, MCContext &Ctx)
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
MCSymbol * getSymbol(const GlobalValue *GV) const
setjmp/longjmp based exceptions
enum llvm::ARMBaseTargetMachine::ARMABI TargetABI
struct fuzzer::@269 Flags
const MCAsmInfo * getMCAsmInfo() const
Return target specific asm information.
virtual void Initialize(MCContext &ctx, const TargetMachine &TM)
This method must be called before any actual lowering is done.
Base class for the full range of assembler expressions which are needed for parsing.
MCSection * SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const override
Context object for machine code objects.
void Initialize(MCContext &Ctx, const TargetMachine &TM) override
This method must be called before any actual lowering is done.
MCSection * getExplicitSectionGlobal(const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const override
Targets should implement this method to assign a section to globals with an explicit section specfied...
Streaming machine code generation interface.
The instances of the Type class are immutable: once they are created, they are never changed...
const ARMSubtarget * getSubtargetImpl() const
const MCExpr * getTTypeGlobalReference(const GlobalValue *GV, unsigned Encoding, const TargetMachine &TM, MachineModuleInfo *MMI, MCStreamer &Streamer) const override
Return an MCExpr to use for a reference to the specified type info global variable from exception han...
SectionKind - This is a simple POD value that classifies the properties of a section.
ExceptionHandling getExceptionHandlingType() const
bool genExecuteOnly() const
const MCExpr * getDebugThreadLocalSymbol(const MCSymbol *Sym) const override
Describe a TLS variable address within debug info.
MCSection * SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const override
const MCExpr * getTTypeGlobalReference(const GlobalValue *GV, unsigned Encoding, const TargetMachine &TM, MachineModuleInfo *MMI, MCStreamer &Streamer) const override
Return an MCExpr to use for a reference to the specified type info global variable from exception han...
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
MCSectionELF * getELFSection(const Twine &Section, unsigned Type, unsigned Flags)
Primary interface to the complete machine description for the target machine.
This class contains meta information specific to a module.
static SectionKind getExecuteOnly()
This file describes how to lower LLVM code to machine code.