<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Transforms/Utils/ModuleUtils.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>Add -funique-source-file-identifier option.</title>
<updated>2025-06-05T17:52:01+00:00</updated>
<author>
<name>Peter Collingbourne</name>
<email>peter@pcc.me.uk</email>
</author>
<published>2025-06-05T17:52:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d1b0b4bb4405c144e23be3d5c0459b03f95bd5ac'/>
<id>d1b0b4bb4405c144e23be3d5c0459b03f95bd5ac</id>
<content type='text'>
This option complements -funique-source-file-names and allows the user
to use a different unique identifier than the source file path.

Reviewers: teresajohnson

Reviewed By: teresajohnson

Pull Request: https://github.com/llvm/llvm-project/pull/142901
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This option complements -funique-source-file-names and allows the user
to use a different unique identifier than the source file path.

Reviewers: teresajohnson

Reviewed By: teresajohnson

Pull Request: https://github.com/llvm/llvm-project/pull/142901
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce -funique-source-file-names flag.</title>
<updated>2025-04-15T18:12:05+00:00</updated>
<author>
<name>Peter Collingbourne</name>
<email>pcc@google.com</email>
</author>
<published>2025-04-15T18:12:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a5aa0c46c3274eaf25dde4d792a1abd6191cccf9'/>
<id>a5aa0c46c3274eaf25dde4d792a1abd6191cccf9</id>
<content type='text'>
The purpose of this flag is to allow the compiler to assume that each
object file passed to the linker has been compiled using a unique
source file name. This is useful for reducing link times when doing
ThinLTO in combination with whole-program devirtualization or CFI,
as it allows modules without exported symbols to be built with ThinLTO.

Reviewers: vitalybuka, teresajohnson

Reviewed By: teresajohnson

Pull Request: https://github.com/llvm/llvm-project/pull/135728
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The purpose of this flag is to allow the compiler to assume that each
object file passed to the linker has been compiled using a unique
source file name. This is useful for reducing link times when doing
ThinLTO in combination with whole-program devirtualization or CFI,
as it allows modules without exported symbols to be built with ThinLTO.

Reviewers: vitalybuka, teresajohnson

Reviewed By: teresajohnson

