================
@@ -1564,6 +1576,11 @@ void CIRGenFunction::instantiateIndirectGotoBlock() {
{builder.getUnknownLoc()});
}
+void CIRGenFunction::takeAddressOfConstantLabel(cir::BlockAddrInfoAttr info) {
+ constBlockAddressLabels.push_back(info);
+ instantiateIndirectGotoBlock();
----------------
adams381 wrote:
Moved instantiation to `emitIndirectGotoStmt`, so a function that takes a label
address but never does `goto *` emits no indirect branch (no more poison
fallback). That diverges from classic, which still emits a dead poisoned
indirectbr; `h` and `E` (label-values.c) cover it.
https://github.com/llvm/llvm-project/pull/201644
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits