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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
What I see is that for the n variable we create a varpool_node during the FE
finish_decl, then during symbol_table::remove_unreachable_nodes it is removed,
but with -g (and only with that, not with -g0) we create yet another
varpool_node for the same variable during sched1 pass because we have:
(debug_insn 7 6 8 3 (var_location:SI D#1 (mem/c:SI (symbol_ref:DI ("n") [flags
0x82]  <var_decl 0x7fb3041bdf30 n>) [1 n+0 S4 A32])) "pr105415.c":11:9 -1
     (nil))
as the only reference to n and in:
#0  varpool_node::get_create (decl=<var_decl 0x7fffea3e7f30 n>) at
../../gcc/varpool.cc:153
#1  0x0000000000c7cfb9 in symtab_node::get_create (node=<var_decl
0x7fffea3e7f30 n>) at ../../gcc/cgraph.h:3362
#2  0x0000000000c77730 in compare_base_symbol_refs (x_base=0x7fffea2c8a78,
y_base=0x7fffea2c8a28, distance=0x0) at ../../gcc/alias.cc:2223
#3  0x0000000000c77b67 in base_alias_check (x=0x7fffea2cc1e0,
x_base=0x7fffea2c8a28, y=0x7fffea2c8a78, y_base=0x7fffea2c8a78,
x_mode=E_SImode, y_mode=E_SImode)
    at ../../gcc/alias.cc:2309
#4  0x0000000000c7b066 in write_dependence_p (mem=0x7fffea2cc000,
x=0x7fffea2c5a38, x_mode=E_VOIDmode, x_addr=0x7fffea2cc1e0,
mem_canonicalized=false, x_canonicalized=false, 
    writep=false) at ../../gcc/alias.cc:3156
#5  0x0000000000c7b285 in anti_dependence (mem=0x7fffea2cc000,
x=0x7fffea2c5a38) at ../../gcc/alias.cc:3183
#6  0x0000000002652e29 in sched_analyze_1 (deps=0x7fffffffd240,
x=0x7fffea2c5ca8, insn=0x7fffea3efac0) at ../../gcc/sched-deps.cc:2501
#7  0x000000000265407c in sched_analyze_insn (deps=0x7fffffffd240,
x=0x7fffea2c5ca8, insn=0x7fffea3efac0) at ../../gcc/sched-deps.cc:2931
#8  0x0000000002656c52 in deps_analyze_insn (deps=0x7fffffffd240,
insn=0x7fffea3efac0) at ../../gcc/sched-deps.cc:3683
#9  0x000000000265723d in sched_analyze (deps=0x7fffffffd240,
head=0x7fffea3ef880, tail=0x7fffea3efac0) at ../../gcc/sched-deps.cc:3829
#10 0x0000000001375306 in compute_block_dependences (bb=0) at
../../gcc/sched-rgn.cc:2733
#11 0x0000000001377154 in sched_rgn_compute_dependencies (rgn=1) at
../../gcc/sched-rgn.cc:3360
#12 0x000000000137677c in schedule_region (rgn=1) at
../../gcc/sched-rgn.cc:3113
#13 0x000000000137797f in schedule_insns () at ../../gcc/sched-rgn.cc:3518
#14 0x0000000001378224 in rest_of_handle_sched () at
../../gcc/sched-rgn.cc:3722
create the varpool node again.  Which shifts the node->order of later created
cgraph or varpool nodes.

Reply via email to