https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111600

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=111622

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
Compiling insn-opinit.ii with a cross compiler at -O2 shows (checking enabled
but -fno-checking)

 scheduling                         :  34.48 ( 47%)   0.01 (  1%)  34.50 ( 46%)
 7576k (  1%)

I don't run into the stack space issue with using the cross, but GCC tries
to up the stack limit and appearantly qemu doesn't implement that.  With
a hard limit of 8MB (our default soft limit) I hit the recursion issue
also with a cross.

The backtrace is

Program received signal SIGSEGV, Segmentation fault.
0x0000000001808aff in range_query::get_tree_range (this=this@entry=0x5f540f0,
r=..., expr=expr@entry=<integer_cst 0x7fffeecd7780>, stmt=<optimized out>) at
/space/rguenther/src/gcc/gcc/value-query.cc:163
163             i.set (TREE_TYPE (expr), w, w);
(gdb) bt
#0  0x0000000001808aff in range_query::get_tree_range
(this=this@entry=0x5f540f0, r=..., 
    expr=expr@entry=<integer_cst 0x7fffeecd7780>, stmt=<optimized out>) at
/space/rguenther/src/gcc/gcc/value-query.cc:163
#1  0x000000000273f7c6 in gimple_ranger::range_of_expr (this=0x5f540f0, r=...,
expr=<integer_cst 0x7fffeecd7780>, 
    stmt=<optimized out>) at /space/rguenther/src/gcc/gcc/gimple-range.cc:86
#2  0x00000000016dd2ce in get_range (val=val@entry=<integer_cst
0x7fffeecd7780>, stmt=<optimized out>, 
    minmax=minmax@entry=0x7fffff7ff9b0, rvals=<optimized out>) at
/space/rguenther/src/gcc/gcc/tree-ssa-strlen.cc:219
#3  0x0000000001358656 in get_offset_range (x=<integer_cst 0x7fffeecd7780>, 
    stmt=stmt@entry=<gimple_assign 0x7fffe9c22e10>, r=r@entry=0x7fffff7ffaf0,
rvals=<optimized out>)
    at /space/rguenther/src/gcc/gcc/pointer-query.cc:93
#4  0x000000000135bd53 in handle_mem_ref (qry=0x41938e8, snlim=...,
pref=0x7fffff7ffd90, ostype=<optimized out>, 
    stmt=<gimple_assign 0x7fffe9c22e10>, mref=<mem_ref 0x7fffef391578>)
    at /space/rguenther/src/gcc/gcc/pointer-query.cc:1995
#5  compute_objsize_r (ptr=<mem_ref 0x7fffef391578>, stmt=<gimple_assign
0x7fffe9c22e10>, addr=addr@entry=false, 
    ostype=ostype@entry=0, pref=pref@entry=0x7fffff7ffd90, snlim=...,
qry=0x41938e8)
    at /space/rguenther/src/gcc/gcc/pointer-query.cc:2262
#6  0x000000000136022a in compute_objsize (ptr=<optimized out>,
stmt=stmt@entry=<gimple_assign 0x7fffe9c22e10>, 
    ostype=ostype@entry=0, pref=0x7fffff7ffd90, ptr_qry=<optimized out>,
ptr_qry@entry=0x41938e8)
    at /space/rguenther/src/gcc/gcc/pointer-query.cc:2368
#7  0x00000000013603f6 in pointer_query::get_ref (this=this@entry=0x41938e8,
ptr=ptr@entry=<mem_ref 0x7fffef391578>, 
    stmt=stmt@entry=<gimple_assign 0x7fffe9c22e10>,
pref=pref@entry=0x7fffff7ffd90, ostype=ostype@entry=0)
    at /space/rguenther/src/gcc/gcc/pointer-query.cc:1516
#8  0x00000000010d8a6d in (anonymous
namespace)::pass_waccess::check_dangling_stores (this=this@entry=0x4193890, 
    bb=<basic_block 0x7fffe7bc6900 (21227)>, stores=..., bbs=...)
    at /space/rguenther/src/gcc/gcc/gimple-ssa-warn-access.cc:4561
...
#18067 0x00000000010e1303 in (anonymous
namespace)::pass_waccess::check_dangling_stores (this=0x4193890)
    at /space/rguenther/src/gcc/gcc/gimple-ssa-warn-access.cc:4640
4640      check_dangling_stores (EXIT_BLOCK_PTR_FOR_FN (m_func), stores, bbs);

I'll fix that.


I also see insn-emit.cc compile (of the cross compiler) requiring 8GB of memory
and multiple minutes (with a GCC 7 host compiler).

Reply via email to