<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp, branch users/nico/python-2</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>[ctxprof] Move `MoveSymbolGUID` to address dependency issues (#134334)</title>
<updated>2025-04-04T02:02:46+00:00</updated>
<author>
<name>Mircea Trofin</name>
<email>mtrofin@google.com</email>
</author>
<published>2025-04-04T02:02:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4532512f6c2558fa7d5ba9f35fbce7bad76c1380'/>
<id>4532512f6c2558fa7d5ba9f35fbce7bad76c1380</id>
<content type='text'>
See PR #134192</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See PR #134192</pre>
</div>
</content>
</entry>
<entry>
<title>[ctxprof] Support for "move" semantics for the contextual root (#134192)</title>
<updated>2025-04-04T01:36:45+00:00</updated>
<author>
<name>Mircea Trofin</name>
<email>mtrofin@google.com</email>
</author>
<published>2025-04-04T01:36:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=21468261695918cd74e0079153eedbccb689fe20'/>
<id>21468261695918cd74e0079153eedbccb689fe20</id>
<content type='text'>
This PR finishes what PR #133992 started.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR finishes what PR #133992 started.</pre>
</div>
</content>
</entry>
<entry>
<title>[nfc][thinlto] remove unnecessary return from `renameModuleForThinLTO` (#121851)</title>
<updated>2025-01-06T23:19:09+00:00</updated>
<author>
<name>Mircea Trofin</name>
<email>mtrofin@google.com</email>
</author>
<published>2025-01-06T23:19:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4312075efa02ad861db0a19a0db8e6003aa06965'/>
<id>4312075efa02ad861db0a19a0db8e6003aa06965</id>
<content type='text'>
Same goes for `FunctionImportGlobalProcessing::run`.

The return value was used, but it was always `false`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Same goes for `FunctionImportGlobalProcessing::run`.

The return value was used, but it was always `false`.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFCI]Remove EntryCount from FunctionSummary and clean up surrounding synthetic count passes. (#107471)</title>
<updated>2024-09-06T23:38:17+00:00</updated>
<author>
<name>Mingming Liu</name>
<email>mingmingl@google.com</email>
</author>
<published>2024-09-06T23:38:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d4ddf06b0c7f38612f334db71ef1d7a58a3cc8e0'/>
<id>d4ddf06b0c7f38612f334db71ef1d7a58a3cc8e0</id>
<content type='text'>
The primary motivation is to remove `EntryCount` from `FunctionSummary`.
This frees 8 bytes out of `sizeof(FunctionSummary)` (136 bytes as of
https://github.com/llvm/llvm-project/commit/64498c54831bed9cf069e0923b9b73678c6451d8).

While I'm at it, this PR clean up {SummaryBasedOptimizations,
SyntheticCountsPropagation} since they were not used and there are no
plans to further invest on them.

With this patch, bitcode writer writes a placeholder 0 at the byte
offset of `EntryCount` and bitcode reader can parse the function entry
count at the correct byte offset. Added a TODO to stop writing
`EntryCount` and bump bitcode version</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The primary motivation is to remove `EntryCount` from `FunctionSummary`.
This frees 8 bytes out of `sizeof(FunctionSummary)` (136 bytes as of
https://github.com/llvm/llvm-project/commit/64498c54831bed9cf069e0923b9b73678c6451d8).

While I'm at it, this PR clean up {SummaryBasedOptimizations,
SyntheticCountsPropagation} since they were not used and there are no
plans to further invest on them.

With this patch, bitcode writer writes a placeholder 0 at the byte
offset of `EntryCount` and bitcode reader can parse the function entry
count at the correct byte offset. Added a TODO to stop writing
`EntryCount` and bump bitcode version</pre>
</div>
</content>
</entry>
<entry>
<title>[Transforms] Qualify auto in range-based for loops (NFC)</title>
<updated>2022-08-14T19:51:58+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2022-08-14T19:51:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=50724716cd7012d122378195f2f13efa4c13272a'/>
<id>50724716cd7012d122378195f2f13efa4c13272a</id>
<content type='text'>
Identified with readability-qualified-auto.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Identified with readability-qualified-auto.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add switch to use "source_filename" instead of a hash ID for globally promoted local</title>
<updated>2022-08-03T23:41:56+00:00</updated>
<author>
<name>Bill Wendling</name>
<email>morbo@google.com</email>
</author>
<published>2022-07-18T19:05:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=239c831de4d09530ebd4e254f9248764792afa5e'/>
<id>239c831de4d09530ebd4e254f9248764792afa5e</id>
<content type='text'>
During LTO a local promoted to a global gets a unique suffix based on
a hash of the module IR. This means that changes in the local's module
can affect the contents in another module that imported it (because the name
of the imported promoted local is changed, but that doesn't reflect a
real change in the importing module). So any tool that's
validating changes to the importing module will see a superficial change.

Instead of using the module hash, we can use the "source_filename" if it
exists to generate a unique identifier that doesn't change due to LTO
shenanigans.

Differential Revision: https://reviews.llvm.org/D128863
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
During LTO a local promoted to a global gets a unique suffix based on
a hash of the module IR. This means that changes in the local's module
can affect the contents in another module that imported it (because the name
of the imported promoted local is changed, but that doesn't reflect a
real change in the importing module). So any tool that's
validating changes to the importing module will see a superficial change.

Instead of using the module hash, we can use the "source_filename" if it
exists to generate a unique identifier that doesn't change due to LTO
shenanigans.

Differential Revision: https://reviews.llvm.org/D128863
</pre>
</div>
</content>
</entry>
<entry>
<title>[ThinLTO] Support aliased GlobalIFunc</title>
<updated>2022-07-20T22:30:38+00:00</updated>
<author>
<name>Schrodinger ZHU Yifan</name>
<email>i@zhuyi.fan</email>
</author>
<published>2022-07-20T22:30:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=304027206c883b61b76465b3c2a139927ea71344'/>
<id>304027206c883b61b76465b3c2a139927ea71344</id>
<content type='text'>
Fixes https://github.com/llvm/llvm-project/issues/56290: when an ifunc is
aliased in LTO, clang will attempt to create an alias summary; however, as ifunc
is not included in the module summary, doing so will lead to crash.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D129009
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes https://github.com/llvm/llvm-project/issues/56290: when an ifunc is
aliased in LTO, clang will attempt to create an alias summary; however, as ifunc
is not included in the module summary, doing so will lead to crash.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D129009
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup includes: TransformsUtils</title>
<updated>2022-03-01T20:00:07+00:00</updated>
<author>
<name>serge-sans-paille</name>
<email>sguelton@redhat.com</email>
</author>
<published>2022-03-01T13:28:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a494ae43bef09c8d0f6a6a98e92f3a89758247d5'/>
<id>a494ae43bef09c8d0f6a6a98e92f3a89758247d5</id>
<content type='text'>
Estimation on the impact on preprocessor output:
before: 1065307662
after:  1064800684

Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup
Differential Revision: https://reviews.llvm.org/D120741
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Estimation on the impact on preprocessor output:
before: 1065307662
after:  1064800684

Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup
Differential Revision: https://reviews.llvm.org/D120741
</pre>
</div>
</content>
</entry>
<entry>
<title>[ThinLTO] Respect ClearDSOLocalOnDeclarations for unimported functions</title>
<updated>2021-07-03T00:08:25+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2021-07-03T00:08:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=252a1eecc04080d852ba58c6727970c688eb1619'/>
<id>252a1eecc04080d852ba58c6727970c688eb1619</id>
<content type='text'>
D74751 added `ClearDSOLocalOnDeclarations` and dropped dso_local for
isDeclarationForLinker `GlobalValue`s. It missed a case for imported
declarations (`doImportAsDefinition` is false while `isPerformingImport` is
true). This can lead to a linker error for a default visibility symbol in
`ld.lld -shared`.

When `ClearDSOLocalOnDeclarations` is true, we check
`isPerformingImport() &amp;&amp; !doImportAsDefinition(&amp;GV)` along with
`GV.isDeclarationForLinker()`. The new condition checks an imported declaration.

This patch fixes a `LLVMPolly.so` link error using a trunk clang -DLLVM_ENABLE_LTO=Thin.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D104986
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
D74751 added `ClearDSOLocalOnDeclarations` and dropped dso_local for
isDeclarationForLinker `GlobalValue`s. It missed a case for imported
declarations (`doImportAsDefinition` is false while `isPerformingImport` is
true). This can lead to a linker error for a default visibility symbol in
`ld.lld -shared`.

When `ClearDSOLocalOnDeclarations` is true, we check
`isPerformingImport() &amp;&amp; !doImportAsDefinition(&amp;GV)` along with
`GV.isDeclarationForLinker()`. The new condition checks an imported declaration.

This patch fixes a `LLVMPolly.so` link error using a trunk clang -DLLVM_ENABLE_LTO=Thin.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D104986
</pre>
</div>
</content>
</entry>
<entry>
<title>[LTO] Perform DSOLocal propagation in combined index</title>
<updated>2021-02-13T06:58:26+00:00</updated>
<author>
<name>Wei Wang</name>
<email>apollo.mobility@gmail.com</email>
</author>
<published>2021-02-10T05:14:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=80dc0661bd8bba92fb0843cac3bdc061c093039f'/>
<id>80dc0661bd8bba92fb0843cac3bdc061c093039f</id>
<content type='text'>
Perform DSOLocal propagation within summary list of every GV. This
avoids the repeated query of this information during function
importing.

Differential Revision: https://reviews.llvm.org/D96398
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Perform DSOLocal propagation within summary list of every GV. This
avoids the repeated query of this information during function
importing.

Differential Revision: https://reviews.llvm.org/D96398
</pre>
</div>
</content>
</entry>
</feed>
