<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/bolt/lib/Passes/ReorderAlgorithm.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] [Passes] Fix two compile warnings in BOLT (#73086)</title>
<updated>2023-12-06T19:19:07+00:00</updated>
<author>
<name>Ho Cheung</name>
<email>17492865+gz83@users.noreply.github.com</email>
</author>
<published>2023-12-06T19:19:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fa5486e487a6f98358eca572efb4b1fd7d27d1f5'/>
<id>fa5486e487a6f98358eca572efb4b1fd7d27d1f5</id>
<content type='text'>
Fix build issue on Windows.

issue:#73085

@maksfb PTAL thank you</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix build issue on Windows.

issue:#73085

@maksfb PTAL thank you</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeLayout] Refactor std::vector uses, namespace, and EdgeCountT. NFC</title>
<updated>2023-09-21T20:13:03+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2023-09-21T20:13:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6b8d04c23dbcc156c24c4152ac36eb6c384cb361'/>
<id>6b8d04c23dbcc156c24c4152ac36eb6c384cb361</id>
<content type='text'>
* Place types and functions in the llvm::codelayout namespace
* Change EdgeCountT from pair&lt;pair&lt;uint64_t, uint64_t&gt;, uint64_t&gt; to a struct and utilize structured bindings.
  It is not conventional to use the "T" suffix for structure types.
* Remove a redundant copy in ChainT::merge.
* Change {ExtTSPImpl,CDSortImpl}::run to use return value instead of an output parameter
* Rename applyCDSLayout to computeCacheDirectedLayout: (a) avoid rare
  abbreviation "CDS" (cache-directed sort) (b) "compute" is more conventional
  for the specific use case
* Change the parameter types from std::vector to ArrayRef so that
  SmallVector arguments can be used.
* Similarly, rename applyExtTspLayout to computeExtTspLayout.

Reviewed By: Amir

Differential Revision: https://reviews.llvm.org/D159526
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Place types and functions in the llvm::codelayout namespace
* Change EdgeCountT from pair&lt;pair&lt;uint64_t, uint64_t&gt;, uint64_t&gt; to a struct and utilize structured bindings.
  It is not conventional to use the "T" suffix for structure types.
* Remove a redundant copy in ChainT::merge.
* Change {ExtTSPImpl,CDSortImpl}::run to use return value instead of an output parameter
* Rename applyCDSLayout to computeCacheDirectedLayout: (a) avoid rare
  abbreviation "CDS" (cache-directed sort) (b) "compute" is more conventional
  for the specific use case
* Change the parameter types from std::vector to ArrayRef so that
  SmallVector arguments can be used.
* Similarly, rename applyExtTspLayout to computeExtTspLayout.

Reviewed By: Amir

Differential Revision: https://reviews.llvm.org/D159526
</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLT] Unifying implementations of ext-tsp</title>
<updated>2022-09-19T15:29:08+00:00</updated>
<author>
<name>spupyrev</name>
<email>spupyrev@fb.com</email>
</author>
<published>2022-07-15T19:26:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=539b6c68cb4d171a089d2c83f1c4bcfbe349c126'/>
<id>539b6c68cb4d171a089d2c83f1c4bcfbe349c126</id>
<content type='text'>
After BOLT's merge to LLVM, there are two (almost identical) versions of the
code layout algorithm. The diff unifies the implementations by keeping the one
in LLVM.

There are mild changes in the resulting block orders. I tested the changes
extensively both on the clang binary and on prod services. Didn't see stat sig
differences on average.

Reviewed By: Amir

Differential Revision: https://reviews.llvm.org/D129895
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After BOLT's merge to LLVM, there are two (almost identical) versions of the
code layout algorithm. The diff unifies the implementations by keeping the one
in LLVM.

There are mild changes in the resulting block orders. I tested the changes
extensively both on the clang binary and on prod services. Didn't see stat sig
differences on average.

Reviewed By: Amir

