https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84083
--- Comment #2 from Eyal Rozenberg <eyalroz at technion dot ac.il> --- (In reply to Andrew Pinski from comment #1) > I think bar can still change the value of what ss points to. What, you mean, by walking up the stack? I don't see why the compiler should accommodate that by avoiding hoisting. If you mean because ss is also somehow visible to bar(), then - the __restrict__ guarantees we don't have to worry about that. IIANM.