[llvm-bugs] [Bug 46523] New: rG42f488b63a04 breaks arm64 kernel build with ThinLTO
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Jun 30 11:44:34 PDT 2020
https://bugs.llvm.org/show_bug.cgi?id=46523
Bug ID: 46523
Summary: rG42f488b63a04 breaks arm64 kernel build with ThinLTO
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Scalar Optimizations
Assignee: spatel+llvm at rotateright.com
Reporter: samitolvanen at google.com
CC: llvm-bugs at lists.llvm.org, ndesaulniers at google.com
Created attachment 23658
--> https://bugs.llvm.org/attachment.cgi?id=23658&action=edit
kernel configuration
Commit 42f488b63a04fdaa931315bdadecb6d23e20529a ("[InstCombine] improve
matching for sext-lshr-trunc patterns") breaks the arm64 Linux kernel build
with ThinLTO.
Steps to reproduce:
$ git clone https://github.com/samitolvanen/linux.git
$ cd linux
$ git checkout origin/clang-lto
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- LLVM=1 defconfig
$ ./scripts/config -e LTO_CLANG -e NFP -e BPF_SYSCALL
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- LLVM=1 olddefconfig
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- LLVM=1 -j110
...
LD .tmp_vmlinux.kallsyms1
ld.lld: error: undefined symbol: __compiletime_assert_900
>>> referenced by jit.c:653 (drivers/net/ethernet/netronome/nfp/bpf/jit.c:653)
>>> vmlinux.o:(jeq_imm.llvm.9259135780514890817
make: *** [Makefile:1161: vmlinux] Error 1
This is caused by compiletime_assert in the FIELD_FIT / __BF_FIELD_CHECK macro
in the function ur_load_imm_any, which is called in jeq_imm.
The code compiles fine without ThinLTO, or with the previous revision of LLVM
prior to this commit.
I have attached a .config that reproduces the error.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200630/94a0097f/attachment.html>
More information about the llvm-bugs
mailing list