[clang] [clang][CodeGen] Ensure consistent `mustprogress` attribute emission across all paths (PR #71452)

Antonio Frighetto via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 8 11:17:12 PST 2023


================
@@ -1482,6 +1477,11 @@ void CodeGenFunction::GenerateCode(GlobalDecl GD, llvm::Function *Fn,
   } else
     llvm_unreachable("no definition for emitted function");
 
+  // This is checked after emitting the function body so we know if there
+  // are any permitted infinite loops.
----------------
antoniofrighetto wrote:

Comment was added in https://github.com/llvm/llvm-project/commit/ac73b73c16526c9e51943759ea6cab285a57e33f. Perhaps something along these lines could work better?
```cpp
// This is checked after emitting the function body, so as to ensure
// that the function adheres to the forward progress guarantee,
// which is required by certain optimizations.
```

https://github.com/llvm/llvm-project/pull/71452


More information about the cfe-commits mailing list