Skip to content

Commit aea70e2

Browse files
committed
[clang] Add regalloc PBQP for all targets in clang
1 parent 89d2b7e commit aea70e2

File tree

4 files changed

+13
-0
lines changed

4 files changed

+13
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// RUN: %clang_cc1 %s -triple x86_64 -O2 \
2+
// RUN: -mllvm -regalloc=pbqp \
3+
// RUN: -mllvm --print-changed -S |& FileCheck %s
4+
// CHECK: IR Dump After PBQP Register Allocator (regallocpbqp) on foo
5+
6+
extern int foo(int a, int b) {
7+
return a + b;
8+
}

llvm/include/llvm/InitializePasses.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,7 @@ LLVM_ABI void initializeReassociateLegacyPassPass(PassRegistry &);
269269
LLVM_ABI void
270270
initializeRegAllocEvictionAdvisorAnalysisLegacyPass(PassRegistry &);
271271
LLVM_ABI void initializeRegAllocFastPass(PassRegistry &);
272+
LLVM_ABI void initializeRegAllocPBQPPass(PassRegistry &);
272273
LLVM_ABI void
273274
initializeRegAllocPriorityAdvisorAnalysisLegacyPass(PassRegistry &);
274275
LLVM_ABI void initializeRegAllocScoringPass(PassRegistry &);

llvm/lib/CodeGen/CodeGen.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ void llvm::initializeCodeGen(PassRegistry &Registry) {
114114
initializeRAGreedyLegacyPass(Registry);
115115
initializeReachingDefInfoWrapperPassPass(Registry);
116116
initializeRegAllocFastPass(Registry);
117+
initializeRegAllocPBQPPass(Registry);
117118
initializeRegUsageInfoCollectorLegacyPass(Registry);
118119
initializeRegUsageInfoPropagationLegacyPass(Registry);
119120
initializeRegisterCoalescerLegacyPass(Registry);

llvm/lib/CodeGen/RegAllocPBQP.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -946,6 +946,9 @@ void PBQP::RegAlloc::PBQPRAGraph::printDot(raw_ostream &OS) const {
946946
OS << "}\n";
947947
}
948948

949+
INITIALIZE_PASS(RegAllocPBQP, "regallocpbqp", "PBQP Register Allocator", false,
950+
false)
951+
949952
FunctionPass *llvm::createPBQPRegisterAllocator(char *customPassID) {
950953
return new RegAllocPBQP(customPassID);
951954
}

0 commit comments

Comments
 (0)