aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2019-05-03 13:09:18 +0000
committerSanjay Patel <spatel@rotateright.com>2019-05-03 13:09:18 +0000
commit8ff072e48eceee35ff105d5d47853a9307302293 (patch)
treefd0d688c7b777abc105aed1840931e622a7c4389 /llvm/lib/Bitcode/Reader/MetadataLoader.cpp
parentfd75ee9154d25a7ac4b806a193ef7ad846703c0c (diff)
downloadllvm-8ff072e48eceee35ff105d5d47853a9307302293.zip
llvm-8ff072e48eceee35ff105d5d47853a9307302293.tar.gz
llvm-8ff072e48eceee35ff105d5d47853a9307302293.tar.bz2
[CodeGenPrepare] limit overflow intrinsic matching to a single basic block
Using/updating a dominator tree to match math overflow patterns may be very expensive in compile-time (because of the way CGP uses a DT), so just handle the single-block case. Also, we were restarting the iterator loops when doing the overflow intrinsic transforms by marking the dominator tree for update. That was done to prevent iterating over a removed instruction. But we can postpone the deletion using the existing "RemovedInsts" structure, and that means we don't need to update the DT. See post-commit thread for rL354298 for more details: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190422/646276.html Differential Revision: https://reviews.llvm.org/D61075 llvm-svn: 359879
Diffstat (limited to 'llvm/lib/Bitcode/Reader/MetadataLoader.cpp')
0 files changed, 0 insertions, 0 deletions