LLVM: lib/Target/Xtensa/XtensaSubtarget.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

17

18#define DEBUG_TYPE "xtensa-subtarget"

19

20#define GET_SUBTARGETINFO_TARGET_DESC

21#define GET_SUBTARGETINFO_CTOR

22#include "XtensaGenSubtargetInfo.inc"

23

24using namespace llvm;

25

27XtensaSubtarget::initializeSubtargetDependencies(StringRef CPU, StringRef FS) {

29 if (CPUName.empty()) {

30

31 CPUName = "generic";

32 }

33

34

36 return *this;

37}

38

42 InstrInfo(initializeSubtargetDependencies(CPU, FS)), TLInfo(TM, *this),

43 FrameLowering(*this) {

44 TSInfo = std::make_unique();

45}

46

48

50 return TSInfo.get();

51}

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

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

constexpr bool empty() const

empty - Check if the string is empty.

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

Triple - Helper class for working with autoconf configuration names.

XtensaSubtarget(const Triple &TT, StringRef CPU, StringRef FS, const TargetMachine &TM)

Definition XtensaSubtarget.cpp:39

~XtensaSubtarget() override

const SelectionDAGTargetInfo * getSelectionDAGInfo() const override

Definition XtensaSubtarget.cpp:49

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

This is an optimization pass for GlobalISel generic memory operations.