[llvm] [FunctionAttrs] Don't infer noundef when return has nofpclass (PR #191822)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 16 06:40:25 PDT 2026
================
@@ -1742,6 +1743,13 @@ static void addNoUndefAttrs(const SCCNodeSet &SCCNodes,
!Attr.getRange().contains(
computeConstantRange(RetVal, /*ForSigned=*/false)))
return false;
+
+ FPClassTest AttrFPClass = Attrs.getRetNoFPClass();
+ if (AttrFPClass != fcNone) {
+ KnownFPClass ComputedFPClass = computeKnownFPClass(RetVal, DL);
+ if (!ComputedFPClass.isKnownNever(AttrFPClass))
+ return false;
+ }
----------------
arsenm wrote:
Maybe there should be an assert there are no remaining poison generating return attributes in case another gets added
https://github.com/llvm/llvm-project/pull/191822
More information about the llvm-commits
mailing list