[PATCH] D150864: [AggressiveInstCombine] Handle the nested GEP/BitCast scenario in Load Merge.

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 22 12:43:48 PDT 2023


nikic added a comment.

Looks like there's a failing PhaseOrdering test.



================
Comment at: llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp:796-804
+  APInt Offset1(DL.getIndexTypeSizeInBits(Load1Ptr->getType()), 0);
+  Load1Ptr =
+      Load1Ptr->stripAndAccumulateConstantOffsets(DL, Offset1,
+                                                  /* AllowNonInbounds */ true);
+  // New load can be generated
   Builder.SetInsertPoint(LOps.RootInsert);
+  Value *newGEP = Builder.CreateGEP(Builder.getInt8Ty(), Load1Ptr,
----------------
Maybe do something like this, so we don't unnecessarily generate a new GEP if it's okay to use the existing address?


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

https://reviews.llvm.org/D150864



More information about the llvm-commits mailing list