#21192 closed enhancement (fixed)

llvm-20.1.1

Reported by: Xi Ruoyao Owned by: Douglas R. Reno
Priority: normal Milestone: 12.4
Component: BOOK Version: git
Severity: medium Keywords:
Cc:

Description

New major version. I've not seen an announcement in ​https://discourse.llvm.org/c/announce/46 yet.

Change History (25)

comment:1 by Xi Ruoyao, 19 months ago

rustc < 1.87 needs to be adapted:

Test suite issues (may be adapted or just documented):

Last edited 19 months ago by Xi Ruoyao (previous) (diff)

comment:2 by martyj19, 19 months ago

I can report upgrading to llvm-20.1.0, SPIRV-LLVM-Translator-20.1.0, libclc-20.1.0, mesa-25.0.1 with no change to build recipe and the result works.

in reply to:  2 comment:3 by Xi Ruoyao, 19 months ago

Replying to martyj19:

I can report upgrading to llvm-20.1.0, SPIRV-LLVM-Translator-20.1.0, libclc-20.1.0, mesa-25.0.1 with no change to build recipe and the result works.

I really don't know how you can build SPIRV-LLVM-Translator-20.1.0 with no change. It needs a new SPIRV-Header release or it FTBFS. Unless you have a different SPIRV-Header tarball than the book.

comment:4 by Xi Ruoyao, 19 months ago

Or you've skipped LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR and allow the building system to download a copy. But then it's still a change to the build recipe.

comment:5 by martyj19, 19 months ago

As I have reported on this wiki before, I use SPIRV-Header and SPIRV-Tools from git master. My report says nothing about whether I am following the book instructions, which it has been known for a good many decades that I do not follow strictly.

My report was provided to give an indication of whether the llvm 20 toolchain might work; I find that it does.

I have about had it with Xi Ruoyao and this is going to be my last contribution here. Good luck to you all.

comment:6 by thomas, 19 months ago

Summary: llvm-20.1.0 → llvm-20.1.0 (wait for spirv-llvm-translator)

Looks like the dependency goes from llvm to libclc which needs spirv-* and libclc is needed by mesa. I think upgrade of llvm is now locked to the spirv-stuff.

in reply to:  5 comment:7 by pierre, 19 months ago

Replying to martyj19:

As I have reported on this wiki before, I use SPIRV-Header and SPIRV-Tools from git master. My report says nothing about whether I am following the book instructions, which it has been known for a good many decades that I do not follow strictly.

Well, you cannot tell this: we have a lot of contributors, and we can't remember whether they build by the book or not, if they do not tell each time...

My report was provided to give an indication of whether the llvm 20 toolchain might work; I find that it does.

That's a good indication, and thanks for that, but since it cannot be put into the book as is, we have to either wait for further upstream developments, or provide a patch to make it build...

I have about had it with Xi Ruoyao and this is going to be my last contribution here. Good luck to you all.

Frankly, I do not see what is wrong with Xi's answer. Ok, a little harsh in words, but remember Xi speaks a language that is very far from English, and I find he is doing very well when he writes English, although he does not have all the subtleties of the language (me neither actually :). Xi always try to understand why and how things work (or don't work). Using "you" in the answer instead of passive forms, conditionals, etc is somewhat aggressive, but I think it's not on purpose. Hope you come back...

comment:8 by Rahul Chandra, 19 months ago

I don't know if we have to update currency but spirv stuff gas been released ​https://github.com/KhronosGroup/SPIRV-LLVM-Translator/releases/tag/v20.1.0

comment:9 by Rahul Chandra, 19 months ago

Ignore the last message didn't see the headers are still MIA

comment:10 by Xi Ruoyao, 19 months ago

Summary: llvm-20.1.0 (wait for spirv-llvm-translator) → llvm-20.1.0

New SPIRV-Headers is out now.

comment:11 by Douglas R. Reno, 19 months ago

Owner: changed from blfs-book to Douglas R. Reno
Status: new → assigned

comment:12 by Bruce Dubbs, 19 months ago

I have downloaded the cmake and third-party tarballs for 20.1.0 and renamed them (and their directories) and placed then on anduin:

