LLVM: lib/Target/PowerPC/PPCTargetMachine.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_LIB_TARGET_POWERPC_PPCTARGETMACHINE_H

14#define LLVM_LIB_TARGET_POWERPC_PPCTARGETMACHINE_H

15

20#include

21

22namespace llvm {

23

24

25

27public:

30

31private:

32 std::unique_ptr TLOF;

33 PPCABI TargetABI;

35 mutable bool HasGlibcHWCAPAccess = false;

36

38

39public:

42 std::optionalReloc::Model RM,

44 bool JIT);

45

47

49

50

51

53

54

56

58

60 return TLOF.get();

61 }

62

70

78

83

85

87};

88}

89

90#endif

CodeGenTargetMachineImpl(const Target &T, StringRef DataLayoutString, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOptLevel OL)

bool hasGlibcHWCAPAccess() const

Definition PPCTargetMachine.h:72

ScheduleDAGInstrs * createPostMachineScheduler(MachineSchedContext *C) const override

Similar to createMachineScheduler but used when postRA machine scheduling is enabled.

TargetLoweringObjectFile * getObjFileLowering() const override

Definition PPCTargetMachine.h:59

bool isPPC64() const

Definition PPCTargetMachine.h:74

const PPCSubtarget * getSubtargetImpl() const =delete

~PPCTargetMachine() override

bool isLittleEndian() const

bool isNoopAddrSpaceCast(unsigned SrcAS, unsigned DestAS) const override

Returns true if a cast between SrcAS and DestAS is a noop.

Definition PPCTargetMachine.h:79

PPCTargetMachine(const Target &T, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, std::optional< Reloc::Model > RM, std::optional< CodeModel::Model > CM, CodeGenOptLevel OL, bool JIT)

TargetTransformInfo getTargetTransformInfo(const Function &F) const override

Get a TargetTransformInfo implementation for the target.

ScheduleDAGInstrs * createMachineScheduler(MachineSchedContext *C) const override

Create an instance of ScheduleDAGInstrs to be run within the standard MachineScheduler pass for this ...

TargetPassConfig * createPassConfig(PassManagerBase &PM) override

Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of ...

PPCABI

Definition PPCTargetMachine.h:28

@ PPC_ABI_ELFv1

Definition PPCTargetMachine.h:28

@ PPC_ABI_ELFv2

Definition PPCTargetMachine.h:28

@ PPC_ABI_UNKNOWN

Definition PPCTargetMachine.h:28

int unqualifiedInlineAsmVariant() const override

The default variant to use in unqualified asm instructions.

Definition PPCTargetMachine.h:86

bool isELFv2ABI() const

Definition PPCTargetMachine.h:71

Endian

Definition PPCTargetMachine.h:29

@ LITTLE

Definition PPCTargetMachine.h:29

@ NOT_DETECTED

Definition PPCTargetMachine.h:29

@ BIG

Definition PPCTargetMachine.h:29

MachineFunctionInfo * createMachineFunctionInfo(BumpPtrAllocator &Allocator, const Function &F, const TargetSubtargetInfo *STI) const override

Create the target's instance of MachineFunctionInfo.

void setGlibcHWCAPAccess(bool Val=true) const

Definition PPCTargetMachine.h:73

A ScheduleDAG for scheduling lists of MachineInstr.

StringMap - This is an unconventional map that is specialized for handling keys that are "strings",...

StringRef - Represent a constant reference to a string, i.e.

const Triple & getTargetTriple() const

std::unique_ptr< const MCSubtargetInfo > STI

Target-Independent Code Generator Pass Configuration Options.

TargetSubtargetInfo - Generic base class for all target subtargets.

This pass provides access to the codegen interfaces that are needed for IR-level transformations.

Target - Wrapper for Target specific information.

Triple - Helper class for working with autoconf configuration names.

PassManagerBase - An abstract interface to allow code to add passes to a pass manager without having ...

@ C

The default llvm calling convention, compatible with C.

This is an optimization pass for GlobalISel generic memory operations.

CodeGenOptLevel

Code generation optimization level.

BumpPtrAllocatorImpl<> BumpPtrAllocator

The standard BumpPtrAllocator which just uses the default template parameters.

MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...

MachineSchedContext provides enough context from the MachineScheduler pass for the target to instanti...