<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/cmake/modules/AddLLVM.cmake, branch users/mingmingl-llvm/samplefdo-profile-format</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>[CMake] add `SKIP` to `add_lit_testsuites` (#157176)</title>
<updated>2025-09-06T10:41:48+00:00</updated>
<author>
<name>Maksim Levental</name>
<email>maksim.levental@gmail.com</email>
</author>
<published>2025-09-06T10:41:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c0269c4b3c1f584da5663ee7a8d6bd147ada7ad1'/>
<id>c0269c4b3c1f584da5663ee7a8d6bd147ada7ad1</id>
<content type='text'>
This PR adds `SKIP` to `add_lit_testsuites`. The purpose is to let
people filter the currently exhaustive inclusion of subdirectories which
might not all depend on the same `DEPENDS`. The immediate use case is
MLIR where we have a collection of Python tests that currently trigger
rebuilds of various tools (like `mlir-opt`) which they do not depend on.
That collection of tests is updated here too.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR adds `SKIP` to `add_lit_testsuites`. The purpose is to let
people filter the currently exhaustive inclusion of subdirectories which
might not all depend on the same `DEPENDS`. The immediate use case is
MLIR where we have a collection of Python tests that currently trigger
rebuilds of various tools (like `mlir-opt`) which they do not depend on.
That collection of tests is updated here too.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][CMake] quote ${CMAKE_SYSTEM_NAME} consistently (#154537)</title>
<updated>2025-08-20T16:45:41+00:00</updated>
<author>
<name>David Tenty</name>
<email>daltenty@ibm.com</email>
</author>
<published>2025-08-20T16:45:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=63195d3d7a8bde05590f91a38398f986bb4265b2'/>
<id>63195d3d7a8bde05590f91a38398f986bb4265b2</id>
<content type='text'>
A CMake change included in CMake 4.0 makes `AIX` into a variable
(similar to `APPLE`, etc.)
https://gitlab.kitware.com/cmake/cmake/-/commit/ff03db6657c38c8cf992877ea66174c33d0bcb0b

However, `${CMAKE_SYSTEM_NAME}` unfortunately also expands exactly to
`AIX` and `if` auto-expands variable names in CMake. That means you get
a double expansion if you write:

`if (${CMAKE_SYSTEM_NAME}  MATCHES "AIX")`
which becomes:
`if (AIX  MATCHES "AIX")`
which is as if you wrote:
`if (ON MATCHES "AIX")`

You can prevent this by quoting the expansion of "${CMAKE_SYSTEM_NAME}",
due to policy
[CMP0054](https://cmake.org/cmake/help/latest/policy/CMP0054.html#policy:CMP0054)
which is on by default in 4.0+. Most of the LLVM CMake already does
this, but this PR fixes the remaining cases where we do not.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A CMake change included in CMake 4.0 makes `AIX` into a variable
(similar to `APPLE`, etc.)
https://gitlab.kitware.com/cmake/cmake/-/commit/ff03db6657c38c8cf992877ea66174c33d0bcb0b

However, `${CMAKE_SYSTEM_NAME}` unfortunately also expands exactly to
`AIX` and `if` auto-expands variable names in CMake. That means you get
a double expansion if you write:

`if (${CMAKE_SYSTEM_NAME}  MATCHES "AIX")`
which becomes:
`if (AIX  MATCHES "AIX")`
which is as if you wrote:
`if (ON MATCHES "AIX")`

You can prevent this by quoting the expansion of "${CMAKE_SYSTEM_NAME}",
due to policy
[CMP0054](https://cmake.org/cmake/help/latest/policy/CMP0054.html#policy:CMP0054)
which is on by default in 4.0+. Most of the LLVM CMake already does
this, but this PR fixes the remaining cases where we do not.</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][Cygwin] Enable dynamic linking of libLLVM (#146440)</title>
<updated>2025-07-02T05:30:12+00:00</updated>
<author>
<name>Mateusz Mikuła</name>
<email>oss@mateuszmikula.dev</email>
</author>
<published>2025-07-02T05:30:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2723a6d9928c7ba5d27125e03dff8eaba8661d7f'/>
<id>2723a6d9928c7ba5d27125e03dff8eaba8661d7f</id>
<content type='text'>
These changes allow to link everything to shared LLVM library with
MSYS2 "Cygwin" toolchain.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These changes allow to link everything to shared LLVM library with
MSYS2 "Cygwin" toolchain.
</pre>
</div>
</content>
</entry>
<entry>
<title>[CMake] Add BINARY_DIR argument for add_lit_testsuites (#144431)</title>
<updated>2025-06-17T17:04:04+00:00</updated>
<author>
<name>Chris B</name>
<email>chris.bieneman@me.com</email>
</author>
<published>2025-06-17T17:04:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=01a7a21a4b8070a88e5dcc9753066e38d26faf85'/>
<id>01a7a21a4b8070a88e5dcc9753066e38d26faf85</id>
<content type='text'>
We're doing some slightly odd things with LIT in the offload-test-suite.
Specifically we generate multiple binary directories to configure and
run tests with different configurations from the same source root.

In this configuration the subdirectory targets need to instead point to
the correct generated binary directory and use test filtering to get a
subset of tests.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We're doing some slightly odd things with LIT in the offload-test-suite.
Specifically we generate multiple binary directories to configure and
run tests with different configurations from the same source root.

In this configuration the subdirectory targets need to instead point to
the correct generated binary directory and use test filtering to get a
subset of tests.</pre>
</div>
</content>
</entry>
<entry>
<title>[CMake] Add a linker test for -Bsymbolic-functions to AddLLVM (#79539)</title>
<updated>2025-05-19T01:20:32+00:00</updated>
<author>
<name>Brad Smith</name>
<email>brad@comstyle.com</email>
</author>
<published>2025-05-19T01:20:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fbb8a0c9c8a0725b60d84333dd0c4af706b15bed'/>
<id>fbb8a0c9c8a0725b60d84333dd0c4af706b15bed</id>
<content type='text'>
Add a linker test for -Bsymbolic-functions to AddLLVM and remove
the illumos hardcoded bits for its handling. OpenBSD also has a
local patch for linking with the old BFD linker on mips64 and
sparc64.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a linker test for -Bsymbolic-functions to AddLLVM and remove
the illumos hardcoded bits for its handling. OpenBSD also has a
local patch for linking with the old BFD linker on mips64 and
sparc64.</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][Cygwin] Fix shared library name (#136599)</title>
<updated>2025-04-24T20:51:34+00:00</updated>
<author>
<name>jeremyd2019</name>
<email>github@jdrake.com</email>
</author>
<published>2025-04-24T20:51:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=08efca9c2c2b9005a0390965a2bad9ef208e4db4'/>
<id>08efca9c2c2b9005a0390965a2bad9ef208e4db4</id>
<content type='text'>
Treat Cygwin like WIN32 in llvm-shlib for naming the library.

Don't create shlib symlinks on Cygwin, they don't help anything there,
but teach llvm_install_library_symlink that Cygwin's shared libraries
live in BINDIR like WIN32.

Add a new variable to llvm-config's BuildVariables to have CMake's
shared library prefix, to avoid having to patch between "cyg" and
"msys-" on MSYS2.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Treat Cygwin like WIN32 in llvm-shlib for naming the library.

Don't create shlib symlinks on Cygwin, they don't help anything there,
but teach llvm_install_library_symlink that Cygwin's shared libraries
live in BINDIR like WIN32.

Add a new variable to llvm-config's BuildVariables to have CMake's
shared library prefix, to avoid having to patch between "cyg" and
"msys-" on MSYS2.</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][CMake][MSVC] Install PDBs alongside executables (#120683)</title>
<updated>2025-02-11T05:40:51+00:00</updated>
<author>
<name>Miguel A. Arroyo</name>
<email>miguel.arroyo@rockstargames.com</email>
</author>
<published>2025-02-11T05:40:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9d134f26ea83cd53e7b38220c2b95d6f20ba3221'/>
<id>9d134f26ea83cd53e7b38220c2b95d6f20ba3221</id>
<content type='text'>
* When building on Windows hosts, PDBs aren't installed to the
`CMAKE_INSTALL_PREFIX`.

* This PR addresses it solely for `llvm-*` executables. 
* Similar changes are required in `AddClang.cmake`, `AddLLD.cmake`, etc.
I'd be happy to queue those PRs after this one.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* When building on Windows hosts, PDBs aren't installed to the
`CMAKE_INSTALL_PREFIX`.

* This PR addresses it solely for `llvm-*` executables. 
* Similar changes are required in `AddClang.cmake`, `AddLLD.cmake`, etc.
I'd be happy to queue those PRs after this one.</pre>
</div>
</content>
</entry>
<entry>
<title>Add llvm-driver to the list of toolchain tools (#123083)</title>
<updated>2025-01-29T05:09:14+00:00</updated>
<author>
<name>Andarwinux</name>
<email>144242044+Andarwinux@users.noreply.github.com</email>
</author>
<published>2025-01-29T05:09:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ab6d41eae12b29bcb99ed66ca8edb48296ccfe42'/>
<id>ab6d41eae12b29bcb99ed66ca8edb48296ccfe42</id>
<content type='text'>
If LLVM_TOOL_LLVM_DRIVER_BUILD is enabled, make sure
LLVM_TOOLCHAIN_TOOLS includes llvm-driver, otherwise with
LLVM_INSTALL_TOOLCHAIN_ONLY will install an invalid toolchain

Co-authored-by: Andarwinux &lt;Andarwinux@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If LLVM_TOOL_LLVM_DRIVER_BUILD is enabled, make sure
LLVM_TOOLCHAIN_TOOLS includes llvm-driver, otherwise with
LLVM_INSTALL_TOOLCHAIN_ONLY will install an invalid toolchain

Co-authored-by: Andarwinux &lt;Andarwinux@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[Polly][CMake] Fix exports (#122123)</title>
<updated>2025-01-20T11:33:29+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2025-01-20T11:33:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2d6d476ffbfc207aae2bf9f12be14483b31d100a'/>
<id>2d6d476ffbfc207aae2bf9f12be14483b31d100a</id>
<content type='text'>
If Polly is built with LLVM_POLLY_LINK_INTO_TOOLS=ON (the default for
monorepo builds), then Polly will become a dependency of the
LLVMExtensions component, which is part of LLVMExports. As such, all the
Polly libraries also have to be part of LLVMExports.

However, if Polly is built with LLVM_POLLY_LINK_INTO_TOOLS=OFF, we also
end up adding Polly libraries to LLVMExports. This is undesirable, as it
adds a hard dependency from llvm on polly.

Fix this by only exporting polly libraries from LLVMExports if
LLVM_POLLY_LINK_INTO_TOOLS is enabled.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If Polly is built with LLVM_POLLY_LINK_INTO_TOOLS=ON (the default for
monorepo builds), then Polly will become a dependency of the
LLVMExtensions component, which is part of LLVMExports. As such, all the
Polly libraries also have to be part of LLVMExports.

However, if Polly is built with LLVM_POLLY_LINK_INTO_TOOLS=OFF, we also
end up adding Polly libraries to LLVMExports. This is undesirable, as it
adds a hard dependency from llvm on polly.

Fix this by only exporting polly libraries from LLVMExports if
LLVM_POLLY_LINK_INTO_TOOLS is enabled.</pre>
</div>
</content>
</entry>
<entry>
<title>[BOLT][CMake] Don't export bolt libraries in LLVMExports.cmake (#121936)</title>
<updated>2025-01-08T08:41:09+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2025-01-08T08:41:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e7244d8659f1ee7b6dcf8fc90e33d81cda178f45'/>
<id>e7244d8659f1ee7b6dcf8fc90e33d81cda178f45</id>
<content type='text'>
Bolt makes use of add_llvm_library and as such ends up exporting its
libraries from LLVMExports.cmake, which is not correct.

Bolt doesn't have its own exports file, and I assume that there is no
desire to have one either -- Bolt libraries are not intended to be
consumed as a cmake module, right?

As such, this PR adds a NO_EXPORT option to simplify exclude these
libraries from the exports file.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bolt makes use of add_llvm_library and as such ends up exporting its
libraries from LLVMExports.cmake, which is not correct.

Bolt doesn't have its own exports file, and I assume that there is no
desire to have one either -- Bolt libraries are not intended to be
consumed as a cmake module, right?

As such, this PR adds a NO_EXPORT option to simplify exclude these
libraries from the exports file.</pre>
</div>
</content>
</entry>
</feed>
