[llvm] [Attributor][FIX] Replace AANoFPClass MBEC propagation (PR #91030)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon May 13 07:40:55 PDT 2024


================
@@ -27,8 +27,8 @@ define { float, i32 } @ret_frexp_f32_nonan(float nofpclass(nan) %arg0) {
 
 define float @ret_frexp_f32_0_nonan(float nofpclass(nan) %arg0) {
 ; CHECK-LABEL: define nofpclass(nan sub) float @ret_frexp_f32_0_nonan
-; CHECK-SAME: (float nofpclass(nan sub) [[ARG0:%.*]]) #[[ATTR1]] {
-; CHECK-NEXT:    [[CALL:%.*]] = call { float, i32 } @llvm.frexp.f32.i32(float [[ARG0]]) #[[ATTR7]]
+; CHECK-SAME: (float nofpclass(nan) [[ARG0:%.*]]) #[[ATTR1]] {
----------------
arsenm wrote:

The floating point component of the return value of frexp cannot be a denormal. The input could be anything. Because it returns a struct, anything you want to say about the frexp result has to be applied to the extractvalue user of frexp, not the frexp directly 

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


More information about the llvm-commits mailing list