[Bug tree-optimization/47714] verify_ssa fails with error: invalid argument to gimple call

jamborm at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Feb 13 01:18:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47714

--- Comment #2 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-02-13 00:59:04 UTC ---
Backtrace always leads to SSA verification:

(gdb) bt
#0  verify_gimple_call (stmt=0x7ffff6970aa0) at
/home/mjambor/gcc/trunk/src/gcc/tree-cfg.c:3137
#1  0x000000000095bcc7 in verify_stmts () at
/home/mjambor/gcc/trunk/src/gcc/tree-cfg.c:4385
#2  0x0000000000a78fae in verify_ssa (check_modified_stmt=1 '\001')
    at /home/mjambor/gcc/trunk/src/gcc/tree-ssa.c:878
#3  0x000000000089c776 in execute_function_todo (data=<value optimized out>)
    at /home/mjambor/gcc/trunk/src/gcc/passes.c:1245
#4  0x000000000089c508 in execute_todo (flags=4294956000) at
/home/mjambor/gcc/trunk/src/gcc/passes.c:1276
#5  0x000000000089d60a in execute_one_pass (pass=0x139a180) at
/home/mjambor/gcc/trunk/src/gcc/passes.c:1584
#6  0x000000000089d885 in execute_pass_list (pass=0x139a180) at
/home/mjambor/gcc/trunk/src/gcc/passes.c:1616
#7  0x000000000089d897 in execute_pass_list (pass=0x139b940) at
/home/mjambor/gcc/trunk/src/gcc/passes.c:1617
#8  0x000000000099ff56 in tree_rest_of_compilation (fndecl=0x7ffff5fb2100)


At -O2 the pass that is being verified is strip_predict_hints, at -O2
it is cplxlower0.  In both cases the verified function looks like
this:

(gdb) call debug_function (current_function_decl, 0)
const google_breakpad::MinidumpModule*
google_breakpad::MinidumpModuleList::_ZTch0_h8_NK15google_breakpad18MinidumpModuleList19GetModuleForAddressEm(u_int64_t)
const (const struct MinidumpModuleList * const this, u_int64_t address)
{ 
  const struct MinidumpModule * adjusted_this.2;

<bb 2>:
  retval.1_3 = *.LTHUNK0 (this_2(D), address);
  if (retval.1_3 != 0B)
    goto <bb 3> (<L0>);
  else
    goto <bb 5>;

<bb 5>:
  adjusted_this.2_4 = 0B;
  goto <bb 4>;

<L0>:
  adjusted_this.2_5 = retval.1_3 + 8;

<bb 4>:
  # adjusted_this.2_1 = PHI <adjusted_this.2_5(3), adjusted_this.2_4(5)>
  return adjusted_this.2_1;

}



More information about the Gcc-bugs mailing list