LLVM: include/llvm/CodeGen/PBQPRAConstraint.h Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef LLVM_CODEGEN_PBQPRACONSTRAINT_H
16#define LLVM_CODEGEN_PBQPRACONSTRAINT_H
17
19#include
20#include
21#include
22
23namespace llvm {
24
25namespace PBQP {
32}
33
35
36
37
39public:
42
43private:
44 virtual void anchor();
45};
46
47
48
49
50
52public:
53
57
59 for (auto &C : Constraints)
61 }
62
64 if (C)
65 Constraints.push_back(std::move(C));
66 }
67
68private:
69 std::vector<std::unique_ptr> Constraints;
70
71 void anchor() override;
72};
73
74}
75
76#endif
PBQPRAConstraintList & operator=(const PBQPRAConstraintList &)=delete
void addConstraint(std::unique_ptr< PBQPRAConstraint > C)
Definition PBQPRAConstraint.h:63
PBQPRAConstraintList()=default
void apply(PBQPRAGraph &G) override
Definition PBQPRAConstraint.h:58
PBQPRAConstraintList(const PBQPRAConstraintList &)=delete
Abstract base for classes implementing PBQP register allocation constraints (e.g.
Definition PBQPRAConstraint.h:38
virtual ~PBQPRAConstraint()=0
virtual void apply(PBQPRAGraph &G)=0
@ C
The default llvm calling convention, compatible with C.
Definition PBQPRAConstraint.h:26
This is an optimization pass for GlobalISel generic memory operations.
PBQP::RegAlloc::PBQPRAGraph PBQPRAGraph
Definition PBQPRAConstraint.h:34