11From git@z Thu Jan 1 00:00:00 1970
2- Subject: [PATCH] hexagon: Disable constant extender optimization for LLVM
3- prior to 19.1.0
2+ Subject: [PATCH v2 ] hexagon: Disable constant extender optimization for
3+ LLVM prior to 19.1.0
44From: Nathan Chancellor <
[email protected] >
5- Date: Mon, 19 Aug 2024 11:16:10 -0700
6- Message-Id: <20240819 -hexagon-disable-constant-expander-pass-v1 -1-36a734e9527d @kernel.org>
5+ Date: Thu, 21 Nov 2024 11:22:18 -0700
6+ Message-Id: <20241121 -hexagon-disable-constant-expander-pass-v2 -1-1a92e9afb0f4 @kernel.org>
77MIME-Version: 1.0
88Content-Type: text/plain; charset="utf-8"
99Content-Transfer-Encoding: 7bit
1010
1111The Hexagon-specific constant extender optimization in LLVM may crash on
12- Linux kernel code [1] (such as with a bcachefs change in -next):
12+ Linux kernel code [1], such as fs/bcache/btree_io.c after
13+ commit 32ed4a620c54 ("bcachefs: Btree path tracepoints") in 6.12:
1314
1415 clang: llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp:745: bool (anonymous namespace)::HexagonConstExtenders::ExtRoot::operator<(const HCE::ExtRoot &) const: Assertion `ThisB->getParent() == OtherB->getParent()' failed.
1516 Stack dump:
@@ -26,18 +27,29 @@ This has been resolved in LLVM main (20.0.0) [2] and backported to LLVM
2627constant expander optimization using the '-mllvm' option when using a
2728toolchain that is not fixed.
2829
30+ 2931Link: https://github.com/llvm/llvm-project/issues/99714 [1]
3032Link: https://github.com/llvm/llvm-project/commit/68df06a0b2998765cb0a41353fcf0919bbf57ddb [2]
3133Link: https://github.com/llvm/llvm-project/commit/2ab8d93061581edad3501561722ebd5632d73892 [3]
3234Reviewed-by: Brian Cain <
[email protected] >
33- Link: https://lore.kernel.org/r/20240819 -hexagon-disable-constant-expander-pass-v1 -1-36a734e9527d @kernel.org
35+ Link: https://lore.kernel.org/r/20241121 -hexagon-disable-constant-expander-pass-v2 -1-1a92e9afb0f4 @kernel.org
3436Signed-off-by: Nathan Chancellor <
[email protected] >
37+ ---
38+ Andrew, can you please take this for 6.13? Our CI continues to hit this.
39+
40+ Changes in v2:
41+ - Rebase on 6.12 to make sure it is still applicable
42+ - Name exact bcachefs commit that introduces crash now that it is
43+ merged
44+ - Add 'Cc: stable' as this is now visible in a stable release
45+ - Carry forward Brian's reviewed-by
46+ - Link to v1: https://lore.kernel.org/r/20240819-hexagon-disable-constant-expander-pass-v1-1-36a734e9527d@kernel.org
3547---
3648 arch/hexagon/Makefile | 6 ++++++
3749 1 file changed, 6 insertions(+)
3850
3951diff --git a/arch/hexagon/Makefile b/arch/hexagon/Makefile
40- index 92d005958dfb..ff172cbe5881 100644
52+ index 92d005958dfb232d48a4ca843b46262a84a08eb4..ff172cbe5881a074f9d9430c37071992a4c8beac 100644
4153--- a/arch/hexagon/Makefile
4254+++ b/arch/hexagon/Makefile
4355@@ -32,3 +32,9 @@ KBUILD_LDFLAGS += $(ldflags-y)
@@ -52,7 +64,7 @@ index 92d005958dfb..ff172cbe5881 100644
5264+ endif
5365
5466---
55- base-commit: 47ac09b91befbb6a235ab620c32af719f8208399
67+ base-commit: adc218676eef25575469234709c2d87185ca223a
5668change-id: 20240802-hexagon-disable-constant-expander-pass-8b6b61db6afc
5769
5870Best regards,
0 commit comments