LLVM: lib/Target/Hexagon/HexagonTargetObjectFile.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONTARGETOBJECTFILE_H

10#define LLVM_LIB_TARGET_HEXAGON_HEXAGONTARGETOBJECTFILE_H

11

14

15namespace llvm {

17

19 public:

21

24

28

31

33

35

37 const Function &F) const override;

38

40

41 private:

44

45 unsigned getSmallestAddressableSize(const Type *Ty, const GlobalValue *GV,

47

51

55 };

56

57}

58

59#endif

bool shouldPutJumpTableInFunctionSection(bool UsesLabelDifference, const Function &F) const override

bool isSmallDataEnabled(const TargetMachine &TM) const

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

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

bool isGlobalInSmallSection(const GlobalObject *GO, const TargetMachine &TM) const

Return true if this global value should be placed into small data/bss section.

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

unsigned getSmallDataSize() const

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

const Function * getLutUsedFunction(const GlobalObject *GO) const

Context object for machine code objects.

This represents a section on linux, lots of unix variants and some bare metal systems.

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

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

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

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

This is an optimization pass for GlobalISel generic memory operations.