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 /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | fc4bff0cd37fa84ee74e6dff7170b643df3ffa42 (diff) | |
download | llvm-1a25133bcdfeb525168ed4bd7e747463e635d0a4.zip llvm-1a25133bcdfeb525168ed4bd7e747463e635d0a4.tar.gz llvm-1a25133bcdfeb525168ed4bd7e747463e635d0a4.tar.bz2 |
[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 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions