LLVM: include/llvm/CodeGen/GlobalISel/InstructionSelect.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_CODEGEN_GLOBALISEL_INSTRUCTIONSELECT_H

14#define LLVM_CODEGEN_GLOBALISEL_INSTRUCTIONSELECT_H

15

21

22namespace llvm {

23

28

29

30

31

32

33

34

35

37public:

38 static char ID;

40

41 void getAnalysisUsage(AnalysisUsage &AU) const override;

42

45 .setIsSSA()

46 .setLegalized()

47 .setRegBankSelected();

48 }

49

53

55 char &PassID = ID);

56

60

61protected:

62 class MIIteratorMaintainer;

63

68

70

72};

73}

74

75#endif

Represent the analysis usage information of a pass.

BlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation to estimate IR basic block frequen...

This pass is responsible for selecting generic machine instructions to target-specific instructions.

Definition InstructionSelect.h:36

InstructionSelector * ISel

Definition InstructionSelect.h:64

static char ID

Definition InstructionSelect.h:38

CodeGenOptLevel OptLevel

Definition InstructionSelect.h:69

MachineFunctionProperties getRequiredProperties() const override

Definition InstructionSelect.h:43

void setInstructionSelector(InstructionSelector *NewISel)

Definition InstructionSelect.h:59

InstructionSelect(CodeGenOptLevel OL=CodeGenOptLevel::Default, char &PassID=ID)

ProfileSummaryInfo * PSI

Definition InstructionSelect.h:67

MachineFunctionProperties getSetProperties() const override

Definition InstructionSelect.h:50

StringRef getPassName() const override

getPassName - Return a nice clean name for a pass.

Definition InstructionSelect.h:39

bool selectInstr(MachineInstr &MI)

BlockFrequencyInfo * BFI

Definition InstructionSelect.h:66

GISelValueTracking * VT

Definition InstructionSelect.h:65

MachineFunctionPass(char &ID)

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

Representation of each machine instruction.

Analysis providing profile information.

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.

CodeGenOptLevel

Code generation optimization level.