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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|middle-end                  |rtl-optimization

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Backtrace ends in var-tracking:

#5811 0x0000000000e1e893 in find_base_term (x=0x7fb52431af30) at
/space/rguenther/src/gcc-work2/gcc/alias.c:2113
#5812 0x0000000000e21e18 in true_dependence_1 (mem=0x7fb517ac51c8,
mem_mode=E_SImode, mem_addr=0x7fb52431af30, x=0x7fb517ab3a50,
x_addr=0x7fb52431aed0, mem_canonicalized=true) at
/space/rguenther/src/gcc-work2/gcc/alias.c:3026
#5813 0x0000000000e22092 in canon_true_dependence (mem=0x7fb517ac51c8,
mem_mode=E_SImode, mem_addr=0x7fb52431af30, x=0x7fb517ab3a50,
x_addr=0x7fb52431aed0) at /space/rguenther/src/gcc-work2/gcc/alias.c:3068
#5814 0x0000000001ac0ec7 in vt_canon_true_dep (set=0x9b6cfe0,
mloc=0x7fb517ac51c8, maddr=0x7fb52431af30, loc=0x7fb517ab3a50) at
/space/rguenther/src/gcc-work2/gcc/var-tracking.c:2257
#5815 0x0000000001ac0fa1 in drop_overlapping_mem_locs (slot=0xa78c598,
coms=0x7ffde2e57670) at /space/rguenther/src/gcc-work2/gcc/var-tracking.c:2295
#5816 0x0000000001adeda7 in hash_table<variable_hasher, false,
xcallocator>::traverse_noresize<overlapping_mems*,
&(drop_overlapping_mem_locs(variable**, overlapping_mems*))> (this=0x585c020,
argument=0x7ffde2e57670) at
/space/rguenther/src/gcc-work2/gcc/hash-table.h:1081
#5817 0x0000000001add6f1 in hash_table<variable_hasher, false,
xcallocator>::traverse<overlapping_mems*,
&(drop_overlapping_mem_locs(variable**, overlapping_mems*))> (this=0x585c020,
argument=0x7ffde2e57670) at
/space/rguenther/src/gcc-work2/gcc/hash-table.h:1102
#5818 0x0000000001ac128b in clobber_overlapping_mems (set=0x9b6cfe0,
loc=0x7fb517ac51c8) at /space/rguenther/src/gcc-work2/gcc/var-tracking.c:2361
#5819 0x0000000001ac1628 in val_bind (set=0x9b6cfe0, val=0x933e258,
loc=0x7fb517ac51c8, modified=true) at
/space/rguenther/src/gcc-work2/gcc/var-tracking.c:2473
#5820 0x0000000001ac18aa in val_store (set=0x9b6cfe0, val=0x933e258,
loc=0x7fb517ac51c8, insn=0x7fb518ffa0c0, modified=true) at
/space/rguenther/src/gcc-work2/gcc/var-tracking.c:2534
#5821 0x0000000001acff9f in compute_bb_dataflow (bb=<basic_block 0x7fb51dfaf410
(59)>) at /space/rguenther/src/gcc-work2/gcc/var-tracking.c:6940

note the actual recursions are deep but the main issue is the complexity
in vt_find_locations and memory handling which makes that expensive with
large loc lists.

Reply via email to