diff options
| author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2020-09-09 19:09:52 +0200 |
|---|---|---|
| committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2020-09-09 19:13:46 +0200 |
| commit | 1a25133bcdfeb525168ed4bd7e747463e635d0a4 (patch) | |
| tree | e929f4d64b89c671048591def08b51b547d429ed /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | fc4bff0cd37fa84ee74e6dff7170b643df3ffa42 (diff) | |
[DAGCombine] Skip re-visiting EntryToken to avoid compile time explosion
During the main DAGCombine loop, whenever a node gets replaced, the new
node and all its users are pushed onto the worklist. Omit this if the
new node is the EntryToken (e.g. if a store managed to get optimized
out), because re-visiting the EntryToken and its users will not uncover
any additional opportunities, but there may be a large number of such
users, potentially causing compile time explosion.
This compile time explosion showed up in particular when building the
SingleSource/UnitTests/matrix-types-spec.cpp test-suite case on any
platform without SIMD vector support.
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D86963
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
