https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127693
--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> --- True. So what's missing is inlining substituting the known constant values [more reliably]. That said, constraining __builtin_constant_p handling to register parameters shouldn't pessimize too much real-world code? I bet the current handling was added for the sake of some weird kernel usage?
