Skip to content

Commit 00f4bf5

Browse files
authored
Revert "LLVMContext: Cleanup registration of known bundle IDs (#120359)"
This reverts commit 3666de9.
1 parent 0b4ee8d commit 00f4bf5

File tree

1 file changed

+50
-35
lines changed

1 file changed

+50
-35
lines changed

llvm/lib/IR/LLVMContext.cpp

Lines changed: 50 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -31,35 +31,6 @@
3131

3232
using namespace llvm;
3333

34-
static constexpr StringRef knownBundleName(unsigned BundleTagID) {
35-
switch (BundleTagID) {
36-
case LLVMContext::OB_deopt:
37-
return "deopt";
38-
case LLVMContext::OB_funclet:
39-
return "funclet";
40-
case LLVMContext::OB_gc_transition:
41-
return "gc-transition";
42-
case LLVMContext::OB_cfguardtarget:
43-
return "cfguardtarget";
44-
case LLVMContext::OB_preallocated:
45-
return "preallocated";
46-
case LLVMContext::OB_gc_live:
47-
return "gc-live";
48-
case LLVMContext::OB_clang_arc_attachedcall:
49-
return "clang.arc.attachedcall";
50-
case LLVMContext::OB_ptrauth:
51-
return "ptrauth";
52-
case LLVMContext::OB_kcfi:
53-
return "kcfi";
54-
case LLVMContext::OB_convergencectrl:
55-
return "convergencectrl";
56-
default:
57-
llvm_unreachable("unknown bundle id");
58-
}
59-
60-
llvm_unreachable("covered switch");
61-
}
62-
6334
LLVMContext::LLVMContext() : pImpl(new LLVMContextImpl(*this)) {
6435
// Create the fixed metadata kinds. This is done in the same order as the
6536
// MD_* enum values so that they correspond.
@@ -75,12 +46,56 @@ LLVMContext::LLVMContext() : pImpl(new LLVMContextImpl(*this)) {
7546
(void)ID;
7647
}
7748

78-
for (unsigned BundleTagID = LLVMContext::OB_deopt;
79-
BundleTagID <= LLVMContext::OB_convergencectrl; ++BundleTagID) {
80-
[[maybe_unused]] const auto *Entry =
81-
pImpl->getOrInsertBundleTag(knownBundleName(BundleTagID));
82-
assert(Entry->second == BundleTagID && "operand bundle id drifted!");
83-
}
49+
auto *DeoptEntry = pImpl->getOrInsertBundleTag("deopt");
50+
assert(DeoptEntry->second == LLVMContext::OB_deopt &&
51+
"deopt operand bundle id drifted!");
52+
(void)DeoptEntry;
53+
54+
auto *FuncletEntry = pImpl->getOrInsertBundleTag("funclet");
55+
assert(FuncletEntry->second == LLVMContext::OB_funclet &&
56+
"funclet operand bundle id drifted!");
57+
(void)FuncletEntry;
58+
59+
auto *GCTransitionEntry = pImpl->getOrInsertBundleTag("gc-transition");
60+
assert(GCTransitionEntry->second == LLVMContext::OB_gc_transition &&
61+
"gc-transition operand bundle id drifted!");
62+
(void)GCTransitionEntry;
63+
64+
auto *CFGuardTargetEntry = pImpl->getOrInsertBundleTag("cfguardtarget");
65+
assert(CFGuardTargetEntry->second == LLVMContext::OB_cfguardtarget &&
66+
"cfguardtarget operand bundle id drifted!");
67+
(void)CFGuardTargetEntry;
68+
69+
auto *PreallocatedEntry = pImpl->getOrInsertBundleTag("preallocated");
70+
assert(PreallocatedEntry->second == LLVMContext::OB_preallocated &&
71+
"preallocated operand bundle id drifted!");
72+
(void)PreallocatedEntry;
73+
74+
auto *GCLiveEntry = pImpl->getOrInsertBundleTag("gc-live");
75+
assert(GCLiveEntry->second == LLVMContext::OB_gc_live &&
76+
"gc-transition operand bundle id drifted!");
77+
(void)GCLiveEntry;
78+
79+
auto *ClangAttachedCall =
80+
pImpl->getOrInsertBundleTag("clang.arc.attachedcall");
81+
assert(ClangAttachedCall->second == LLVMContext::OB_clang_arc_attachedcall &&
82+
"clang.arc.attachedcall operand bundle id drifted!");
83+
(void)ClangAttachedCall;
84+
85+
auto *PtrauthEntry = pImpl->getOrInsertBundleTag("ptrauth");
86+
assert(PtrauthEntry->second == LLVMContext::OB_ptrauth &&
87+
"ptrauth operand bundle id drifted!");
88+
(void)PtrauthEntry;
89+
90+
auto *KCFIEntry = pImpl->getOrInsertBundleTag("kcfi");
91+
assert(KCFIEntry->second == LLVMContext::OB_kcfi &&
92+
"kcfi operand bundle id drifted!");
93+
(void)KCFIEntry;
94+
95+
auto *ConvergenceCtrlEntry = pImpl->getOrInsertBundleTag("convergencectrl");
96+
assert(ConvergenceCtrlEntry->second == LLVMContext::OB_convergencectrl &&
97+
"convergencectrl operand bundle id drifted!");
98+
(void)ConvergenceCtrlEntry;
8499

85100
SyncScope::ID SingleThreadSSID =
86101
pImpl->getOrInsertSyncScopeID("singlethread");

0 commit comments

Comments
 (0)