[clang] Replace llvm.memcpy et al's i1 isVolatile with i8 VolFlags (PR #65748)

Nathan Sidwell via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 15 12:08:14 PDT 2023


================
@@ -24790,8 +24790,8 @@ static SDValue LowerVACOPY(SDValue Op, const X86Subtarget &Subtarget,
   return DAG.getMemcpy(
       Chain, DL, DstPtr, SrcPtr,
       DAG.getIntPtrConstant(Subtarget.isTarget64BitLP64() ? 24 : 16, DL),
-      Align(Subtarget.isTarget64BitLP64() ? 8 : 4), /*isVolatile*/ false, false,
-      false, MachinePointerInfo(DstSV), MachinePointerInfo(SrcSV));
+      Align(Subtarget.isTarget64BitLP64() ? 8 : 4), /*Vol=*/{false, false},
----------------
urnathan wrote:

Just pushed a patch that uses `MemTransferVolatility` default ctor for the non-volatile case, and allows `.Dst(bool)`, `.Src(bool)` and/or `.All(bool)` to explicitly specify.  One does need the ability to provide runtime values there.

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


More information about the cfe-commits mailing list