http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59757
--- Comment #1 from Joey Ye <joey.ye at arm dot com> --- foo.c: In function 'univision_ug2828gfeff01_init': foo.c:119:1: internal compiler error: tree check: expected ssa_name, have var_de cl in vn_reference_compute_hash, at tree-ssa-sccvn.c:631 univision_ug2828gfeff01_init(CTL_GFX_SEP_DRIVER_t *d, int depth) Traced to SSCVN: Breakpoint 1, vn_reference_compute_hash (vr1=0x798fa94) at /xxx/src/gcc/gcc/tree-ssa-sccvn.c:598 598 in /xxx/src/gcc/gcc/tree-ssa-sccvn.c Backtrace is vn_reference_lookup (gdb) call debug_tree(vr1->vuse) <var_decl 0x8fe4ba0 vn_top.15 type <void_type 0x89c08a0 void VOID align 8 symtab 0 alias set -1 canonical type 0x89c08a0 pointer_to_this <pointer_type 0x89c0900>> used ignored VOID file foo.c line 119 col 1 align 8> (gdb) call debug_tree(VN_TOP) <var_decl 0x8fe4ba0 vn_top.15 type <void_type 0x89c08a0 void VOID align 8 symtab 0 alias set -1 canonical type 0x89c08a0 pointer_to_this <pointer_type 0x89c0900>> used ignored VOID file foo.c line 119 col 1 align 8> For some reason vr1->vuse is VN_TOP, which is unexpected. But I couldn't go further without understanding SCCVN. Anyone can help?