| Issue |
66180
|
| Summary |
llvm::X86TargetLowering::EmitInstrWithCustomInserter(llvm::MachineInstr&, llvm::MachineBasicBlock*) const: Assertion `Subtarget.is32Bit() && "preallocated only used in 32-bit"' failed.
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
LRY89757
|
### 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)
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs