<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/66180>66180</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
llvm::X86TargetLowering::EmitInstrWithCustomInserter(llvm::MachineInstr&, llvm::MachineBasicBlock*) const: Assertion `Subtarget.is32Bit() && "preallocated only used in 32-bit"' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
LRY89757
</td>
</tr>
</table>
<pre>
### code
llvm ir
```llvm
declare token @llvm.call.preallocated.setup(i32)
declare ptr @llvm.call.preallocated.arg(token, i32)
define internal i32 @f(ptr %m) {
%v = load i32, ptr %m
%one = add i32 %v, 1
store i32 %one, ptr %m
ret i32 %v
}
define internal x86_thiscallcc i32 @g(ptr %m) {
%v = load i32, ptr %m
%one = add i32 %v, 1
store i32 %one, ptr %m
ret i32 %v
}
define internal coldcc i32 @h(ptr %m) {
%v = load i32, ptr %m
%one = add i32 %v, 1
store i32 %one, ptr %m
ret i32 %v
}
define internal i32 @j(ptr %m) {
%v = load i32, ptr %m
%one = add i32 %v, 1
store i32 %one, ptr %m
ret i32 %v
}
define internal i32 @inalloca(ptr inalloca(i32) %p) {
%v = load i32, ptr %p
store i32 %v, ptr %p
%one = add i32 %v, 1
store i32 %one, ptr %p
ret i32 %v
}
define i32 @inalloca2_caller(ptr inalloca(i32) %p) {
%rv = call i32 @inalloca2(ptr inalloca(i32) %p)
ret i32 %rv
}
define internal i32 @inalloca2(ptr inalloca(i32) %p) {
%v = load i32, ptr %p
store i32 %v, ptr %p
%one = add i32 %v, 1
store i32 %one, ptr %p
ret i32 %v
}
define internal i32 @preallocated(ptr preallocated(i32) %p) {
%v = load i32, ptr %p
store i32 %v, ptr %p
%one = add i32 %v, 1
store i32 %one, ptr %p
ret i32 %v
}
declare void @removeprealloc(ptr)
define void @call_things() {
%m = alloca i32
call i32 @f(ptr %m)
call x86_thiscallcc i32 @g(ptr %m)
call coldcc i32 @h(ptr %m)
call i32 @j(ptr %m)
%args = alloca inalloca i32
call i32 @inalloca(ptr inalloca(i32) %args)
%c = call token @llvm.call.preallocated.setup(i32 1)
%N = call ptr @llvm.call.preallocated.arg(token %c, i32 0) preallocated(i32)
call i32 @preallocated(ptr preallocated(i32) %N) ["preallocated"(token %c)]
ret void
}
@llvm.used = appending global [4 x ptr] [
ptr @f, ptr @g, ptr @h, ptr @j
], section "llvm.metadata"
```
command
```bash
"llc", file, "-O3","-filetype=obj", "-mtriple=x86_64-unknown-linux-gnu", "-o", exe_before_opt + ".o"
```
error
```
llc: /home/runyu/projects/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:36165: virtual llvm::MachineBasicBlock* llvm::X86TargetLowering::EmitInstrWithCustomInserter(llvm::MachineInstr&, llvm::MachineBasicBlock*) const: Assertion `Subtarget.is32Bit() && "preallocated only used in 32-bit"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc /JawTitan/whitefox-data/starcoder/llvm-exe-result/trigger_test/no_source_with_specific_ir_prompt8/GlobalOptPass_oneshot_3/GlobalOptPass_oneshot_3_2.py.ll -O3 -filetype=obj -mtriple=x86_64-unknown-linux-gnu -o /home/runyu/projects/JIT-parser/bug_analysis/GlobalOptPass_oneshot_3_2.py_GlobalOptPass_oneshot_3_no_source_with_specific_ir_prompt8/exe_before_opt.o
1. Running pass 'Function Pass Manager' on module '/JawTitan/whitefox-data/starcoder/llvm-exe-result/trigger_test/no_source_with_specific_ir_prompt8/GlobalOptPass_oneshot_3/GlobalOptPass_oneshot_3_2.py.ll'.
2. Running pass 'Finalize ISel and expand pseudo-instructions' on function '@call_things'
#0 0x00000000025875d8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/runyu/projects/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:22
#1 0x0000000002587a1b PrintStackTraceSignalHandler(void*) /home/runyu/projects/llvm-project/llvm/lib/Support/Unix/Signals.inc:798:1
#2 0x000000000258519b llvm::sys::RunSignalHandlers() /home/runyu/projects/llvm-project/llvm/lib/Support/Signals.cpp:105:20
#3 0x0000000002586fad SignalHandler(int) /home/runyu/projects/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
#4 0x00007fe209894420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#5 0x00007fe20929100b raise /build/glibc-SzIz7B/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#6 0x00007fe209270859 abort /build/glibc-SzIz7B/glibc-2.31/stdlib/abort.c:81:7
#7 0x00007fe209270729 get_sysdep_segment_value /build/glibc-SzIz7B/glibc-2.31/intl/loadmsgcat.c:509:8
#8 0x00007fe209270729 _nl_load_domain /build/glibc-SzIz7B/glibc-2.31/intl/loadmsgcat.c:970:34
#9 0x00007fe209281fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#10 0x0000000000ac6b29 llvm::X86TargetLowering::EmitInstrWithCustomInserter(llvm::MachineInstr&, llvm::MachineBasicBlock*) const /home/runyu/projects/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:36166:51
#11 0x0000000001343bc8 (anonymous namespace)::FinalizeISel::runOnMachineFunction(llvm::MachineFunction&) /home/runyu/projects/llvm-project/llvm/lib/CodeGen/FinalizeISel.cpp:60:69
#12 0x00000000014e0f79 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/runyu/projects/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:91:33
#13 0x0000000001c4620d llvm::FPPassManager::runOnFunction(llvm::Function&) /home/runyu/projects/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1435:20
#14 0x0000000001c4646f llvm::FPPassManager::runOnModule(llvm::Module&) /home/runyu/projects/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1481:13
#15 0x0000000001c46885 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/runyu/projects/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1550:20
#16 0x0000000001c41b54 llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/runyu/projects/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:535:13
#17 0x0000000001c470af llvm::legacy::PassManager::run(llvm::Module&) /home/runyu/projects/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1678:1
#18 0x00000000007d4eab compileModule(char**, llvm::LLVMContext&) /home/runyu/projects/llvm-project/llvm/tools/llc/llc.cpp:754:66
#19 0x00000000007d2872 main /home/runyu/projects/llvm-project/llvm/tools/llc/llc.cpp:416:35
#20 0x00007fe209272083 __libc_start_main /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:342:3
#21 0x00000000007d152e _start (/home/runyu/projects/llvm-project/build/bin/llc+0x7d152e)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWFlznDoW_jXyi6opEPtDP3hJ3_Et5yYVZ2buPFEC1LQSkChJ2N359VNHgBtIx0u2SSaVcoMkzvm-swPVmleCsTUKL1B4dUY7s5NqffPuP0kah_FZLsvDGhG__48LWTLkXiH3vK7vGsxVf4Mit_8Pq_1SyYqaKoaN_MgERoHdcgpa106rGK1rWVDDSkcz07WIJNwniKTzZ1ujHnmSqgqRxMpH5BJPBYxitlwwzIVhStAaToC4LSKJlUzCBpEUo_iiP49h6Q4j_wrXkpa9xEv8cPZ4SApmj9Gy7KWS8A6OeuMZbaRi45YU7JQcxczx4R52fPUY_n0SZWbHNZiiKEY61e9Kp5B1eaSx-11pDPg_fBH_bwGfiz6xBhaT2z6vQGD7Ar-0J0HfnTjxjczbFzOfEyYZpBNTLySueubw7GcSnxJ1ArFaQn7CTU_q-P5--vmOWnCfFv-B_mLp_8kEfQe8k7wE7oo18o6NdHv2p7vd-AREJnQLUWlEks_N0fQsrPWsQYataUQvOuXsyLOa0eyJR-v9KfUfTh9BJKSq0jP84nEiz6luIHOupTim-AumGOzNpfx1lPLsecZqH4Ya7ALAk5F-iupLsuQv-xteIELmZ8gCSIrCq2nsQpCdjNuRXadZ2TuobZkouahwVcuc1qAuwHswBQqvrPJB7mCc7UO-2Gh6uN5Nrj8MysIrWNSsMFwCVGJ1N8zQkhoKNObT6RRpIZuGinJxIqd6NyyBtMKa4hJveW3zGBGyeuP3i3AN6-bQMuRfyfzDcBjbY41RvK1hBzIlClad-CjkvVjVXHT7VSW64TgclsM127MsZ1upWCZbgxG5gG1HfokKU0ouR_BxPC-QD811s5MNQ2SjOnHoENm0Sn5ghdGIbMBaq-F-uIUfniOyeU9VxWD17yTq_17fsvpG3jPFReUUbYv8cz_yohDU3HFlOlpjK8I_R_75a1rsuGAXVPPiopbFR0TOJ9t_J1GvYZTYL79quLkW2qh_c7O77LSRzbXQTBnbnz-Tbo8iEoHpHlcNgV5IoQ2gPdcg0oZM5N52ubFIHK59csHNWC1BbIQXqYGlqA_YRjcX2CerHB4giMR4S3nNSqc3_9ubV-e3r7Du8oYbTHHeVVixViqDjcQ7Y1oNYMkGkU3Fza7LnUI2EyfMXcO17hi4DFMBmou6Kxk2O4YLRfUO57T4aBQt2KD-1tDiIy67BrzUL7kOctO3SlaKNpiqqmuYMAAC13UBcfInvX_PDRWIbO533LCt3K_6NNpoQxW8-akRGduzlWK6qwGcUbyqmMoM03ArZKZlpwqW3XOzy3TLCr7lRcZV1irZtCZBZPOHLQZvWvOWap1JwfROmsz_8k5GnPbg1DVevfHxIu_wM5INr-TjyfDn9ftVS5W2JPOuyqig9UFz_QSm7Eubz7LDPOEd2fvKA1-964SAutlSrTEi8aYTfZ0DPfg1FbQCrDGWAjey7GoGp34bRyISD8FKTrKFHs0_MQxlx0Y927fw02rWlXLFIfU7axA9GGE7GgjMsBiA4oeXDd_F7t4d_5EwicMymVQPfdD9xVvFhbGJ9B4ya1Z_FL3PpDaK0WYoP1yYvmp8Zb297VqoDohs_in4HhZ4JWitHS6gkMfER_752AWAhrekQb0cLzD3Mv5BRdm_4Ni23RfDHwY0TZB_7h1xkgXO0EvzU-Z-14kZ3Iep9duBjgj7puW50LKIe4ToLyBGW1ripe1-sIMDz5_bLRhAxVtG3DRJg4C4OMsUs-8XmYLpIHmQPpS9yWwBG63ZKUZLR0vHReTC3Xsg5Tg4IuKHMzUk9Vw3x4pyDdVkk3e8LqFF1TwvVrefrj_FFw-3xPE9qCmWByIbx4G7gy5ZC8boepr6oO8sGtHBrRXtAOPQmxOO5khiNwlTTHNpmT4PiSl7a9inrJIElEySP14qiUmKK2ayHnemWQV9MbujdfdsC3BhgD-8Wja6KmivOnRTAHDUnZzSnYk6gwezUjaUi29TmcYuTGXBUWc615l42zJ6RuAUEDKRDRnf35bR8VWT-N6sgLq0iHKS_gqj3U8YdqM-bh9MMSvCnh_4eZGAeamQ4tDITmNBG6Zb2z_SnsPY2UDF0E068UYM1MYuf8omx73om0rRpSzZHwzmgymWgWYEIRRN3D0r4F7A3G2cfu6SERs0-wmrk3S-P48TIAY6KRQA3z_SmRV7rwgi4pYTOpu38PA4Xf0kItfvENncsIoWh4n2sV8F_rRhAYdgySGIts_g8NpOifPIGpZ-KH5bhL2JD8Il_iQJn0qb178WqTB0F06JFqS8PAwmTqmtpGG0PMq7btpjFfjZLEIbWVPPxAsSsUu3T5P4nxHwongybgKBZNac4jJgNMeFbFpes4dQKXZU2c5xPm8vNzf_en0phWF78_WwjZR1v1v0fwescRhAZY2OWNMFVpLEBI9TwPdSG3jQtPzwQS1xF3MIcRMfZxm0_QxeEE32kkmk0N04-_WXdtPKsTOJHxD4e1TvLVh7IWG4VzxMJs-mPuLLuRiZX7j7XuRxZDn19e-sXPtl6qf0jK29KA3C1IsT72y3TvLY92lA2Za45XZLUzeJQ5KExGMlIzQ842viEt9NPd-Nw4h4TklC141J7qVuWObbEAUuayivHfsxUqrqzH69WUeRl7hnNc1Zrdf9R1fB7rHdRISg8OpMrS3BvKs0Ctyaa6OPUgw3NVv_AnPWD_-Edtapev3138isof8bAAD__4Sp0_w">