guiand added a comment. Adding the function attribute turns out to have other challenges. Specifically, we don't want to have transforms remove a `frozen` from a parameter and then have to go through and update all the other parameters. This might happen if the function is marked with `frozen_args`; something like `ArgumentPromotion`, which usually removes attributes, would have to be aware of it.
I spoke with Evgenii about having a "magic" function attribute that's only really exposed at the bitcode/text level. It would get converted to/from the individual parameter `frozen`s so that transforms don't need to know or care that it exists. `frozen_args` would only serve as a sort of compression keyword in the bitcode/text IR. He wasn't thrilled with the idea but suggested I get peoples' thoughts on it. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81678/new/ https://reviews.llvm.org/D81678 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits