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)