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.