[llvm] [AMDGPU] Propagate AA info in vector load/store splitting. (PR #168871)

Leon Clark via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 20 04:57:53 PST 2025


https://github.com/PeddleSpam created https://github.com/llvm/llvm-project/pull/168871

None

>From 543c61490d96196d41b22677fd93dd74a42b1276 Mon Sep 17 00:00:00 2001
From: Leon Clark <leoclark at amd.com>
Date: Thu, 20 Nov 2025 12:35:56 +0000
Subject: [PATCH] Propagate AA info in vector load/store splitting.

---
 llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
index a44af5f854c18..1233ceaca00e0 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
@@ -1887,12 +1887,14 @@ SDValue AMDGPUTargetLowering::SplitVectorLoad(const SDValue Op,
 
   SDValue LoLoad = DAG.getExtLoad(Load->getExtensionType(), SL, LoVT,
                                   Load->getChain(), BasePtr, SrcValue, LoMemVT,
-                                  BaseAlign, Load->getMemOperand()->getFlags());
+                                  BaseAlign, Load->getMemOperand()->getFlags(),
+                                  Load->getAAInfo());
   SDValue HiPtr = DAG.getObjectPtrOffset(SL, BasePtr, TypeSize::getFixed(Size));
   SDValue HiLoad =
       DAG.getExtLoad(Load->getExtensionType(), SL, HiVT, Load->getChain(),
                      HiPtr, SrcValue.getWithOffset(LoMemVT.getStoreSize()),
-                     HiMemVT, HiAlign, Load->getMemOperand()->getFlags());
+                     HiMemVT, HiAlign, Load->getMemOperand()->getFlags(),
+                     Load->getAAInfo());
 
   SDValue Join;
   if (LoVT == HiVT) {
@@ -1980,10 +1982,11 @@ SDValue AMDGPUTargetLowering::SplitVectorStore(SDValue Op,
 
   SDValue LoStore =
       DAG.getTruncStore(Chain, SL, Lo, BasePtr, SrcValue, LoMemVT, BaseAlign,
-                        Store->getMemOperand()->getFlags());
+                        Store->getMemOperand()->getFlags(), Store->getAAInfo());
   SDValue HiStore =
       DAG.getTruncStore(Chain, SL, Hi, HiPtr, SrcValue.getWithOffset(Size),
-                        HiMemVT, HiAlign, Store->getMemOperand()->getFlags());
+                        HiMemVT, HiAlign, Store->getMemOperand()->getFlags(),
+                        Store->getAAInfo());
 
   return DAG.getNode(ISD::TokenFactor, SL, MVT::Other, LoStore, HiStore);
 }



More information about the llvm-commits mailing list