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)

60 C->apply(G);

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