[PATCH] D19202: [PR27390] [CodeGen] Reject indexed loads in CombinerDAG.

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 25 08:46:30 PDT 2016


hfinkel added inline comments.

================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAG.cpp:6964
@@ -6963,1 +6963,3 @@
     return false;
+  if (LD->isIndexed() || Base->isIndexed())
+    return false;
----------------
koriakin wrote:
> koriakin wrote:
> > hfinkel wrote:
> > > Okay. Please check in DAGCombiner::CombineConsecutiveLoads instead. Otherwise, LGTM.
> > Hmm, I'm not sure the logic in areNonVolatileConsecutiveLoads works right in the presence of indexed load anyhow (in particular, pre-indexing needs to be taken into account).  I'll take a look.
> Right, areNonVolatileConsecutiveLoads is incorrect for pre-indexed loads - it only takes getOperand(1) into account.  So even if some caller can handle the indexing, it'll provide wrong answers.
Fair enough. This is fine as-is then. Thanks!


Repository:
  rL LLVM

http://reviews.llvm.org/D19202





More information about the llvm-commits mailing list