https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106716
--- Comment #6 from Jan Hubicka ---
The reason why GIMPLE_PREDICT is ignored is that it is never used after ipa-icf
and gets removed at the very beggining of late optimizations.
GIMPLE_PREDICT is consumed by profile_generate pass which is
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106716
Andrew Pinski changed:
What|Removed |Added
CC||moncef.mechri at gmail dot com
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106716
Richard Biener changed:
What|Removed |Added
Last reconfirmed||2022-08-23
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106716
--- Comment #3 from Andrew Pinski ---
[[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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106716
--- Comment #2 from Tomer Vromen ---
IMO, attribute information should be checked in this optimization stage, so
that ipa-icf knows the functions are different. It seems like maybe this is
already partially the behavior - removing the attribute
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106716
--- Comment #1 from Andrew Pinski ---
I suspect fipa-icf does not compare the branch predication data while doing the
comparison. I don't know if this is the right thing to do or not. Because if
there was exact data from profiling feedback then