[PATCH] D152706: [AMDGPU] Use SSAUpdater in PromoteAlloca

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 13 08:34:43 PDT 2023


arsenm added inline comments.


================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp:463
+      return Builder.CreateShuffleVector(GetOrLoadCurrentVectorValue(), Mask);
+    } else if (MemSetInst *MSI = dyn_cast<MemSetInst>(Inst)) {
+      // For memset, we don't need to know the previous value because we
----------------
no else after return


================
Comment at: llvm/test/CodeGen/AMDGPU/fix-frame-reg-in-custom-csr-spills.ll:67
   %alloca.val = alloca <8 x i32>, align 64, addrspace(5)
   store volatile <8 x i32> %val, ptr addrspace(5) %alloca.val, align 64
   call void asm sideeffect "", "~{v40}" ()
----------------
Why did this change? It only uses volatile accesses 


================
Comment at: llvm/test/CodeGen/AMDGPU/promote-alloca-loadstores.ll:127
+; Currently rejected due to the store not being cast-able.
+; TODO: We should probably be able to vectorize this
+define void @alloca_load_store_ptr_mixed_ptrvec(<2 x ptr addrspace(3)> %arg) {
----------------
There was a recent bug filed that amounts to not handling this (it didn't use pointers, but just different sized vectors)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D152706/new/

https://reviews.llvm.org/D152706



More information about the llvm-commits mailing list