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)