https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67170
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- Ok to make the alias-oracle approach more "scalable" we'd need to cache the fn spec parameter/result bits in the functions PARM/RESULT_DECLs (thus in tree_decl_common where we have conveniently 24bits left to put in EAF_* and ERF_* flags). Now fnspec is a type attribute so I'm not sure we can catch all cases in the attribute handler or if we need to process each function body (gimplifying parameters sounds like a good place to me for example). I still think the FE should simplify the MEs life by doing the copy trick for all intent-in scalars though.