================
@@ -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

Reply via email to