<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/bolt/lib/Core/BinaryFunctionProfile.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>[BOLT][NFC] Disambiguate sample as basic sample (#139350)</title>
<updated>2025-05-13T00:15:16+00:00</updated>
<author>
<name>Amir Ayupov</name>
<email>aaupov@fb.com</email>
</author>
<published>2025-05-13T00:15:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e039d16ee5910d71a1a16e8ab918ceb849b64073'/>
<id>e039d16ee5910d71a1a16e8ab918ceb849b64073</id>
<content type='text'>
Sample is a general term covering both basic (IP) and branch (LBR)
profiles. Find and replace ambiguous uses of sample in a basic sample
sense.

Rename `RawBranchCount` into `RawSampleCount` reflecting its use for
both kinds of profile.

Rename `PF_LBR` profile type as `PF_BRANCH` reflecting non-LBR based
branch profiles (non-brstack SPE, synthesized brstack ETM/PT).

Follow-up to #137644.

Test Plan: NFC</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sample is a general term covering both basic (IP) and branch (LBR)
profiles. Find and replace ambiguous uses of sample in a basic sample
sense.

Rename `RawBranchCount` into `RawSampleCount` reflecting its use for
both kinds of profile.

Rename `PF_LBR` profile type as `PF_BRANCH` reflecting non-LBR based
branch profiles (non-brstack SPE, synthesized brstack ETM/PT).

Follow-up to #137644.

Test Plan: NFC</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLT] Improve BinaryFunction::inferFallThroughCounts() (#105450)</title>
<updated>2024-08-21T04:35:07+00:00</updated>
<author>
<name>ShatianWang</name>
<email>38512325+ShatianWang@users.noreply.github.com</email>
</author>
<published>2024-08-21T04:35:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cbd302410e9f27013223a96edcd78dfb597979e1'/>
<id>cbd302410e9f27013223a96edcd78dfb597979e1</id>
<content type='text'>
This PR improves how basic block execution count is updated when using
the BOLT option `-infer-fall-throughs`. Previously, if a 0-count
fall-through edge is assigned a positive inferred count N, then the
successor block's execution count will be incremented by N. Since the
successor's execution count is calculated using information besides
inflow sum (such as outflow sum), it likely is already correct, and
incrementing it by an additional N would be wrong. This PR improves how
the successor's execution count is updated by using the max over its
current count and N.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR improves how basic block execution count is updated when using
the BOLT option `-infer-fall-throughs`. Previously, if a 0-count
fall-through edge is assigned a positive inferred count N, then the
successor block's execution count will be incremented by N. Since the
successor's execution count is calculated using information besides
inflow sum (such as outflow sum), it likely is already correct, and
incrementing it by an additional N would be wrong. This PR improves how
the successor's execution count is updated by using the max over its
current count and N.</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLT] Fix warnings</title>
<updated>2023-12-11T20:55:29+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2023-12-11T20:55:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1cc5431285f407f72e8e9312b1c2a2d22b1cadd7'/>
<id>1cc5431285f407f72e8e9312b1c2a2d22b1cadd7</id>
<content type='text'>
This patch fixes:

  bolt/lib/Core/BinaryFunctionProfile.cpp:222:10: error: variable
  'BBMergeSI' set but not used [-Werror,-Wunused-but-set-variable]

  bolt/lib/Passes/VeneerElimination.cpp:67:12: error: variable
  'VeneerCallers' set but not used [-Werror,-Wunused-but-set-variable]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes:

  bolt/lib/Core/BinaryFunctionProfile.cpp:222:10: error: variable
  'BBMergeSI' set but not used [-Werror,-Wunused-but-set-variable]

  bolt/lib/Passes/VeneerElimination.cpp:67:12: error: variable
  'VeneerCallers' set but not used [-Werror,-Wunused-but-set-variable]
</pre>
</div>
</content>
</entry>
<entry>
<title>[bolt] Remove redundaunt control-flow statements (NFC)</title>
<updated>2022-07-30T17:35:49+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2022-07-30T17:35:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b498a8991ed00bda6b4094d0303f163cfc236e32'/>
<id>b498a8991ed00bda6b4094d0303f163cfc236e32</id>
<content type='text'>
Identified with readability-redundant-control-flow.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Identified with readability-redundant-control-flow.
</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLT][NFC] Add aliases for ICP flags</title>
<updated>2022-06-27T17:29:26+00:00</updated>
<author>
<name>Amir Ayupov</name>
<email>aaupov@fb.com</email>
</author>
<published>2022-06-27T17:29:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0d477f63b0eaaa940c74f683fa7d4ceaf9c426a5'/>
<id>0d477f63b0eaaa940c74f683fa7d4ceaf9c426a5</id>
<content type='text'>
- `indirect-call-promotion` -&gt; `icp`
- `indirect-call-promotion-mispredict-threshold` -&gt; `icp-mp-threshold`
- `indirect-call-promotion-use-mispredicts` -&gt; `icp-use-mp`
- `indirect-call-promotion-topn` -&gt; `icp-topn`
- `indirect-call-promotion-calls-topn` -&gt; `icp-calls-topn`
- `indirect-call-promotion-jump-tables-topn` -&gt; `icp-jt-topn`
- `icp-jump-table-targets` -&gt; `icp-jt-targets`

