[PATCH] D81678: Introduce partialinit attribute at call sites for stricter poison analysis

Gui Andrade via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 17 14:02:29 PDT 2020


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





More information about the llvm-commits mailing list