[Bug tree-optimization/29891] New: libgcc2.c: In function '__gcc_bcmp': ICE: Segmentation fault

danglin at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Nov 18 19:14:00 GMT 2006


Reported first here: <http://gcc.gnu.org/ml/gcc/2006-11/msg00572.html>.
Also, see <http://gcc.gnu.org/ml/gcc/2006-11/msg00596.html>.

(gdb) bt
#0  rewrite_use_compare (data=0x7eff0e18, use=0x4007f928, cand=0x4008f450)
    at ../../gcc/gcc/tree-ssa-loop-ivopts.c:5625
#1  0x00320390 in rewrite_uses (data=0x7eff0e18)
    at ../../gcc/gcc/tree-ssa-loop-ivopts.c:5678
#2  0x003246a0 in tree_ssa_iv_optimize_loop (data=0x7eff0e18, loop=0x7eff0ea0)
    at ../../gcc/gcc/tree-ssa-loop-ivopts.c:5868
#3  0x00324c20 in tree_ssa_iv_optimize (loops=0x40076360)
    at ../../gcc/gcc/tree-ssa-loop-ivopts.c:5905
#4  0x0030638c in tree_ssa_loop_ivopts () at ../../gcc/gcc/tree-ssa-loop.c:451
#5  0x00266b44 in execute_one_pass (pass=0x400123a0)
    at ../../gcc/gcc/passes.c:871
#6  0x00266ce4 in execute_pass_list (pass=0x400123a0)
    at ../../gcc/gcc/passes.c:918
#7  0x00266cf8 in execute_pass_list (pass=0x40012130)
    at ../../gcc/gcc/passes.c:919
#8  0x00266cf8 in execute_pass_list (pass=0x40008608)
    at ../../gcc/gcc/passes.c:919
#9  0x000c64a4 in tree_rest_of_compilation (fndecl=0x7acfbf50)
    at ../../gcc/gcc/tree-optimize.c:463
#10 0x00039490 in c_expand_body (fndecl=0x7acfbf50)
    at ../../gcc/gcc/c-decl.c:6847
#11 0x00293814 in cgraph_expand_function (node=0x7ad61c40)
    at ../../gcc/gcc/cgraphunit.c:1241

As noted by Steve, the return value from the call to
get_use_iv_cost is null:

(gdb) disass 0x31fc6c 0x31fc8c
Dump of assembler code from 0x31fc6c to 0x31fc8c:
0x0031fc6c <rewrite_use_compare+68>:    copy r3,r26
0x0031fc70 <rewrite_use_compare+72>:    copy r5,r25
0x0031fc74 <rewrite_use_compare+76>:    b,l 0x315bb0 <get_use_iv_cost>,rp
0x0031fc78 <rewrite_use_compare+80>:    copy r4,r24
0x0031fc7c <rewrite_use_compare+84>:    ldw c(ret0),r6
0x0031fc80 <rewrite_use_compare+88>:    cmpib,= 0,r6,0x31fe9c
<rewrite_use_compare+628>
0x0031fc84 <rewrite_use_compare+92>:    copy r4,r25
0x0031fc88 <rewrite_use_compare+96>:    ldw 0(r3),r26
End of assembler dump.
(gdb) p/x $ret0
$2 = 0x0

(gdb) p *data
$10 = {current_loop = 0x4007f1c0, regs_used = 0, niters = 0x4007f430,
  version_info_size = 70, version_info = 0x400901b8, relevant = 0x400747dc,
  max_inv_id = 3, iv_uses = 0x4007f558, iv_candidates = 0x4008f540,
  important_candidates = 0x40074560, consider_all_candidates = 1 '\001'}
(gdb) p *use
$11 = {id = 0, type = USE_COMPARE, iv = 0x4007f828, stmt = 0x7aded208,
  op_p = 0x7aded224, related_cands = 0x0, n_map_members = 23,
  cost_map = 0x4008f618, selected = 0x4008f450}
(gdb) p *cand
$14 = {id = 19, important = 0 '\0', pos = IP_NORMAL, incremented_at = 0x0,
  var_before = 0x7ad712d0, var_after = 0x7ad719f0, iv = 0x4008f480, cost = 8,
  depends_on = 0x0}

(gdb) step
get_use_iv_cost (data=0x7eff0e18, use=0x4007f928, cand=0x4008f450)
    at ../../gcc/gcc/tree-ssa-loop-ivopts.c:2397
2397      s = cand->id & (use->n_map_members - 1);
(gdb)
2389          ret = use->cost_map + cand->id;
(gdb)
2390          if (!ret->cand)
(gdb)
2407    }
(gdb)
rewrite_use_compare (data=0x7eff0e18, use=0x4007f928, cand=0x4008f450)
    at ../../gcc/gcc/tree-ssa-loop-ivopts.c:5625
5625      bound = cp->value;


-- 
           Summary: libgcc2.c: In function '__gcc_bcmp': ICE: Segmentation
                    fault
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa2.0w-hp-hpux11*
  GCC host triplet: hppa2.0w-hp-hpux11*
GCC target triplet: hppa2.0w-hp-hpux11*


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



More information about the Gcc-bugs mailing list