https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121692
--- Comment #6 from jchrist at linux dot ibm.com --- (In reply to Jan Hubicka from comment #5) > Inliner does not track argument as a constant and predicates does not have > condition "op is not constant". So we end up accounting __builtin_constant_p > path as well as !builting_constant_p path. That is find, but the builtin_constant_p path should really be small since it folds to a constant. > This is kind of necessary, since inliner does not have enough info to tell > that __builtin_constant_p will be false after inlinng. Does that mean __builtin_constant_p cannot be used to optimize such functions in the presence of cold functions without forcing the function inline via always_inline?