Pull Request: https://github.com/llvm/llvm-project/pull/135728
</pre>
</div>
</content>
</entry>
<entry>
<title>[IR] Remove unused variables from #123617</title>
<updated>2025-01-20T16:47:38+00:00</updated>
<author>
<name>Mats Larsen</name>
<email>mats@jun.codes</email>
</author>
<published>2025-01-20T16:46:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b95ed30ea2307dbcbe6199374c1e9a9b7a802ad0'/>
<id>b95ed30ea2307dbcbe6199374c1e9a9b7a802ad0</id>
<content type='text'>
Failed to notice them when landing that patch - apologies!
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Failed to notice them when landing that patch - apologies!
</pre>
</div>
</content>
</entry>
<entry>
<title>[IR] Replace of PointerType::get(Type) with opaque version (NFC) (#123617)</title>
<updated>2025-01-20T15:32:56+00:00</updated>
<author>
<name>Mats Jun Larsen</name>
<email>mats@jun.codes</email>
</author>
<published>2025-01-20T15:32:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=416f1c465db62d829283f6902ef35e027e127aa7'/>
<id>416f1c465db62d829283f6902ef35e027e127aa7</id>
<content type='text'>
In accordance with https://github.com/llvm/llvm-project/issues/123569

In order to keep the patch at reasonable size, this PR only covers for
the llvm subproject, unittests excluded.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In accordance with https://github.com/llvm/llvm-project/issues/123569

In order to keep the patch at reasonable size, this PR only covers for
the llvm subproject, unittests excluded.</pre>
</div>
</content>
</entry>
<entry>
<title>Fix KCFI types for generated functions with integer normalization (#104826)</title>
<updated>2024-08-20T23:51:16+00:00</updated>
<author>
<name>Sami Tolvanen</name>
<email>samitolvanen@users.noreply.github.com</email>
</author>
<published>2024-08-20T23:51:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e1c36bde0551977d4b2efae032af6dfc4b2b3936'/>
<id>e1c36bde0551977d4b2efae032af6dfc4b2b3936</id>
<content type='text'>
With -fsanitize-cfi-icall-experimental-normalize-integers, Clang
appends ".normalized" to KCFI types in CodeGenModule::CreateKCFITypeId,
which changes type hashes also for functions that don't have integer
types in their signatures. However, llvm::setKCFIType does not take
integer normalization into account, which means LLVM generated
functions with KCFI types, e.g. sanitizer constructors, will fail KCFI
checks when integer normalization is enabled in Clang.

Add a cfi-normalize-integers module flag to indicate integer
normalization is used, and append ".normalized" to KCFI types also in
llvm::setKCFIType to fix the type mismatch.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With -fsanitize-cfi-icall-experimental-normalize-integers, Clang
appends ".normalized" to KCFI types in CodeGenModule::CreateKCFITypeId,
which changes type hashes also for functions that don't have integer
types in their signatures. However, llvm::setKCFIType does not take
integer normalization into account, which means LLVM generated
functions with KCFI types, e.g. sanitizer constructors, will fail KCFI
checks when integer normalization is enabled in Clang.

Add a cfi-normalize-integers module flag to indicate integer
normalization is used, and append ".normalized" to KCFI types also in
llvm::setKCFIType to fix the type mismatch.</pre>
</div>
</content>
</entry>
<entry>
<title>[ModuleUtils] Add transformGlobal{C,D}tors (#101757)</title>
<updated>2024-08-02T23:54:44+00:00</updated>
<author>
<name>Vitaly Buka</name>
<email>vitalybuka@google.com</email>
</author>
<published>2024-08-02T23:54:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=048cf8857e081fb80d5ac8b24a79f999d632141b'/>
<id>048cf8857e081fb80d5ac8b24a79f999d632141b</id>
<content type='text'>
For #101772</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For #101772</pre>
</div>
</content>
</entry>
<entry>
<title>[IR] Move GlobalValue::getGUID() out of line (NFC)</title>
<updated>2024-05-15T01:49:25+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2024-05-15T01:13:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=71fbbb69d63c461f391cbabf1e32cd9977c4ce68'/>
<id>71fbbb69d63c461f391cbabf1e32cd9977c4ce68</id>
<content type='text'>
Avoid including MD5.h in a core IR header.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoid including MD5.h in a core IR header.
</pre>
</div>
</content>
</entry>
<entry>
<title>[VFABI] Move the Vector ABI demangling utility to LLVMCore. (#77513)</title>
<updated>2024-01-17T09:55:30+00:00</updated>
<author>
<name>Alexandros Lamprineas</name>
<email>alexandros.lamprineas@arm.com</email>
</author>
<published>2024-01-17T09:55:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=92289db82fb2334593e21995bb140b4bc95926e3'/>
<id>92289db82fb2334593e21995bb140b4bc95926e3</id>
<content type='text'>
This fixes #71892 allowing us to check magled names in the IR verifier.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes #71892 allowing us to check magled names in the IR verifier.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Replace CallInst with FunctionType in VFABI, VFShape API (#74569)</title>
<updated>2023-12-06T17:14:58+00:00</updated>
<author>
<name>Paschalis Mpeis</name>
<email>paschalis.mpeis@arm.com</email>
</author>
<published>2023-12-06T17:14:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7b83f69db4a57c63c230d45ca2dc52b024612c17'/>
<id>7b83f69db4a57c63c230d45ca2dc52b024612c17</id>
<content type='text'>
Minor simplification applied to VFShape::getScalarShape,
VFShape::get, and VFABI::tryDemangleForVFABI methods.

Also, remove unnecessary `static_cast` in `SLPVectorizer.cpp`</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Minor simplification applied to VFShape::getScalarShape,
VFShape::get, and VFABI::tryDemangleForVFABI methods.

Also, remove unnecessary `static_cast` in `SLPVectorizer.cpp`</pre>
</div>
</content>
</entry>
<entry>
<title>[SVE] Don't require lookup when demangling vector function mappings (#72260)</title>
<updated>2023-11-23T17:15:48+00:00</updated>
<author>
<name>Graham Hunter</name>
<email>graham.hunter@arm.com</email>
</author>
<published>2023-11-23T17:15:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b1fba568f6d4d824554fa22f43ec0f689a265664'/>
<id>b1fba568f6d4d824554fa22f43ec0f689a265664</id>
<content type='text'>
We can determine the VF from a combination of the mangled name (which
indicates the arguments that take vectors) and the element sizes of
the arguments for the scalar function the mapping has been established
for.

The assert when demangling fails has been removed in favour of just
not adding the mapping, which prevents the crash seen in
https://github.com/llvm/llvm-project/issues/71892

This patch also stops using _LLVM_ as an ISA for scalable vector tests,
since there aren't defined rules for the way vector arguments should be
handled (e.g. packed vs. unpacked representation).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can determine the VF from a combination of the mangled name (which
indicates the arguments that take vectors) and the element sizes of
the arguments for the scalar function the mapping has been established
for.

The assert when demangling fails has been removed in favour of just
not adding the mapping, which prevents the crash seen in
https://github.com/llvm/llvm-project/issues/71892

This patch also stops using _LLVM_ as an ISA for scalable vector tests,
since there aren't defined rules for the way vector arguments should be
handled (e.g. packed vs. unpacked representation).</pre>
</div>
</content>
</entry>
</feed>
