Created attachment 18135 [details] Bugpoint reduced LLVM IR $ clang --version clang version 5.0.0 (https://github.com/llvm-mirror/clang.git 22ceb362cdbd367ec680a2960dbc0904d7531868) (https://github.com/llvm-mirror/llvm.git 56d588a7751d9c013d20d8820be103f57cbba191) Target: x86_64-unknown-linux-gnu Thread model: posix $ llc -march=amdgcn -mcpu=fiji bugpoint-reduced-simplified.ll #0 0x00007f5c1d4bedea llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/usr/local/bin/../lib64/libLLVMSupport.so.5+0xe5dea) #1 0x00007f5c1d4bcf7e llvm::sys::RunSignalHandlers() (/usr/local/bin/../lib64/libLLVMSupport.so.5+0xe3f7e) #2 0x00007f5c1d4bd0a2 SignalHandler(int) (/usr/local/bin/../lib64/libLLVMSupport.so.5+0xe40a2) #3 0x00007f5c1cf535c0 __restore_rt (/lib64/libpthread.so.0+0x115c0) #4 0x00007f5c1df60663 llvm::SplitEditor::removeBackCopies(llvm::SmallVectorImpl<llvm::VNInfo*>&) (/usr/local/bin/../lib64/libLLVMCodeGen.so.5+0x2dd663) #5 0x00007f5c1df62288 llvm::SplitEditor::hoistCopies() (/usr/local/bin/../lib64/libLLVMCodeGen.so.5+0x2df288) #6 0x00007f5c1df630f0 llvm::SplitEditor::finish(llvm::SmallVectorImpl<unsigned int>*) (/usr/local/bin/../lib64/libLLVMCodeGen.so.5+0x2e00f0) #7 0x00007f5c1defd97f (anonymous namespace)::RAGreedy::selectOrSplitImpl(llvm::LiveInterval&, llvm::SmallVectorImpl<unsigned int>&, llvm::SmallSet<unsigned int, 16u, std::less<unsigned int> >&, unsigned int) (/usr/local/bin/../lib64/libLLVMCodeGen.so.5+0x27a97f) #8 0x00007f5c1defe338 (anonymous namespace)::RAGreedy::selectOrSplit(llvm::LiveInterval&, llvm::SmallVectorImpl<unsigned int>&) (/usr/local/bin/../lib64/libLLVMCodeGen.so.5+0x27b338) #9 0x00007f5c1deea1e0 llvm::RegAllocBase::allocatePhysRegs() (/usr/local/bin/../lib64/libLLVMCodeGen.so.5+0x2671e0) #10 0x00007f5c1def9c11 (anonymous namespace)::RAGreedy::runOnMachineFunction(llvm::MachineFunction&) (/usr/local/bin/../lib64/libLLVMCodeGen.so.5+0x276c11) #11 0x00007f5c1de3c961 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/local/bin/../lib64/libLLVMCodeGen.so.5+0x1b9961) #12 0x00007f5c1db78c02 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/local/bin/../lib64/libLLVMCore.so.5+0x14cc02) #13 0x00007f5c1db78c93 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/local/bin/../lib64/libLLVMCore.so.5+0x14cc93) #14 0x00007f5c1db795d7 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/local/bin/../lib64/libLLVMCore.so.5+0x14d5d7) #15 0x0000000000418252 (llc+0x418252) #16 0x000000000040dbb0 (llc+0x40dbb0) #17 0x00007f5c1c2f2401 __libc_start_main (/lib64/libc.so.6+0x20401) #18 0x000000000040dd8a (llc+0x40dd8a) Stack dump: 0. Program arguments: llc -march=amdgcn -mcpu=fiji bugpoint-reduced-simplified.ll 1. Running pass 'Function Pass Manager' on module 'bugpoint-reduced-simplified.ll'. 2. Running pass 'Greedy Register Allocator' on function '@dtrmmBlock' Segmentation fault (core dumped)
Created attachment 18136 [details] clBLAS kernel
Works in LLVM 4.0.
That looks related to Matthias' changes r298024 and r298025. If I revert those two changes the test case works.
Thanks for the bugreport. Fixed in r298448.
Verified fixed. Thanks!