https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-cmake-20.1.0.src.tar.xz
https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-third-party-20.1.0.src.tar.xz
6a40cb466bcbd643b288d9c969d086a0  llvm-third-party-20.1.0.src.tar.xz
e75569b51930bb5b187c9afebed7f793  llvm-cmake-20.1.0.src.tar.xz

comment:13 by Douglas R. Reno, 19 months ago

Thank you! That should make things a lot easier for me tomorrow

comment:14 by Bruce Dubbs, 19 months ago

With those tarballs I needed to change the seds:

sed -e "/LLVM_COMMON_CMAKE_UTILS/s@/../cmake@/llvm-cmake-$VERSION.src@" \
        -i CMakeLists.txt &&

sed -e "/LLVM_THIRD_PARTY_DIR/s@/../third-party@/llvm-third-party-$VERSION.src@" \
        -i cmake/modules/HandleLLVMOptions.cmake &&

comment:15 by Bruce Dubbs, 19 months ago

The lasagna was thawed. Now using frozen corn.

in reply to:  14 ; comment:16 by Xi Ruoyao, 19 months ago

Replying to Bruce Dubbs:

With those tarballs I needed to change the seds:

sed -e "/LLVM_COMMON_CMAKE_UTILS/s@/../cmake@/llvm-cmake-$VERSION.src@" \
        -i CMakeLists.txt &&

sed -e "/LLVM_THIRD_PARTY_DIR/s@/../third-party@/llvm-third-party-$VERSION.src@" \
        -i cmake/modules/HandleLLVMOptions.cmake &&

Phew. I deliberately changed the seds when upgraded to LLVM-19 to avoid the necessity to rename the directory in the tarballs.

in reply to:  16 comment:17 by Xi Ruoyao, 19 months ago

Replying to Xi Ruoyao:

Replying to Bruce Dubbs:

With those tarballs I needed to change the seds:

sed -e "/LLVM_COMMON_CMAKE_UTILS/s@/../cmake@/llvm-cmake-$VERSION.src@" \
        -i CMakeLists.txt &&

sed -e "/LLVM_THIRD_PARTY_DIR/s@/../third-party@/llvm-third-party-$VERSION.src@" \
        -i cmake/modules/HandleLLVMOptions.cmake &&

Phew. I deliberately changed the seds when upgraded to LLVM-19 to avoid the necessity to rename the directory in the tarballs.

I'd just upload the original tarball (w/o the directories renamed), overwriting the modified ones so we can avoid the burden if no objection.

comment:18 by Douglas R. Reno, 19 months ago

Can you take care of that and post the new md5sums here please? I'm planning on taking care of this and the other related updates first thing in the morning.

in reply to:  18 comment:19 by Xi Ruoyao, 19 months ago

Replying to Douglas R. Reno:

Can you take care of that and post the new md5sums here please? I'm planning on taking care of this and the other related updates first thing in the morning.

I'll do it in minutes.

comment:20 by Xi Ruoyao, 19 months ago

ec75507e2c8cf6cf2293c6a37fe4bd92  llvm-cmake-20.1.0.src.tar.xz
7e894b124abd69459305b4371e41f269  llvm-third-party-20.1.0.src.tar.xz

comment:21 by Douglas R. Reno, 19 months ago

Resolution: → fixed
Status: assigned → closed

comment:22 by Bruce Dubbs, 19 months ago

Resolution: fixed
Status: closed → reopened
Summary: llvm-20.1.0 → llvm-20.1.1

Now version 20.1.1

comment:23 by Bruce Dubbs, 19 months ago

I found release notes at ​https://discourse.llvm.org/t/llvm-20-1-1-released/85337

There are an awful lot of changes since the previous release two weeks ago. Perhaps we should skip this because of the note:

Next Release
  - The next release will be 20.1.2 in two weeks
Last edited 19 months ago by Bruce Dubbs (previous) (diff)

comment:24 by Douglas R. Reno, 19 months ago

I'm not sure that's a good idea since it fixes an integer overflow in clang and a performance regression. LLVM has always been known to do releases every two weeks until the end of their cycle, so we normally skip ones where the changes aren't applicable to us (such as in components that we don't carry or ones that are specific to another platform)

comment:25 by Douglas R. Reno, 19 months ago

Resolution: → fixed
Status: reopened → closed
Note: See TracTickets for help on using tickets.