[PATCH] D110547: [MemCpyOpt] Use EarliestEscapeInfo instead of callCapturesBefore.
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 27 06:07:03 PDT 2021
fhahn created this revision.
fhahn added reviewers: asbirlea, nikic.
Herald added a subscriber: hiraditya.
fhahn requested review of this revision.
Herald added a project: LLVM.
D110368 <https://reviews.llvm.org/D110368> exposed 'earliest escape' handling in BatchAA. We can use this
via BatchAA instead of the single call of callCapturesBefore in
MemCpyOpt to improve the results in most cases.
On SPEC2006/SPEC2017/MultiSource we get the following changes:
Metric: memcpyopt.NumCallSlot
test-suite.../CINT2006/403.gcc/403.gcc.test 17.00 26.00 52.9%
test-suite...510.parest_r/510.parest_r.test 718.00 773.00 7.7%
test-suite...006/447.dealII/447.dealII.test 12.00 12.00 0.0%
test-suite...yApps-C++/PENNANT/PENNANT.test 9.00 9.00 0.0%
test-suite...speed/602.gcc_s/602.gcc_s.test 15.00 14.00 -6.7%
test-suite...7rate/502.gcc_r/502.gcc_r.test 15.00 14.00 -6.7%
Metric: memcpyopt.NumMemCpyInstr
test-suite.../CINT2006/403.gcc/403.gcc.test 47.00 62.00 31.9%
test-suite...510.parest_r/510.parest_r.test 1600.00 1654.00 3.4%
test-suite...006/447.dealII/447.dealII.test 108.00 108.00 0.0%
test-suite...marks/7zip/7zip-benchmark.test 10.00 10.00 0.0%
test-suite...yApps-C++/PENNANT/PENNANT.test 13.00 13.00 0.0%
test-suite...speed/602.gcc_s/602.gcc_s.test 91.00 90.00 -1.1%
test-suite...7rate/502.gcc_r/502.gcc_r.test 91.00 90.00 -1.1%
Metric: memcpyopt.NumMoveToCpy
test-suite...marks/7zip/7zip-benchmark.test 4.00 19.00 375.0%
test-suite...006/447.dealII/447.dealII.test 122.00 150.00 23.0%
test-suite...510.parest_r/510.parest_r.test 322.00 394.00 22.4%
test-suite...speed/602.gcc_s/602.gcc_s.test NaN NaN NaN
test-suite...7rate/502.gcc_r/502.gcc_r.test NaN NaN NaN
test-suite.../CINT2006/403.gcc/403.gcc.test NaN NaN NaN
test-suite...yApps-C++/PENNANT/PENNANT.test NaN 4.00 NaN
No changes for memcpyopt.NumMemSetInfer
Compile-time impact
NewPM-O3: +0.02 (outlier mafft +0.31%)
NewPM-ReleaseThinLTO: +0.01% (no notable outliers)
NewPM-ReleaseLTO-g: +0.03% (no notable outliers)
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D110547
Files:
llvm/include/llvm/Analysis/AliasAnalysis.h
llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
llvm/lib/Analysis/BasicAliasAnalysis.cpp
llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
llvm/test/Transforms/MemCpyOpt/callslot.ll
llvm/test/Transforms/MemCpyOpt/load-store-to-memcpy.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D110547.375235.patch
Type: text/x-patch
Size: 9379 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210927/de7d890f/attachment.bin>
More information about the llvm-commits
mailing list