Differential Revision: https://reviews.llvm.org/D129895
</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLT] Towards FunctionLayout const-correctness</title>
<updated>2022-08-24T23:32:33+00:00</updated>
<author>
<name>Fabian Parzefall</name>
<email>parzefall@fb.com</email>
</author>
<published>2022-08-24T22:56:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d5c03def2465735ffc5f446eba728fc64408b8c1'/>
<id>d5c03def2465735ffc5f446eba728fc64408b8c1</id>
<content type='text'>
A const-qualified reference to function layout allows accessing
non-const qualified basic blocks on a const-qualified function. This
patch adds or removes const-qualifiers where necessary to indicate where
basic blocks are used in a non-const manner.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D132049
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A const-qualified reference to function layout allows accessing
non-const qualified basic blocks on a const-qualified function. This
patch adds or removes const-qualifiers where necessary to indicate where
basic blocks are used in a non-const manner.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D132049
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[BOLT] Towards FunctionLayout const-correctness"</title>
<updated>2022-08-24T17:51:38+00:00</updated>
<author>
<name>Fabian Parzefall</name>
<email>parzefall@fb.com</email>
</author>
<published>2022-08-24T17:47:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f24c299e7d733c0afb9a17655201f37a43d84ce5'/>
<id>f24c299e7d733c0afb9a17655201f37a43d84ce5</id>
<content type='text'>
This reverts commit 587d2653420d75ef10f30bd612d86f1e08fe9ea7.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 587d2653420d75ef10f30bd612d86f1e08fe9ea7.
</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLT] Towards FunctionLayout const-correctness</title>
<updated>2022-08-24T17:17:17+00:00</updated>
<author>
<name>Fabian Parzefall</name>
<email>parzefall@fb.com</email>
</author>
<published>2022-08-24T17:02:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=587d2653420d75ef10f30bd612d86f1e08fe9ea7'/>
<id>587d2653420d75ef10f30bd612d86f1e08fe9ea7</id>
<content type='text'>
A const-qualified reference to function layout allows accessing
non-const qualified basic blocks on a const-qualified function. This
patch adds or removes const-qualifiers where necessary to indicate where
basic blocks are used in a non-const manner.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D132049
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A const-qualified reference to function layout allows accessing
non-const qualified basic blocks on a const-qualified function. This
patch adds or removes const-qualifiers where necessary to indicate where
basic blocks are used in a non-const manner.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D132049
</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] Add function layout class</title>
<updated>2022-07-17T00:23:24+00:00</updated>
<author>
<name>Fabian Parzefall</name>
<email>parzefall@fb.com</email>
</author>
<published>2022-07-17T00:23:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8477bc67614a45d9bbd5caa407bb376069789c7b'/>
<id>8477bc67614a45d9bbd5caa407bb376069789c7b</id>
<content type='text'>
This patch adds a dedicated class to keep track of each function's
layout. It also lays the groundwork for splitting functions into
multiple fragments (as opposed to a strict hot/cold split).

Reviewed By: maksfb

Differential Revision: https://reviews.llvm.org/D129518
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds a dedicated class to keep track of each function's
layout. It also lays the groundwork for splitting functions into
multiple fragments (as opposed to a strict hot/cold split).

Reviewed By: maksfb

Differential Revision: https://reviews.llvm.org/D129518
</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLT][NFC] Use range-based STL wrappers</title>
<updated>2022-06-24T05:16:27+00:00</updated>
<author>
<name>Amir Ayupov</name>
<email>aaupov@fb.com</email>
</author>
<published>2022-06-24T05:15:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d2c876993625ce9b36bdd7ccc5e0c4cb04f32fb9'/>
<id>d2c876993625ce9b36bdd7ccc5e0c4cb04f32fb9</id>
<content type='text'>
Replace `std::` algorithms taking begin/end iterators with `llvm::` counterparts
accepting ranges.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D128154
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace `std::` algorithms taking begin/end iterators with `llvm::` counterparts
accepting ranges.

Reviewed By: rafauler

Differential Revision: https://reviews.llvm.org/D128154
</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>
</feed>
