LLVM: lib/Target/AMDGPU/AMDGPURegBankSelect.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

21

22#define DEBUG_TYPE "amdgpu-regbankselect"

23

24using namespace llvm;

25

26namespace {

27

29public:

30 static char ID;

31

34 }

35

37

39 return "AMDGPU Register Bank Select";

40 }

41

44 }

45

46

47

50 MachineFunctionProperties::Property::RegBankSelected);

51 }

52};

53

54}

55

57 "AMDGPU Register Bank Select", false, false)

60

61char AMDGPURegBankSelect::ID = 0;

62

64

66 return new AMDGPURegBankSelect();

67}

68

69bool AMDGPURegBankSelect::runOnMachineFunction(MachineFunction &MF) {

71 MachineFunctionProperties::Property::FailedISel))

72 return false;

73 return true;

74}

AMDGPU Register Bank Select

#define DEBUG_TYPE

Assign register banks to all register operands of G_ instructions using machine uniformity analysis.

#define INITIALIZE_PASS_END(passName, arg, name, cfg, analysis)

#define INITIALIZE_PASS_BEGIN(passName, arg, name, cfg, analysis)

Represent the analysis usage information of a pass.

FunctionPass class - This class is used to implement most global optimizations.

MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...

void getAnalysisUsage(AnalysisUsage &AU) const override

getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.

virtual MachineFunctionProperties getSetProperties() const

virtual bool runOnMachineFunction(MachineFunction &MF)=0

runOnMachineFunction - This method must be overloaded to perform the desired machine code transformat...

Properties which a MachineFunction may have at a given point in time.

MachineFunctionProperties & set(Property P)

bool hasProperty(Property P) const

const MachineFunctionProperties & getProperties() const

Get the function properties.

static PassRegistry * getPassRegistry()

getPassRegistry - Access the global registry object, which is automatically initialized at applicatio...

virtual StringRef getPassName() const

getPassName - Return a nice clean name for a pass.

Wrapper class representing virtual and physical registers.

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

unsigned ID

LLVM IR allows to use arbitrary numbers as calling convention identifiers.

This is an optimization pass for GlobalISel generic memory operations.

char & AMDGPURegBankSelectID

FunctionPass * createAMDGPURegBankSelectPass()

void initializeAMDGPURegBankSelectPass(PassRegistry &)