[PATCH] D63948: [SLP] Limit compilation time of look-ahead operand reordering heuristic.

Vasileios Porpodas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 1 12:29:17 PDT 2019


vporpo marked an inline comment as done.
vporpo added a comment.

OK let me try to create a test that causes a change in the IR.



================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:921
+      for (unsigned OpIdx1 = 0,
+                    NumOperands1 = std::min(I1->getNumOperands(),
+                                            LookAheadOperandsBudget.getValue());
----------------
ABataev wrote:
> vporpo wrote:
> > ABataev wrote:
> > > Do you really need this limit?
> > Yes, because it could be a call /phi instruction with many operands.
> Does this really the cause of the problems? It would be good to see some additional investigation if this is really required.
This can cause problems if you have a look-ahead depth > 2. Consider the case where you have chains of phis or calls. You can spend a lot of time visiting all their operands.
Though I agree, restricting the uses is more important.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D63948





More information about the llvm-commits mailing list