Created attachment 86758 [details] Kernel source code with headers The attached kernel fails to compile with this error message: PRT: /home/greg/build/llvm/lib/Target/R600/AMDILCFGStructurizer.cpp:1115: int <anonymous namespace>::AMDGPUCFGStructurizer::mergeLoop(llvm::MachineLoop *): Assertion `ExitBlkSet.size() == 1' failed. Stack dump: 0. Running pass 'Function Pass Manager' on module 'radeon'. 1. Running pass 'AMD IL Control Flow Graph structurizer Pass' on function '@shadow_ao'
Created attachment 86759 [details] [review] Possible Fix Does this patch help?
It seems to fix the initial problem, but now I'm getting something else: PRT: /home/greg/build/llvm/include/llvm/Support/Casting.h:239: typename cast_retty<X, Y *>::ret_type llvm::cast(Y *) [X = llvm::BranchInst, Y = llvm::TerminatorInst]: Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed. Stack dump: 0. Running pass 'Function Pass Manager' on module 'radeon'. 1. Running pass 'Region Pass Manager' on function '@shadow_ao' 2. Running pass 'Structurize control flow' on basic block '%if.end100'
Created attachment 86760 [details] [review] Possible Fix Part 2 Try applying this patch along with the first fix.
Still fails, but it's getting even further: LLVM ERROR: Not supported instr: <MCInst 292 <MCOperand Reg:1495> <MCOperand Reg:980> <MCOperand Imm:0> <MCOperand Imm:0>>
Created attachment 86761 [details] [review] Fix part 3 Can you try this patch with the other two?
Now it compiles fine, but locks up the GPU. This might be an issue with this particular kernel, though.
Grigori, can you repost the kernel?
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/465.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.