Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3 |
|
#
6ab26eab |
| 28-Oct-2024 |
Ellis Hoag <ellis.sparky.hoag@gmail.com> |
Check hasOptSize() in shouldOptimizeForSize() (#112626)
|
Revision tags: llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3 |
|
#
0da2ba81 |
| 17-Aug-2024 |
Daniil Fukalov <dfukalov@gmail.com> |
[NFC] Cleanup in ADT and Analysis headers. (#104484)
Remove unused directly includes and forward declarations in ADT and
Analysis headers.
|
Revision tags: llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init |
|
#
80155cbf |
| 29-Jun-2023 |
Han Shen <shenhan@google.com> |
[Analysis] Refactor MBB hotness/coldness into templated PSI functions.
Currently, to use PSI->isFunctionHotInCallGraph, we first need to calculate BPI->BFI, which is expensive. Instead, we can imple
[Analysis] Refactor MBB hotness/coldness into templated PSI functions.
Currently, to use PSI->isFunctionHotInCallGraph, we first need to calculate BPI->BFI, which is expensive. Instead, we can implement this directly with MBFI. Also as @wenlei mentioned in another patch review, that MachineSizeOpts already has isFunctionColdInCallGraph, isFunctionHotInCallGraphNthPercentile, etc implemented. These can be refactored and so they can be reused across MachineFunctionSplitting and MachineSizeOpts passes.
This CL does this - it refactors out those internal static functions into PSI as templated functions, so they can be accessed easily.
Differential Revision: https://reviews.llvm.org/D153927
show more ...
|
#
4bb3d0e5 |
| 28-Jun-2023 |
Fangrui Song <i@maskray.me> |
Revert D153927 "Resubmit with fix: [NFC] Refactor MBB hotness/coldness into templated PSI functions."
This reverts commit 4d8cf2ae6804e0d3f2b668dbec0f5c1983358328.
There is a library layering viola
Revert D153927 "Resubmit with fix: [NFC] Refactor MBB hotness/coldness into templated PSI functions."
This reverts commit 4d8cf2ae6804e0d3f2b668dbec0f5c1983358328.
There is a library layering violation. LLVMAnalysis cannot depend on LLVMCodeGen.
``` llvm/include/llvm/Analysis/ProfileSummaryInfo.h:19:10: fatal error: 'llvm/CodeGen/MachineFunction.h' file not found 19 | #include "llvm/CodeGen/MachineFunction.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ```
show more ...
|
#
4d8cf2ae |
| 27-Jun-2023 |
Han Shen <shenhan@google.com> |
Resubmit with fix: [NFC] Refactor MBB hotness/coldness into templated PSI functions.
In D152399, we calculate BPI->BFI in MachineFunctionSplit pass just to use PSI->isFunctionHotInCallGraph, which i
Resubmit with fix: [NFC] Refactor MBB hotness/coldness into templated PSI functions.
In D152399, we calculate BPI->BFI in MachineFunctionSplit pass just to use PSI->isFunctionHotInCallGraph, which is expensive. Instead, we can implement this directly with MBFI.
Reviewer mentioned in the comment, that machine_size_opts already has isFunctionColdInCallGraph, isFunctionHotInCallGraphNthPercentile, etc implemented. These can be refactored and reused across MFS and machine size opts.
This CL does this - it refactors out those internal static functions into PSI as templated functions, so they can be accessed easily.
Differential Revision: https://reviews.llvm.org/D153927
show more ...
|
#
bfa1057b |
| 27-Jun-2023 |
Aiden Grossman <agrossman154@yahoo.com> |
Revert "[NFC] Refactor MBB hotness/coldness into templated PSI functions."
This reverts commit c3e33720403c010e140c17313eeefd9a0f25887a.
This has broken quite a few buildbots.
|
#
c3e33720 |
| 24-Jun-2023 |
Han Shen <shenhan@google.com> |
[NFC] Refactor MBB hotness/coldness into templated PSI functions.
In D152399, we calculate BPI->BFI in MachineFunctionSplit pass just to use PSI->isFunctionHotInCallGraph, which is expensive. Instea
[NFC] Refactor MBB hotness/coldness into templated PSI functions.
In D152399, we calculate BPI->BFI in MachineFunctionSplit pass just to use PSI->isFunctionHotInCallGraph, which is expensive. Instead, we can implement this directly with MBFI.
Reviewer mentioned in the comment, that machine_size_opts already has isFunctionColdInCallGraph, isFunctionHotInCallGraphNthPercentile, etc implemented. These can be refactored and reused across MFS and machine size opts.
This CL does this - it refactors out those internal static functions into PSI as templated functions, so they can be accessed easily.
Differential Revision: https://reviews.llvm.org/D152758
show more ...
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5 |
|
#
557efc9a |
| 04-Jun-2022 |
Fangrui Song <i@maskray.me> |
[llvm] Remove unneeded cl::ZeroOrMore for cl::opt options. NFC
Some cl::ZeroOrMore were added to avoid the `may only occur zero or one times!` error. More were added due to cargo cult. Since the err
[llvm] Remove unneeded cl::ZeroOrMore for cl::opt options. NFC
Some cl::ZeroOrMore were added to avoid the `may only occur zero or one times!` error. More were added due to cargo cult. Since the error has been removed, cl::ZeroOrMore is unneeded.
Also remove cl::init(false) while touching the lines.
show more ...
|
Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1 |
|
#
d8aba75a |
| 07-May-2021 |
Fangrui Song <i@maskray.me> |
Internalize some cl::opt global variables or move them under namespace llvm
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1 |
|
#
557db6f8 |
| 23-Jul-2020 |
Hiroshi Yamauchi <yamauchi@google.com> |
Reland D84057 [PGO][PGSO] Remove a temporary flag used for gradual rollout.
The revert was a misfire.
Remove the temporary flag PGSOIRPassOrTestOnly and the guard code which was used for the staged
Reland D84057 [PGO][PGSO] Remove a temporary flag used for gradual rollout.
The revert was a misfire.
Remove the temporary flag PGSOIRPassOrTestOnly and the guard code which was used for the staged rollout. This is a cleanup (NFC) as it's now false by default.
Differential Revision: https://reviews.llvm.org/D84057
show more ...
|
#
dbdda823 |
| 22-Jul-2020 |
Fangrui Song <maskray@google.com> |
Revert D84057 "[PGO][PGSO] Remove a temporary flag used for gradual rollout."
This reverts commit e64afefdf88d2607c476f13de05193c0f8991976. It caused a PGO bootstrapped clang to crash on many source
Revert D84057 "[PGO][PGSO] Remove a temporary flag used for gradual rollout."
This reverts commit e64afefdf88d2607c476f13de05193c0f8991976. It caused a PGO bootstrapped clang to crash on many source files.
`__llvm_profile_instrument_range` seems to trigger a null pointer dereference.
Call stack: __llvm_profile_instrument_range llvm::APInt::udiv(llvm::APInt const&) const getRangeForAffineARHelper
show more ...
|
#
e64afefd |
| 17-Jul-2020 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Remove a temporary flag used for gradual rollout.
Remove the temporary flag PGSOIRPassOrTestOnly and the guard code which was used for the staged rollout. This is a cleanup (NFC) as it's
[PGO][PGSO] Remove a temporary flag used for gradual rollout.
Remove the temporary flag PGSOIRPassOrTestOnly and the guard code which was used for the staged rollout. This is a cleanup (NFC) as it's now false by default.
Differential Revision: https://reviews.llvm.org/D84057
show more ...
|
Revision tags: llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
#
9e1decf7 |
| 17-Jun-2020 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Enable non-cold size opts under partial profile sample PGO.
Summary: Similar to D81020. Follow up D78949.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differen
[PGO][PGSO] Enable non-cold size opts under partial profile sample PGO.
Summary: Similar to D81020. Follow up D78949.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D82053
show more ...
|
#
b5632f40 |
| 02-Jun-2020 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Enable non-cold code size opts under non-partial-profile sample PGO.
Summary: Following up D78949.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Re
[PGO][PGSO] Enable non-cold code size opts under non-partial-profile sample PGO.
Summary: Following up D78949.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D81020
show more ...
|
Revision tags: llvmorg-10.0.1-rc1 |
|
#
18319868 |
| 27-Apr-2020 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Prep for enabling non-cold code size opts under non-partial-profile sample PGO.
Summary: - Distinguish between partial-profile and non-partial-profile sample PGO. - Add a flag for partia
[PGO][PGSO] Prep for enabling non-cold code size opts under non-partial-profile sample PGO.
Summary: - Distinguish between partial-profile and non-partial-profile sample PGO. - Add a flag for partial-profile sample PGO. - Tune the sample PGO cutoff. - No default behavior change (yet).
Reviewers: davidxl
Subscribers: eraman, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D78949
show more ...
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3 |
|
#
76b9901f |
| 03-Mar-2020 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Use IsColdXNthPercentile for sample PGO.
Summary: This performs better for sample PGO. NFC as PGSOColdCodeOnlyForSamplePGO is still true.
Reviewers: davidxl
Subscribers: hiraditya, llv
[PGO][PGSO] Use IsColdXNthPercentile for sample PGO.
Summary: This performs better for sample PGO. NFC as PGSOColdCodeOnlyForSamplePGO is still true.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D75550
show more ...
|
Revision tags: llvmorg-10.0.0-rc2 |
|
#
4ed205c8 |
| 05-Feb-2020 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Enable profile guided size optimization for non-cold code under instrumentation PGO.
Summary: This enables it for large working set size cases only.
This does not enable it under sample
[PGO][PGSO] Enable profile guided size optimization for non-cold code under instrumentation PGO.
Summary: This enables it for large working set size cases only.
This does not enable it under sample PGO.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74073
show more ...
|
Revision tags: llvmorg-10.0.0-rc1 |
|
#
b70f23f5 |
| 17-Jan-2020 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Tune flags for profile guided size optimization.
Summary: Tune the profile threshold flag value for instrumentation PGO based on internal benchmarks.
Also, add flags to allow profile gu
[PGO][PGSO] Tune flags for profile guided size optimization.
Summary: Tune the profile threshold flag value for instrumentation PGO based on internal benchmarks.
Also, add flags to allow profile guided size optimizations for non-cold code to be enabled separately for instrumentation and sample PGSO.
Neither changes the default behavior (yet) as it's disabled for non-cold code.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72937
show more ...
|
#
ac8da31a |
| 29-Jan-2020 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Handle MBFIWrapper
Some code gen passes use MBFIWrapper to keep track of the frequency of new blocks. This was not taken into account and could lead to incorrect frequencies as MBFI sile
[PGO][PGSO] Handle MBFIWrapper
Some code gen passes use MBFIWrapper to keep track of the frequency of new blocks. This was not taken into account and could lead to incorrect frequencies as MBFI silently returns zero frequency for unknown/new blocks.
Add a variant for MBFIWrapper in the PGSO query interface.
Depends on D73494.
show more ...
|
Revision tags: llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
#
ed50e606 |
| 07-Nov-2019 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Enable size optimizations in code gen / target passes for cold code.
Summary: Split off of D67120.
Reviewers: davidxl
Subscribers: hiraditya, asb, rbar, johnrusso, simoncook, sabuasal,
[PGO][PGSO] Enable size optimizations in code gen / target passes for cold code.
Summary: Split off of D67120.
Reviewers: davidxl
Subscribers: hiraditya, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71288
show more ...
|
#
62d42997 |
| 03-Dec-2019 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Distinguish queries from unit tests and explicitly enable for the existing IR passes only. NFC.
Summary: This is one more prep step necessary before the code gen pass instrumentation cod
[PGO][PGSO] Distinguish queries from unit tests and explicitly enable for the existing IR passes only. NFC.
Summary: This is one more prep step necessary before the code gen pass instrumentation code could go in.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70988
show more ...
|
#
8cdfdfee |
| 20-Nov-2019 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Add an optional query type parameter to shouldOptimizeForSize.
Summary: In case of a need to distinguish different query sites for gradual commit or debugging of PGSO. NFC.
Reviewers: d
[PGO][PGSO] Add an optional query type parameter to shouldOptimizeForSize.
Summary: In case of a need to distinguish different query sites for gradual commit or debugging of PGSO. NFC.
Reviewers: davidxl
Subscribers: hiraditya, zzheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70510
show more ...
|
#
3f0969da |
| 13-Nov-2019 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] Temporarily disable the large working set size behavior.
Summary: This temporarily disables the large working set size behavior in profile guided size optimization due to internal benchm
[PGO][PGSO] Temporarily disable the large working set size behavior.
Summary: This temporarily disables the large working set size behavior in profile guided size optimization due to internal benchmark regressions.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70207
show more ...
|
#
75f72f6b |
| 28-Oct-2019 |
Hiroshi Yamauchi <yamauchi@google.com> |
[PGO][PGSO] SizeOpts changes.
Summary: (Split of off D67120)
SizeOpts/MachineSizeOpts changes for profile guided size optimization.
(A second try after previously committed as r375254 and reverted
[PGO][PGSO] SizeOpts changes.
Summary: (Split of off D67120)
SizeOpts/MachineSizeOpts changes for profile guided size optimization.
(A second try after previously committed as r375254 and reverted as r375375.)
Subscribers: mgorny, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69409
show more ...
|
#
92c96c7b |
| 20-Oct-2019 |
Vladimir Vereschaka <vvereschaka@accesssoftek.com> |
Reverted r375254 as it has broken some build bots for a long time.
llvm-svn: 375375
|