[PATCH] D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 13 16:49:06 PST 2020


arsenm added inline comments.


================
Comment at: lib/Transforms/Scalar/SROA.cpp:3470
+            IRB.CreateInBoundsGEP(AggTy, Ptr, GEPIndices, Name + ".gep");
+        IntegerType *IntTy = dyn_cast<IntegerType>(*(It+i));
+        LoadInst *Load =
----------------
Unchecked dyn cast, jut cast


================
Comment at: lib/Transforms/Scalar/SROA.cpp:3550
+        unsigned InsideOffset = Rewriter.FieldOffset[i] - BeginOffset;
+        IntegerType *IntTy = dyn_cast<IntegerType>(*(It+i));
+        Value *SubV = extractInteger(DL, IRB, V, IntTy, InsideOffset, Name);
----------------
Unchecked dyn_cast


================
Comment at: test/Transforms/SROA/split-integer.ll:15
+
+define i64 @foo() {
+  %1 = alloca %"struct.std::__u::__tuple_impl", align 8
----------------
Test should be smaller, check more, and use named values


Repository:
  rL LLVM

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

https://reviews.llvm.org/D68414





More information about the llvm-commits mailing list