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

Reply via email to