[llvm] [SROA] Prevent load atomic vector from being generated (PR #112432)

via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 16 09:09:56 PDT 2024


================
@@ -2853,6 +2853,11 @@ class AllocaSliceRewriter : public InstVisitor<AllocaSliceRewriter, bool> {
 
   bool visitLoadInst(LoadInst &LI) {
     LLVM_DEBUG(dbgs() << "    original: " << LI << "\n");
+
+    // load atomic vector would be generated, which is illegal
+    if (LI.isAtomic() && NewAI.getAllocatedType()->isVectorTy())
----------------
jofrn wrote:

Something like `bool LoadInst::isValidAtomicTy(AllocaInst &AI) const`? AllocaSliceRewriter needs to look at the associated `alloca`.

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


More information about the llvm-commits mailing list