[PATCH] D118663: [AArch64] Adds SUBS and ADDS instructions to the MIPeepholeOpt.
Nathan Chancellor via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 13 09:41:37 PST 2022
nathanchance added subscribers: nickdesaulniers, nathanchance.
nathanchance added a comment.
I have reverted this in 22eb1dae3fb20ca8ada865de1d95baab0e08a060 <https://reviews.llvm.org/rG22eb1dae3fb20ca8ada865de1d95baab0e08a060>, as it causes assertion failures when building the Linux kernel, which has caused our CI to go red:
https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/1836780929
https://builds.tuxbuild.com/253UOEmSLgpZWbJd3IJsK96YDq5/build.log
A reduced reproducer from `cvise`:
$ cat neighbour.i
neigh_periodic_work_tbl_1() {
if ((long)neigh_periodic_work_tbl_1 + 300 * 250 < 0)
for (;;)
;
}
$ clang -O2 --target=aarch64-linux-gnu -c -o /dev/null neighbour.i
...
clang: /home/nathan/cbl/src/llvm-project/llvm/include/llvm/CodeGen/Register.h:78: static unsigned int llvm::Register::virtReg2Index(llvm::Register): Assertion `isVirtualRegister(Reg) && "Not a virtual register"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: clang -O2 --target=aarch64-linux-gnu -c -o /dev/null neighbour.i
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'neighbour.i'.
4. Running pass 'AArch64 MI Peephole Optimization pass' on function '@neigh_periodic_work_tbl_1'
...
If there is any other information that I can provide or patches I can test, please let me know.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118663/new/
https://reviews.llvm.org/D118663
More information about the llvm-commits
mailing list