> On gcc trunk, the performance culprit is at gcc/cp/call.c function build_over_call at: > > if (undeduced_auto_decl (fn)) > mark_used (fn, complain); // <= this guy from gcc-7-branch r249333 > else > /* Otherwise set TREE_USED for the benefit of -Wunused-function. See PR80598. */ > TREE_USED (fn) = 1; mark_used is only called 1260 times, but inflates run time from ~13 to ~81 seconds for one sample. The calls to mark_used aren't expensive, so they must be triggering a down-stream effect.