<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/55270>55270</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[wasm32] llc crashes with SIGILL on `common global` declaration
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
evacchi
</td>
</tr>
</table>
<pre>
```
❯ cat repro.ll
@repro_ = global i8 0
```
```
❯ llc -march=wasm32 -filetype=obj repro.ll
PLEASE submit a bug report to https://github.com/Homebrew/homebrew-core/issues and include the crash backtrace.
Stack dump:
0. Program arguments: llc -march=wasm32 -filetype=obj repro.ll
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 libLLVM.dylib 0x00000001132761a8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 40
1 libLLVM.dylib 0x0000000113276798 SignalHandler(int) + 248
2 libsystem_platform.dylib 0x00007ff81457ddfd _sigtramp + 29
3 libLLVM.dylib 0x00000001133dc287 llvm::Module::getNamedMetadata(llvm::Twine const&) const + 183
4 libLLVM.dylib 0x0000000113a45131 llvm::AsmPrinter::emitGlobalVariable(llvm::GlobalVariable const*) + 1057
5 libLLVM.dylib 0x0000000113a4b0b4 llvm::AsmPrinter::doFinalization(llvm::Module&) + 100
6 libLLVM.dylib 0x00000001133bfc75 llvm::FPPassManager::doFinalization(llvm::Module&) + 53
7 libLLVM.dylib 0x00000001133b74e5 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1029
8 llc 0x000000010cc7e271 compileModule(char**, llvm::LLVMContext&) + 6145
9 llc 0x000000010cc7c546 main + 1254
10 dyld 0x0000000119b5351e start + 462
zsh: illegal hardware instruction llc -march=wasm32 -filetype=obj repro.ll
```
```
❯ llc --version
Homebrew LLVM version 13.0.1
Optimized build.
Default target: x86_64-apple-darwin21.4.0
Host CPU: icelake-client
Registered Targets:
aarch64 - AArch64 (little endian)
aarch64_32 - AArch64 (little endian ILP32)
aarch64_be - AArch64 (big endian)
amdgcn - AMD GCN GPUs
arm - ARM
arm64 - ARM64 (little endian)
arm64_32 - ARM64 (little endian ILP32)
armeb - ARM (big endian)
avr - Atmel AVR Microcontroller
bpf - BPF (host endian)
bpfeb - BPF (big endian)
bpfel - BPF (little endian)
hexagon - Hexagon
lanai - Lanai
mips - MIPS (32-bit big endian)
mips64 - MIPS (64-bit big endian)
mips64el - MIPS (64-bit little endian)
mipsel - MIPS (32-bit little endian)
msp430 - MSP430 [experimental]
nvptx - NVIDIA PTX 32-bit
nvptx64 - NVIDIA PTX 64-bit
ppc32 - PowerPC 32
ppc32le - PowerPC 32 LE
ppc64 - PowerPC 64
ppc64le - PowerPC 64 LE
r600 - AMD GPUs HD2XXX-HD6XXX
riscv32 - 32-bit RISC-V
riscv64 - 64-bit RISC-V
sparc - Sparc
sparcel - Sparc LE
sparcv9 - Sparc V9
systemz - SystemZ
thumb - Thumb
thumbeb - Thumb (big endian)
wasm32 - WebAssembly 32-bit
wasm64 - WebAssembly 64-bit
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
xcore - XCore
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJydV1lv4joU_jX05SgoO-GBB1q6IMHcqHR6e-cFOYkBzziLHIeW_vp77CQkMN1UVKl2zvad1XaUJ4fJwDebP3M2MKeDa3swng2mNxATCYIWIh9y3tBcU39Yw8CZwZbnEeHAAmhFzzS9-fGonvMYjJSIeIfKnkmZOjYYG8apPBQUP-XR7zPz4eJ6urqGsopSJoFAVG0VRy4kyBx2UhblwJkO7Bv82zK5q6JhnKe4uctTGgn6jMtdszTiXFDcs7KsaAkkS4BlMa8SCnJHIRak3EFE4j9SkJgOawAriR8gqdJC2dGfTCSNQ5FvBUmBiG2V0kwqGN_wr1MPzwg_rySUhzTKOWQkRZADO6BZWQkKh7yCHdlTNLJPjZqJvVKBPiiagHD6cAe5gJJK7Q_N9kzkmQIHeyIA87FYPC7Xq_-Wl_8s5r-u79dKBD-rUBY5y3RMmRzY485XAM4iJTdMDriC3s98MeufZTn2yLdIoLEpWWdaHsp6EQpUrN18UGFFhzomQZ7XeSkFJZgyf2BfoTPKPLp9CW5TPtbXIYzGAazYNiP8DrPLqUBrPY22G9Qqba0SIUqargtO5CYXaaO9VjnabALL9UZJsklgXbIt1gTmSGsZ10qcL-JyktgORr3QLPOk4rReb6n8gYlOllSShEhyEp6HZ5ZhXeZZKXV4xvVao7ACp4bhfhEGcT3LsXowpmWqc4NR0nuKHXar-_uRCEYifpqrU1KLatrG1jK9UQ3I-zKgyIzcDwAl-Q3DVLJXIlmenYBpQlgHpTbfVIv_1axEm3jk9azfhCEpyyXJyPY7ALwmHaMv2x-5tG-f0y2JD03PdEjmacGbZqk-jUFbmgHoUfTmrwNhxvGI2iMLc5kWOKRahUG8I0KndqpasrOovLrKMUEvsmfWxz6pzY6_bDb2XB9SgqNLA7c9t-l1EzBqyScarHHkOZ5FoZRE1O3g-nat4bXcqUnMuIonx4kpkmeC45NhuYoqVomEb8zpb5xzxp6KUtWNJrbnEaggQkMCyxmaQ6vmAPinkCzFmZ7gMcd4Mmy_z-iGVBynMx42VCr3XgJ_7bsGKQpOjYQIHBS2NXSHZityh2MVrsKfOhYx5eQPNWLO8CzoOwBwT7cMp6BAmw9ae3kc_SrmRMXId9XSgOm03qgqZFJydcQkjGSDtux6EmsV0XclYL4IHftNuYieykVs-6aZNNnGGTTAljO4vfoBt-HPssci0rZ0kOV-eUKpfWoon_qk-JVH7_O_5ZHAjPesfOTNXvSgypRymD7ew5LFIsdBK0XO1WF25I-KTcd_Gd4o1TuV8Td0I28Ho-F9B4Zi5Wes70dlR1_INs9q7rt601E5ji_W6lqoTUdLWVEe4S_n4UoZcmwjwiveO9CUSJOzTgQ74FMR7dBfIu97paSaIPyF7QOpsnAds5VahWoz8C7pS0EFUzcwwgferOPP9oV8aSPw43E-m08hfHiC2tAZX9t_Pb7ajY6vKGJdnpovzJ-pCK9Q2RkDYj9jgMX1CU_XFi2P754xnCtBkb4S4ZtmV8qqMbEp4W5mPz09GXczH__1mFkZ72vgRuM73M9XV8bjGU8bgiZ95zxlgdOjNbpSmzNandGGdoJXk_fjPvmxl9j6jvjakPXmV0fF90Z67K0HtTmj1Z3X0D7ovOYMqpn_pdG0LGka8cNfBaEYj33QZzyvCDwh4JiHJrRPga_OgxDrkVWpgU8Y_QgiUb6nJ5LG0UQT8EbyGkffg5bBzPYr40U9rVprT1fqnXV6Ql4kEycZO2NyIRn20ASbo_YZ20Ifl_r1hQ8e9QqC1fx2vlgADhcUxdtJiqv66aleKwmNORH6TgYXleCTD56B-vJS_zPwPP9NY3l8AeLC8-yRebGb-HS8ceOERp47DmIax64Z082YJm4wCjZ-cMFJRHmpYA9sO8NjXKvANeK_YBPbtG3TM13Ls1zbHDqmSZ3AHbluktjRyMRHNMXbDh8qHMNcbC_EREPC52yJRI5ncNkR8faHjxiqo6T0kwpfhmJC9ySOd-xCm55o6P8DjuJ1Ug">