Issue 185411
Summary assertion failed on aarch64 - legality mutation invalid for match
Labels new issue
Assignees
Reporter Equinoxx4978
    In release mode clang freezes and keeps leaking memory (until it gets killed by the OOM killer). Attached backtrace is generated on release/21.x. I couldn't build release/22.x but I can reproduce the memory leak issue on the build downloaded from the releases page.

## Failing Command
```
clang -c -target aarch64-linux reduced.ll
```

With this file:

```llvm
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "aarch64-unknown-linux5.10.0-musl"

define <4 x i4> @failing(<4 x i4> %0) {
  %2 = call <4 x i4> @llvm.ctlz.v4i4(<4 x i4> %0, i1 false)
 ret <4 x i4> %2
}
```

## Backtrace
```
clang: /home/jackal/Documents/Code/C/llvm-project/llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp:206: llvm::LegalizeActionStep llvm::LegalizeRuleSet::apply(const llvm::LegalityQuery&) const: Assertion `mutationIsSane(Rule, Query, Mutation) && "legality mutation invalid for match"' 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: "/run/media/jackal/disk/llvm21-debug/bin/clang" -c -target aarch64-linux reduced.ll
1.      Code generation
2.      Running pass 'Function Pass Manager' on module 'reduced.ll'.
3.      Running pass 'Legalizer' on function '@failing'
 #0 0x0000000004bb4bdc (/run/media/jackal/disk/llvm21-debug/bin/clang+0x4bb4bdc)
 #1 0x0000000004bb50a6 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x4bb50a6)
 #2 0x0000000004bb2619 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x4bb2619)
 #3 0x0000000004bb4443 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x4bb4443)
 #4 0x0000000004ad63ff (/run/media/jackal/disk/llvm21-debug/bin/clang+0x4ad63ff)
 #5 0x0000000004ad688d (/run/media/jackal/disk/llvm21-debug/bin/clang+0x4ad688d)
 #6 0x00007fb5fa706290 __restore_rt (/lib64/libc.so.6+0x1a290)
 #7 0x00007fb5fa7603cc __pthread_kill_implementation (/lib64/libc.so.6+0x743cc)
 #8 0x00007fb5fa70615e gsignal (/lib64/libc.so.6+0x1a15e)
 #9 0x00007fb5fa6ed6d0 abort (/lib64/libc.so.6+0x16d0)
#10 0x00007fb5fa6ed639 __assert_perror_fail (/lib64/libc.so.6+0x1639)
#11 0x0000000005faf8d3 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x5faf8d3)
#12 0x0000000005fb0380 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x5fb0380)
#13 0x0000000005fb0672 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x5fb0672)
#14 0x0000000005f568af (/run/media/jackal/disk/llvm21-debug/bin/clang+0x5f568af)
#15 0x0000000005f4ce50 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x5f4ce50)
#16 0x0000000005f4d787 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x5f4d787)
#17 0x0000000003aca4c9 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x3aca4c9)
#18 0x00000000042cec53 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x42cec53)
#19 0x00000000042ceeb5 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x42ceeb5)
#20 0x00000000042cf2c0 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x42cf2c0)
#21 0x00000000042caa34 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x42caa34)
#22 0x00000000042cfadd (/run/media/jackal/disk/llvm21-debug/bin/clang+0x42cfadd)
#23 0x0000000004eb2cbe (/run/media/jackal/disk/llvm21-debug/bin/clang+0x4eb2cbe)
#24 0x00000000054b0e76 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x54b0e76)
#25 0x00000000057e4e41 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x57e4e41)
#26 0x0000000005760ca3 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x5760ca3)
#27 0x00000000058cb11a (/run/media/jackal/disk/llvm21-debug/bin/clang+0x58cb11a)
#28 0x00000000007b66c2 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x7b66c2)
#29 0x00000000007adb68 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x7adb68)
#30 0x0000000005518f39 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x5518f39)
#31 0x00000000037c5482 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x37c5482)
#32 0x0000000004ad6a3d (/run/media/jackal/disk/llvm21-debug/bin/clang+0x4ad6a3d)
#33 0x0000000005519726 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x5519726)
#34 0x00000000054d943b (/run/media/jackal/disk/llvm21-debug/bin/clang+0x54d943b)
#35 0x00000000054da3cf (/run/media/jackal/disk/llvm21-debug/bin/clang+0x54da3cf)
#36 0x00000000054e8825 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x54e8825)
#37 0x00000000007b2e9a (/run/media/jackal/disk/llvm21-debug/bin/clang+0x7b2e9a)
#38 0x000000000079915f (/run/media/jackal/disk/llvm21-debug/bin/clang+0x79915f)
#39 0x00007fb5fa6ef5b5 __libc_start_call_main (/lib64/libc.so.6+0x35b5)
#40 0x00007fb5fa6ef668 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x3668)
#41 0x00000000007aced5 (/run/media/jackal/disk/llvm21-debug/bin/clang+0x7aced5)
clang: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 21.1.8 (https://github.com/llvm/llvm-project/ 2078da43e25a4623cab2d0d60decddf709aaea28)
Target: aarch64-unknown-linux
Thread model: posix
InstalledDir: /run/media/jackal/disk/llvm21-debug/bin
Build config: +unoptimized, +assertions
clang: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs.
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to