The underlying problem happens somewhere in tree-ssa-dse.c. So we get an indirect jump to a random location instead of a jump to 0.
pr58164.c.035t.mergephi1
;; Function foo (foo, funcdef_no=0, decl_uid=1389, cgraph_uid=0, symbol_order=0)
foo ()
{
int x;
<bb 2>:
x = 0;
goto &x;
}
pr58164.c.036t.dse1
;; Function foo (foo, funcdef_no=0, decl_uid=1389, cgraph_uid=0, symbol_order=0)
Deleted dead store 'x = 0;
'
foo ()
{
int x;
<bb 2>:
goto &x;
}
--
Alan Modra
Australia Development Lab, IBM
