aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@de.ibm.com>2020-09-09 19:09:52 +0200
committerUlrich Weigand <ulrich.weigand@de.ibm.com>2020-09-09 19:13:46 +0200
commit1a25133bcdfeb525168ed4bd7e747463e635d0a4 (patch)
treee929f4d64b89c671048591def08b51b547d429ed /clang/lib/CodeGen/CodeGenFunction.cpp
parentfc4bff0cd37fa84ee74e6dff7170b643df3ffa42 (diff)
downloadllvm-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