https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106716
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- [[unlikely]]/[[likely]] attribute gets expanded into PREDICT_EXPR:PRED_HOT_LABEL/PRED_COLD_LABEL:TAKEN/NOT_TAKEN see cp/cp-gimplify.cc (process_stmt_hotness_attribute) and is removed. And that is all done in the front-end. PREDICT_EXPR gets expanded into GIMPLE_PREDICT (via gimplify_expr in gimplify.cc) And then the code in sem_function::init ignores GIMPLE_PREDICT . Which was done in r5-7496-a8d9381738d22 (https://gcc.gnu.org/pipermail/gcc-patches/2015-March/413730.html )