https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117350
--- Comment #3 from ak at gcc dot gnu.org --- Reduced test case for an Intel platform: gu.cc: template <typename...> class tuple; template <typename _T1, typename _T2> struct tuple<_T1, _T2> { tuple(_T1, _T2); }; struct __uniq_ptr_impl { __uniq_ptr_impl(int __p, int) : _M_t(__p, int()) {} tuple<int, int> _M_t; }; struct __uniq_ptr_data : __uniq_ptr_impl { __uniq_ptr_impl::__uniq_ptr_impl; }; template <typename, typename = int> struct unique_ptr { __uniq_ptr_data _M_t; template <typename _Up, typename _Ep> unique_ptr(unique_ptr<_Up, _Ep>) : _M_t(0, _Ep()) {} }; template <typename T> unique_ptr<T> make_unique(); namespace { struct gcc_urlifier; } unique_ptr<int> make_gcc_urlifier() { return make_unique<gcc_urlifier>(); } perf record -c 10003 -b -e br_inst_retired.all_branches:pu ./cc1plus -O2 -flto=jobserver gu.cc create_gcov -binary cc1plus --gcov_version 2 cc1plus -O2 -flto=jobserver -fauto-profile=fbdata.afdo gu.cc (note may need to change the perf event name on other CPUs, see perf list branch)