[llvm] [IPO] Prevent removal of some convergent attr (PR #134863)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 8 08:42:16 PDT 2025
================
@@ -1967,7 +1980,9 @@ static void inferConvergent(const SCCNodeSet &SCCNodes,
AI.registerAttrInference(AttributeInferer::InferenceDescriptor{
Attribute::Convergent,
// Skip non-convergent functions.
- [](const Function &F) { return !F.isConvergent(); },
+ [](const Function &F) {
+ return !F.isConvergent() || FunctionRequiresConvergence(F);
+ },
----------------
arsenm wrote:
Does FunctionAttrs run in a bottom up and top down phase? Ideally we wouldn't need to inspect the users of the function, and strip convergent from call sites when possible
https://github.com/llvm/llvm-project/pull/134863
More information about the llvm-commits
mailing list