[Nouveau] [Bug 101371] New: GlobalCSE Pass moves phi instructions
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sat Jun 10 17:59:33 UTC 2017
https://bugs.freedesktop.org/show_bug.cgi?id=101371
Bug ID: 101371
Summary: GlobalCSE Pass moves phi instructions
Product: Mesa
Version: git
Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: Drivers/DRI/nouveau
Assignee: nouveau at lists.freedesktop.org
Reporter: karolherbst at gmail.com
QA Contact: nouveau at lists.freedesktop.org
Created attachment 131843
--> https://bugs.freedesktop.org/attachment.cgi?id=131843&action=edit
frag.tgsi
In the game "Renowned Explorers: International Society" an assertion was hit
within codegen, because GlobalCSE wanted to move a phi instruction after a join
instruction, which is illegal.
backtrace:
#0 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
#1 0x00007ffff676d54a in __GI_abort () at abort.c:89
#2 0x00007ffff6764eb7 in __assert_fail_base (fmt=<optimized out>,
assertion=assertion at entry=0x52ca18 "q->op != OP_PHI || p->op == OP_PHI",
file=file at entry=0x52c968
"../../../../../src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp",
line=line at entry=219,
function=function at entry=0x52ce80
<nv50_ir::BasicBlock::insertAfter(nv50_ir::Instruction*,
nv50_ir::Instruction*)::__PRETTY_FUNCTION__> "void
nv50_ir::BasicBlock::insertAfter(nv50_ir::Instruction*,
nv50_ir::Instruction*)")
at assert.c:92
#3 0x00007ffff6764f62 in __GI___assert_fail (assertion=0x52ca18 "q->op !=
OP_PHI || p->op == OP_PHI", file=0x52c968
"../../../../../src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp", line=219,
function=0x52ce80 <nv50_ir::BasicBlock::insertAfter(nv50_ir::Instruction*,
nv50_ir::Instruction*)::__PRETTY_FUNCTION__> "void
nv50_ir::BasicBlock::insertAfter(nv50_ir::Instruction*,
nv50_ir::Instruction*)") at assert.c:101
#4 0x000000000041f0a0 in nv50_ir::BasicBlock::insertAfter (this=0x82fd10,
p=0x818ca0, q=0x81d0c0) at
../../../../../src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp:219
#5 0x00000000004554c0 in nv50_ir::GlobalCSE::visit (this=0x7ffffffe7b70,
bb=0x82fd10) at
../../../../../src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp:3466
#6 0x00000000004200fd in nv50_ir::Pass::doRun (this=0x7ffffffe7b70,
func=0x7bc1a0, ordered=false, skipPhi=false) at
../../../../../src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp:495
#7 0x000000000041ff05 in nv50_ir::Pass::doRun (this=0x7ffffffe7b70,
prog=0x7bc000, ordered=false, skipPhi=false) at
../../../../../src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp:466
#8 0x000000000041fe60 in nv50_ir::Pass::run (this=0x7ffffffe7b70,
prog=0x7bc000, ordered=false, skipPhi=false) at
../../../../../src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp:457
#9 0x00000000004561ed in nv50_ir::Program::optimizeSSA (this=0x7bc000,
level=3) at
../../../../../src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp:3725
#10 0x0000000000416adf in nv50_ir_generate_code (info=0x7ffffffe87e0) at
../../../../../src/gallium/drivers/nouveau/codegen/nv50_ir.cpp:1256
#11 0x0000000000402e33 in nouveau_codegen (chipset=230, type=1,
tokens=0x7fffffff9420, size=0x7ffffffe941c, code=0x7ffffffe9410) at
../../../../../src/gallium/drivers/nouveau/nouveau_compiler.c:126
#12 0x0000000000403210 in main (argc=4, argv=0x7fffffffd528) at
../../../../../src/gallium/drivers/nouveau/nouveau_compiler.c:206
--
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20170610/f2222815/attachment.html>
More information about the Nouveau
mailing list