LLVM: lib/Target/ARM/ARMTargetObjectFile.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

22#include

23

24using namespace llvm;

25using namespace dwarf;

26

27

28

29

30

35

40 bool genExecuteOnly =

42

45

46 if (isAAPCS_ABI) {

48 }

49

50

51 if (genExecuteOnly) {

53 unsigned Flags =

55

56

57

59 Ctx.getELFSection(".text", Type, Flags, 0, "", false, 0U, nullptr);

60 }

61}

62

64

74

79

85 GV, Encoding, TM, MMI, Streamer);

86

88

91}

92

97

102 return true;

103 return false;

104}

105

114

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

static bool isExecuteOnlyFunction(const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM)

This file contains constants used for implementing Dwarf debug support.

ARMElfTargetObjectFile()

Definition ARMTargetObjectFile.cpp:31

MCSection * SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const override

Definition ARMTargetObjectFile.cpp:115

const MCExpr * getDebugThreadLocalSymbol(const MCSymbol *Sym) const override

Describe a TLS variable address within debug info.

Definition ARMTargetObjectFile.cpp:94

MCRegister getStaticBase() const override

Returns the register used as static base in RWPI variants.

Definition ARMTargetObjectFile.cpp:63

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...

Definition ARMTargetObjectFile.cpp:106

const MCExpr * getIndirectSymViaGOTPCRel(const GlobalValue *GV, const MCSymbol *Sym, const MCValue &MV, int64_t Offset, MachineModuleInfo *MMI, MCStreamer &Streamer) const override

Get the target specific PC relative GOT entry relocation.

Definition ARMTargetObjectFile.cpp:65

const MCExpr * getIndirectSymViaRWPI(const MCSymbol *Sym) const override

Get the target specific RWPI relocation.

Definition ARMTargetObjectFile.cpp:76

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 global variable from exception handling info...

Definition ARMTargetObjectFile.cpp:80

void Initialize(MCContext &Ctx, const TargetMachine &TM) override

This method must be called before any actual lowering is done.

Definition ARMTargetObjectFile.cpp:36

static const MCBinaryExpr * createAdd(const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx, SMLoc Loc=SMLoc())

static LLVM_ABI const MCConstantExpr * create(int64_t Value, MCContext &Ctx, bool PrintInHex=false, unsigned SizeInBytes=0)

Context object for machine code objects.

Base class for the full range of assembler expressions which are needed for parsing.

MCSection * TextSection

Section directive for standard text.

MCSection * LSDASection

If exception handling is supported by the target, this is the section the Language Specific Data Area...

MCContext & getContext() const

Wrapper class representing physical registers. Should be passed by value.

Instances of this class represent a uniqued identifier for a section in the current translation unit.

Streaming machine code generation interface.

bool hasFeature(unsigned Feature) const

static const MCSymbolRefExpr * create(const MCSymbol *Symbol, MCContext &Ctx, SMLoc Loc=SMLoc())

MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...

int64_t getConstant() const

This class contains meta information specific to a module.

SectionKind - This is a simple POD value that classifies the properties of a section.

static SectionKind getExecuteOnly()

void Initialize(MCContext &Ctx, const TargetMachine &TM) override

This method must be called before any actual lowering is done.

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...

MCSection * SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const override

uint16_t PLTRelativeSpecifier

void InitializeELF(bool UseInitArray_)

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...

bool SupportIndirectSymViaGOTPCRel

Primary interface to the complete machine description for the target machine.

const MCSubtargetInfo * getMCSubtargetInfo() const

const STC & getSubtarget(const Function &F) const

This method returns a pointer to the specified type of TargetSubtargetInfo.

The instances of the Type class are immutable: once they are created, they are never changed.

Calculates the starting offsets for various sections within the .debug_names section.

This is an optimization pass for GlobalISel generic memory operations.

decltype(auto) dyn_cast(const From &Val)

dyn_cast - Return the argument parameter cast to the specified type.