pzzp wrote:

This isssue lead to a crash on our private target., but we did not reproduce it 
in x86 or AMDGPU

crash stacktrace:
llc: /root/baidu/xpu/llvm19/llvm/lib/CodeGen/LiveIntervals.cpp:397: void 
llvm::LiveIntervals::extendSegmentsToUses(llvm::LiveRange&, 
llvm::LiveIntervals::ShrinkToUsesWorkList&, llvm::Register, llvm::LaneBitmask): 
Assertion `ExtVNI == VNI && "Unexpected existing value number"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and 
include the crash backtrace.
Stack dump:
0.      Program arguments: bin/llc 
/root/baidu/xpu/llvm19/llvm/test/CodeGen/XCN/register_coalescer_crash.ll
1.      Running pass 'CallGraph Pass Manager' on module 
'/root/baidu/xpu/llvm19/llvm/test/CodeGen/XCN/register_coalescer_crash.ll'.
2.      Running pass 'Register Coalescer' on function 
'@_ZN3cub26DeviceHistogramSweepKernelINS_17DispatchHistogramILi4ELi3EPtiiiE23PtxHistogramSweepPolicyELi0ELi4ELi3ES2_iNS3_14ScaleTransformENS3_17PassThruTransformEiEEvT3_NS_12ArrayWrapperIiXT2_EEES9_NS8_IPT4_XT2_EEESC_NS8_IT6_XT2_EEENS8_IT5_XT2_EEET7_SH_SH_iNS_9GridQueueIiEE'
 #0 0x0000555666017d10 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
(bin/llc+0x2c09d10)
 #1 0x000055566601511f llvm::sys::RunSignalHandlers() (bin/llc+0x2c0711f)
 #2 0x0000555666015275 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f69f3b27520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007f69f3b7b9fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x00007f69f3b27476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x00007f69f3b0d7f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x00007f69f3b0d71b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x00007f69f3b1ee96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x0000555664eabbde 
llvm::LiveIntervals::extendSegmentsToUses(llvm::LiveRange&, 
llvm::SmallVector<std::pair<llvm::SlotIndex, llvm::VNInfo*>, 16u>&, 
llvm::Register, llvm::LaneBitmask) (bin/llc+0x1a9dbde)
#10 0x0000555664eabdeb 
llvm::LiveIntervals::shrinkToUses(llvm::LiveInterval::SubRange&, 
llvm::Register) (bin/llc+0x1a9ddeb)
#11 0x0000555664eac316 llvm::LiveIntervals::shrinkToUses(llvm::LiveInterval*, 
llvm::SmallVectorImpl<llvm::MachineInstr*>*) (bin/llc+0x1a9e316)
#12 0x000055566519104f (anonymous 
namespace)::RegisterCoalescer::shrinkToUses(llvm::LiveInterval*, 
llvm::SmallVectorImpl<llvm::MachineInstr*>*) RegisterCoalescer.cpp:0:0
#13 0x00005556651a0782 (anonymous 
namespace)::RegisterCoalescer::joinCopy(llvm::MachineInstr*, bool&, 
llvm::SmallPtrSetImpl<llvm::MachineInstr*>&) (.constprop.0) 
RegisterCoalescer.cpp:0:0
#14 0x00005556651a27fc (anonymous 
namespace)::RegisterCoalescer::copyCoalesceWorkList(llvm::MutableArrayRef<llvm::MachineInstr*>)
 RegisterCoalescer.cpp:0:0
#15 0x00005556651a36fd (anonymous 
namespace)::RegisterCoalescer::coalesceLocals() RegisterCoalescer.cpp:0:0
#16 0x00005556651a6213 (anonymous 
namespace)::RegisterCoalescer::runOnMachineFunction(llvm::MachineFunction&) 
RegisterCoalescer.cpp:0:0
#17 0x0000555664f82607 
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) 
MachineFunctionPass.cpp:0:0
#18 0x0000555665572b26 llvm::FPPassManager::runOnFunction(llvm::Function&) 
(bin/llc+0x2164b26)
#19 0x0000555664a74f5a (anonymous 
namespace)::CGPassManager::runOnModule(llvm::Module&) CallGraphSCCPass.cpp:0:0
#20 0x00005556655736e5 llvm::legacy::PassManagerImpl::run(llvm::Module&) 
(bin/llc+0x21656e5)
#21 0x0000555663ac32de compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
#22 0x00005556639ee3f6 main (bin/llc+0x5e03f6)
#23 0x00007f69f3b0ed90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#24 0x00007f69f3b0ee40 __libc_start_main 
(/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#25 0x0000555663ab9b85 _start (bin/llc+0x6abb85

https://github.com/llvm/llvm-project/pull/148790
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to