[PATCH] D59918: [Attributor] Pass infrastructure and fixpoint framework
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 15 14:16:32 PDT 2019
fhahn added a comment.
I haven't been through the details yet, but I have a few high-level thoughts.
This is a lot of code and I think a high-level description of the framework would be very helpful, like what are the abstract states/lattice values, how do we transition between them, what is the strategy for iterating over functions, how are we applying & materializing updates, how expensive is this analysis?
As this seems to be a generic framework it would be helpful to describe how to hook up a new attribute for inference.
And finally, what can we do to check correctness? As the current attribute definitions are a bit fuzzy, it seems this could lead to problems down the road, in case we infer invalid attributes, which only get used (and cause problems) a bit later. Assuming we have a clear definition of a set of attributes, how hard would it be to verify the attributes in a module (maybe we are doing it already)?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59918/new/
https://reviews.llvm.org/D59918
More information about the llvm-commits
mailing list