<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/CodeGen/MachineSizeOpts.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>Check hasOptSize() in shouldOptimizeForSize() (#112626)</title>
<updated>2024-10-28T16:45:03+00:00</updated>
<author>
<name>Ellis Hoag</name>
<email>ellis.sparky.hoag@gmail.com</email>
</author>
<published>2024-10-28T16:45:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6ab26eab4f1e06f2da7b3183c55666ad57f8866e'/>
<id>6ab26eab4f1e06f2da7b3183c55666ad57f8866e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Analysis] Refactor MBB hotness/coldness into templated PSI functions.</title>
<updated>2023-06-29T05:32:52+00:00</updated>
<author>
<name>Han Shen</name>
<email>shenhan@google.com</email>
</author>
<published>2023-06-29T05:18:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=80155cbf0be1744953edf68b9729c24bd0de79c4'/>
<id>80155cbf0be1744953edf68b9729c24bd0de79c4</id>
<content type='text'>
Currently, to use PSI-&gt;isFunctionHotInCallGraph, we first need to
calculate BPI-&gt;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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, to use PSI-&gt;isFunctionHotInCallGraph, we first need to
calculate BPI-&gt;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
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert D153927 "Resubmit with fix: [NFC] Refactor MBB hotness/coldness into templated PSI functions."</title>
<updated>2023-06-28T07:30:52+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2023-06-28T07:30:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4bb3d0e5318ef6083596853daf59f0bdb4700d55'/>
<id>4bb3d0e5318ef6083596853daf59f0bdb4700d55</id>
<content type='text'>
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"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
</pre>
</div>
</content>
</entry>
<entry>
<title>Resubmit with fix: [NFC] Refactor MBB hotness/coldness into templated PSI functions.</title>
<updated>2023-06-28T04:24:34+00:00</updated>
<author>
<name>Han Shen</name>
<email>shenhan@google.com</email>
</author>
<published>2023-06-27T23:37:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4d8cf2ae6804e0d3f2b668dbec0f5c1983358328'/>
<id>4d8cf2ae6804e0d3f2b668dbec0f5c1983358328</id>
<content type='text'>
In D152399, we calculate BPI-&gt;BFI in MachineFunctionSplit pass just to
use PSI-&gt;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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In D152399, we calculate BPI-&gt;BFI in MachineFunctionSplit pass just to
use PSI-&gt;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
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[NFC] Refactor MBB hotness/coldness into templated PSI functions."</title>
<updated>2023-06-27T06:05:27+00:00</updated>
<author>
<name>Aiden Grossman</name>
<email>agrossman154@yahoo.com</email>
</author>
<published>2023-06-27T06:05:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bfa1057b81bbc622f85ba5780378c27d74096b1a'/>
<id>bfa1057b81bbc622f85ba5780378c27d74096b1a</id>
<content type='text'>
This reverts commit c3e33720403c010e140c17313eeefd9a0f25887a.

This has broken quite a few buildbots.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit c3e33720403c010e140c17313eeefd9a0f25887a.

This has broken quite a few buildbots.
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Refactor MBB hotness/coldness into templated PSI functions.</title>
<updated>2023-06-27T04:56:40+00:00</updated>
<author>
<name>Han Shen</name>
<email>shenhan@google.com</email>
</author>
<published>2023-06-24T17:19:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c3e33720403c010e140c17313eeefd9a0f25887a'/>
<id>c3e33720403c010e140c17313eeefd9a0f25887a</id>
<content type='text'>
In D152399, we calculate BPI-&gt;BFI in MachineFunctionSplit pass just to
use PSI-&gt;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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In D152399, we calculate BPI-&gt;BFI in MachineFunctionSplit pass just to
use PSI-&gt;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
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Use Optional&lt;ProfileCount&gt; to model invalid counts</title>
<updated>2021-11-15T03:03:30+00:00</updated>
<author>
<name>Mircea Trofin</name>
<email>mtrofin@google.com</email>
</author>
<published>2021-11-14T06:03:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a32c2c380863d02eb0fd5e8757a62d96114b9519'/>
<id>a32c2c380863d02eb0fd5e8757a62d96114b9519</id>
<content type='text'>
ProfileCount could model invalid values, but a user had no indication
that the getCount method could return bogus data. Optional&lt;ProfileCount&gt;
addresses that, because the user must dereference the optional. In
addition, the patch removes concept duplication.

Differential Revision: https://reviews.llvm.org/D113839
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ProfileCount could model invalid values, but a user had no indication
that the getCount method could return bogus data. Optional&lt;ProfileCount&gt;
addresses that, because the user must dereference the optional. In
addition, the patch removes concept duplication.

Differential Revision: https://reviews.llvm.org/D113839
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert rG5dd566b7c7b78bd- "PassManager.h - remove unnecessary Function.h/Module.h includes. NFCI."</title>
<updated>2020-07-24T12:02:33+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2020-07-24T12:02:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0128b9505c90be6acc22750c4df310667d879d00'/>
<id>0128b9505c90be6acc22750c4df310667d879d00</id>
<content type='text'>
This reverts commit 5dd566b7c7b78bd385418c72d63c79895be9ae97.

Causing some buildbot failures that I'm not seeing on MSVC builds.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 5dd566b7c7b78bd385418c72d63c79895be9ae97.

Causing some buildbot failures that I'm not seeing on MSVC builds.
</pre>
</div>
</content>
</entry>
<entry>
<title>PassManager.h - remove unnecessary Function.h/Module.h includes. NFCI.</title>
<updated>2020-07-24T11:40:50+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2020-07-24T11:40:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5dd566b7c7b78bd385418c72d63c79895be9ae97'/>
<id>5dd566b7c7b78bd385418c72d63c79895be9ae97</id>
<content type='text'>
PassManager.h is one of the top headers in the ClangBuildAnalyzer frontend worst offenders list.

This exposes a large number of implicit dependencies on various forward declarations/includes in other headers that need addressing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PassManager.h is one of the top headers in the ClangBuildAnalyzer frontend worst offenders list.

This exposes a large number of implicit dependencies on various forward declarations/includes in other headers that need addressing.
</pre>
</div>
</content>
</entry>
<entry>
<title>[PGO][PGSO] Use IsColdXNthPercentile for sample PGO.</title>
<updated>2020-03-05T17:54:54+00:00</updated>
<author>
<name>Hiroshi Yamauchi</name>
<email>yamauchi@google.com</email>
</author>
<published>2020-03-03T17:53:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=76b9901fb15372a13b77def4299c7facb6b7f926'/>
<id>76b9901fb15372a13b77def4299c7facb6b7f926</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
</feed>