This also fixes an inconsistency in ICP flag names that some start with
`indirect-call-promotion` while others start with `icp`.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D128375
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- `indirect-call-promotion` -&gt; `icp`
- `indirect-call-promotion-mispredict-threshold` -&gt; `icp-mp-threshold`
- `indirect-call-promotion-use-mispredicts` -&gt; `icp-use-mp`
- `indirect-call-promotion-topn` -&gt; `icp-topn`
- `indirect-call-promotion-calls-topn` -&gt; `icp-calls-topn`
- `indirect-call-promotion-jump-tables-topn` -&gt; `icp-jt-topn`
- `icp-jump-table-targets` -&gt; `icp-jt-targets`

This also fixes an inconsistency in ICP flag names that some start with
`indirect-call-promotion` while others start with `icp`.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D128375
</pre>
</div>
</content>
</entry>
<entry>
<title>[bolt] Remove unneeded cl::ZeroOrMore for cl::opt options</title>
<updated>2022-06-05T20:29:49+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2022-06-05T20:29:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b92436efcb7813fc481b30f2593a4907568d917a'/>
<id>b92436efcb7813fc481b30f2593a4907568d917a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLT][NFC] Make ICP options naming uniform</title>
<updated>2022-05-04T02:32:45+00:00</updated>
<author>
<name>Amir Ayupov</name>
<email>aaupov@fb.com</email>
</author>
<published>2022-05-04T02:32:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c3d53720933b10978edaff9f014344a0a7915b98'/>
<id>c3d53720933b10978edaff9f014344a0a7915b98</id>
<content type='text'>
Rename `opts::IndirectCallPromotion*` to `opts::ICP*`, making option naming
uniform and easier to follow.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D124879
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename `opts::IndirectCallPromotion*` to `opts::ICP*`, making option naming
uniform and easier to follow.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D124879
</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLTCore] [NFC] Fix braces usages according to LLVM</title>
<updated>2021-12-20T19:07:46+00:00</updated>
<author>
<name>Rafael Auler</name>
<email>rafaelauler@fb.com</email>
</author>
<published>2021-12-20T19:07:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3652483c8ea7ec20e8d0cb4aef0630688011cc08'/>
<id>3652483c8ea7ec20e8d0cb4aef0630688011cc08</id>
<content type='text'>
Summary:
Fix according to Coding Standards doc, section Don't Use
Braces on Simple Single-Statement Bodies of if/else/loop Statements.
This set of changes applies to lib Core only.

(cherry picked from FBD33240028)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
Fix according to Coding Standards doc, section Don't Use
Braces on Simple Single-Statement Bodies of if/else/loop Statements.
This set of changes applies to lib Core only.

(cherry picked from FBD33240028)
</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLT][NFC] Fix file-description comments</title>
<updated>2021-12-21T18:21:41+00:00</updated>
<author>
<name>Maksim Panchenko</name>
<email>maks@fb.com</email>
</author>
<published>2021-12-21T18:21:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2f09f445b2d6b3ef197aecd8d1e06d08140380f3'/>
<id>2f09f445b2d6b3ef197aecd8d1e06d08140380f3</id>
<content type='text'>
Summary: Fix comments at the start of source files.

(cherry picked from FBD33274597)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: Fix comments at the start of source files.

(cherry picked from FBD33274597)
</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLT] Fix profile and tests for nop-removal pass</title>
<updated>2021-12-19T01:05:00+00:00</updated>
<author>
<name>Maksim Panchenko</name>
<email>maks@fb.com</email>
</author>
<published>2021-12-19T01:05:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ccb99dd1261a9b40a3141fc7a63437dab5770cb2'/>
<id>ccb99dd1261a9b40a3141fc7a63437dab5770cb2</id>
<content type='text'>
Summary:
Since nops are now removed in a separate pass, the profile is consumed
on a CFG with nops. If previously a profile was generated without nops,
the offsets in the profile could be different if branches included nops
either as a source or a destination.

This diff adjust offsets to make the profile reading backwards
compatible.

(cherry picked from FBD33231254)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
Since nops are now removed in a separate pass, the profile is consumed
on a CFG with nops. If previously a profile was generated without nops,
the offsets in the profile could be different if branches included nops
either as a source or a destination.

This diff adjust offsets to make the profile reading backwards
compatible.

(cherry picked from FBD33231254)
</pre>
</div>
</content>
</entry>
</feed>
