llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-amdgpu

Author: Matt Arsenault (arsenm)

<details>
<summary>Changes</summary>

Surprisingly this doesn't consider the special cases, and literally
just extracts the exponent and proceeds as normal.

---
Full diff: https://github.com/llvm/llvm-project/pull/179026.diff


2 Files Affected:

- (modified) llvm/lib/Analysis/ValueTracking.cpp (+4) 
- (added) llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-trig-preop.ll 
(+12) 


``````````diff
diff --git a/llvm/lib/Analysis/ValueTracking.cpp 
b/llvm/lib/Analysis/ValueTracking.cpp
index b0d640e33cc28..285e4655804e8 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -5534,6 +5534,10 @@ void computeKnownFPClass(const Value *V, const APInt 
&DemandedElts,
 
       break;
     }
+    case Intrinsic::amdgcn_trig_preop: {
+      Known.knownNot(fcNan | fcInf);
+      break;
+    }
     default:
       break;
     }
diff --git 
a/llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-trig-preop.ll 
b/llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-trig-preop.ll
new file mode 100644
index 0000000000000..170da3010cceb
--- /dev/null
+++ b/llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-trig-preop.ll
@@ -0,0 +1,12 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 
UTC_ARGS: --version 6
+; RUN: opt -S -passes=attributor -attributor-manifest-internal < %s | 
FileCheck %s
+
+define double @ret_trig_preop_f64(double %x, i32 %n) {
+; CHECK-LABEL: define nofpclass(nan inf) double @ret_trig_preop_f64(
+; CHECK-SAME: double [[X:%.*]], i32 [[N:%.*]]) #[[ATTR0:[0-9]+]] {
+; CHECK-NEXT:    [[RET:%.*]] = call nofpclass(nan inf) double 
@llvm.amdgcn.trig.preop.f64(double [[X]], i32 [[N]]) #[[ATTR2:[0-9]+]]
+; CHECK-NEXT:    ret double [[RET]]
+;
+  %ret = call double @llvm.amdgcn.trig.preop.f64(double %x, i32 %n)
+  ret double %ret
+}

``````````

</details>


https://github.com/llvm/llvm-project/pull/179026
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to