]> granicus.if.org Git - llvm/commit
[DAGCombine] Limit the number of times for the same store and root nodes
authorWei Mi <wmi@google.com>
Wed, 31 Jul 2019 19:59:24 +0000 (19:59 +0000)
committerWei Mi <wmi@google.com>
Wed, 31 Jul 2019 19:59:24 +0000 (19:59 +0000)
commit84491ec4621c0245a9512bb9bc7976306008f4b4
treecec8ba008b7d3f031aa7de4882f4a7d8b1cad171
parent44846c4c50b6f0bf196150018e3132b21ff88b37
[DAGCombine] Limit the number of times for the same store and root nodes
to bail out in store merging dependence check.

We run into a case where dependence check in store merging bail out many times
for the same store and root nodes in a huge basicblock. That increases compile
time by almost 100x. The patch add a map to track how many times the bailing
out happen for the same store and root, and if it is over a limit, stop
considering the store with the same root as a merging candidate.

Differential Revision: https://reviews.llvm.org/D65174

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367472 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp