LLVM: lib/Target/VE/VESubtarget.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_LIB_TARGET_VE_VESUBTARGET_H

14#define LLVM_LIB_TARGET_VE_VESUBTARGET_H

15

22#include

23

24#define GET_SUBTARGETINFO_HEADER

25#include "VEGenSubtargetInfo.inc"

26

27namespace llvm {

28class StringRef;

29

32 virtual void anchor();

33

34

35

36

37 bool EnableVPU;

38

39

40

43 std::unique_ptr TSInfo;

45

46public:

47 VESubtarget(const Triple &TT, const std::string &CPU, const std::string &FS,

49

51

54 return &FrameLowering;

55 }

57 return &InstrInfo.getRegisterInfo();

58 }

60

62

64

65 bool enableVPU() const { return EnableVPU; }

66

67

68

71

72

73

74

76

77

78

80

81 bool isTargetLinux() const { return TargetTriple.isOSLinux(); }

82};

83

84}

85

86#endif

Targets can subclass this to parameterize the SelectionDAG lowering and instruction selection process...

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

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

Triple - Helper class for working with autoconf configuration names.

uint64_t getAdjustedFrameSize(uint64_t FrameSize) const

Given a actual stack size as determined by FrameInfo, this function returns adjusted framesize which ...

void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)

ParseSubtargetFeatures - Parses features string setting specified subtarget options.

bool enableVPU() const

Definition VESubtarget.h:65

bool enableMachineScheduler() const override

unsigned getRsaSize() const

Get the size of RSA, return address, and frame pointer as described in VEFrameLowering....

Definition VESubtarget.h:79

bool isTargetLinux() const

Definition VESubtarget.h:81

const SelectionDAGTargetInfo * getSelectionDAGInfo() const override

VESubtarget & initializeSubtargetDependencies(StringRef CPU, StringRef FS)

const VEInstrInfo * getInstrInfo() const override

Definition VESubtarget.h:52

const VETargetLowering * getTargetLowering() const override

Definition VESubtarget.h:59

VESubtarget(const Triple &TT, const std::string &CPU, const std::string &FS, const TargetMachine &TM)

const VEFrameLowering * getFrameLowering() const override

Definition VESubtarget.h:53

const VERegisterInfo * getRegisterInfo() const override

Definition VESubtarget.h:56

This is an optimization pass for GlobalISel generic memory operations.