[llvm] [LICM] Promote conditional, loop-invariant memory accesses to scalars with intrinsic (PR #93999)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri May 31 14:26:51 PDT 2024


================
@@ -2322,6 +2322,21 @@ def int_vp_is_fpclass:
                                 llvm_i32_ty],
                               [IntrNoMem, IntrSpeculatable, ImmArg<ArgIndex<1>>]>;
 
+//===-------------------------- Conditional Intrinsics --------------------===//
+//
+
+def int_conditional_store:
+  DefaultAttrsIntrinsic</*ret_types*/[],
+                        /*param_types*/[/*Val*/llvm_any_ty,
+                                        /*Ptr*/llvm_anyptr_ty,
+                                        /*Alignment*/llvm_i32_ty,
+                                        /*Condition*/llvm_i1_ty],
+                        /*intr_properties*/[IntrWriteMem,
+                                            IntrArgMemOnly,
+                                            IntrWillReturn,
----------------
arsenm wrote:

I assume IntrWillReturn is implied by DefaultAttrsIntrinsic

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


More information about the llvm-commits mailing list