[llvm] [IR] Add new function attribute nocreateundeforpoison (PR #164809)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 23 07:30:37 PDT 2025


================
@@ -1110,29 +1102,49 @@ let IntrProperties = [IntrNoMem, IntrSpeculatable] in {
   def int_frexp : DefaultAttrsIntrinsic<[llvm_anyfloat_ty, llvm_anyint_ty], [LLVMMatchType<0>]>;
 }
 
+let IntrProperties = [IntrNoMem, IntrSpeculatable] in {
+  // These functions do not read memory, but are sensitive to the
+  // rounding mode. LLVM purposely does not model changes to the FP
+  // environment so they can be treated as readnone.
+  def int_asin : DefaultAttrsIntrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]>;
----------------
nikic wrote:

Add a TODO to move these into the IntrNoCreateUndefOrPoison case above? I don't think any of these produce poison, they were just missing from the switch...

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


More information about the llvm-commits mailing list