https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114855
--- Comment #35 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- (In reply to Andrew Macleod from comment #34) > Btw, if we simply remove the call to that function, with -O1 > -fenable-tree-thread1 I see: > > backwards jump threading : 14.36 ( 3%) 0.39 ( 5%) 14.68 ( > 3%) 238M ( 9%) > > which is a notable improvement from 1370 seconds :-P SO clearly the > culprit. > > DOM appears to still be somewhat of an issue.. Ive done some experimenting adjust_paths_after_duplication() only applies to paths made by the backwards threader (hence the prefix, back_jt_path_registry). I don't remember why, as it should apply to any sets of paths. It could be the forward threader didn't create such redundant paths, or some other reason lost in time. > in this area, but nothing IM willing to commit to yet. Do you have anything > outstanding for this Aldy? > > dominator optimization : 208.04 ( 43%) 0.95 ( 12%) 209.77 ( > 43%) 342M ( 13%) The patch in comment 22 should reduce DOM significantly: https://gcc.gnu.org/bugzilla/attachment.cgi?id=59001