[llvm] [FunctionAttrs] Don't infer noundef when return has nofpclass (PR #191822)
Yingwei Zheng via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 14 10:05:31 PDT 2026
================
@@ -1742,6 +1743,11 @@ static void addNoUndefAttrs(const SCCNodeSet &SCCNodes,
!Attr.getRange().contains(
computeConstantRange(RetVal, /*ForSigned=*/false)))
return false;
+
+ FPClassTest AttrFPClass = Attrs.getRetNoFPClass();
+ KnownFPClass ComputedFPClass = computeKnownFPClass(RetVal, DL);
+ if (!ComputedFPClass.isKnownNever(AttrFPClass))
+ return false;
----------------
dtcxzyw wrote:
```suggestion
if (AttrFPClass != fcNone) {
KnownFPClass ComputedFPClass = computeKnownFPClass(RetVal, DL);
if (!ComputedFPClass.isKnownNever(AttrFPClass))
return false;
}
```
RetVal may not be a nofpclass-compatible value.
https://github.com/llvm/llvm-project/pull/191822
More information about the llvm-commits
mailing list