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

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_CODEGEN_REGISTERBANK_H

14#define LLVM_CODEGEN_REGISTERBANK_H

15

17#include

18

19namespace llvm {

20

25

26

27

28

30private:

31 unsigned ID;

32 unsigned NumRegClasses;

33 const char *Name;

34 const uint32_t *CoveredClasses;

35

36

37 friend RegisterBankInfo;

38

39public:

41 const uint32_t *CoveredClasses, unsigned NumRegClasses)

42 : ID(ID), NumRegClasses(NumRegClasses), Name(Name),

43 CoveredClasses(CoveredClasses) {}

44

45

46 unsigned getID() const { return ID; }

47

48

49

50 const char *getName() const { return Name; }

51

52

53

54

55

56

57

60

61

62

63

65

66

71

72

73

75

76

77

78

79

80

83};

84

86 RegBank.print(OS);

87 return OS;

88}

89}

90

91#endif

Register const TargetRegisterInfo * TRI

Holds all the information related to register banks.

This class implements the register bank concept.

Definition RegisterBank.h:29

constexpr RegisterBank(unsigned ID, const char *Name, const uint32_t *CoveredClasses, unsigned NumRegClasses)

Definition RegisterBank.h:40

LLVM_ABI void print(raw_ostream &OS, bool IsForDebug=false, const TargetRegisterInfo *TRI=nullptr) const

Print the register mask on OS.

LLVM_ABI void dump(const TargetRegisterInfo *TRI=nullptr) const

Dump the register mask on dbgs() stream.

LLVM_ABI bool covers(const TargetRegisterClass &RC) const

Check whether this register bank covers RC.

const char * getName() const

Get a user friendly name of this register bank.

Definition RegisterBank.h:50

unsigned getID() const

Get the identifier of this register bank.

Definition RegisterBank.h:46

bool operator!=(const RegisterBank &OtherRB) const

Definition RegisterBank.h:68

LLVM_ABI bool operator==(const RegisterBank &OtherRB) const

Check whether OtherRB is the same as this.

TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDes...

This class implements an extremely fast bulk output stream that can only output to a stream.

This is an optimization pass for GlobalISel generic memory operations.

raw_ostream & operator<<(raw_ostream &OS, const APFixedPoint &FX)