[PATCH] D72475: [WIP] Build assume from call
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 14 17:32:29 PST 2020
jdoerfert added a comment.
In D72475#1820962 <https://reviews.llvm.org/D72475#1820962>, @Tyker wrote:
> i renamed the files to KnowledgeRetention.* to be more general. we can put other related utilities like the query API in the same files. i had a hard time finding a good name and i am not sure i succeeded what do you think ?
OK with me.
> i also fixed an issue were the order of bundles was non-deterministic. to do so i had to add a sort, but this sort can be used later to find bundles by binary search in the API.
Sounds good.
> In D72475#1818682 <https://reviews.llvm.org/D72475#1818682>, @jdoerfert wrote:
>
>> We should not land it right away though
>
>
> is it because the creation of the clang-10 release branch is happening soon or because we need to benchmarks first ?
Also because of that, and we do not have settled on this scheme in the RFC thread.
>> If you write the API next, either of us can make use of it in the Attributor.
>
> we can make the API and the first user of the API come at the same time so we can test the API transitively ? or this would make the patch too big ? I haven't taken a detailed enough look at the Attributor but i need to get to know it anyway.
So we can have a user right away. Any location that looks for attributes right now is an opportunity to look at attributes retained in an `llvm.assume`. The final Attributor design will probably become a little involved because we want to cache
results, use the API to get all attribute mappings right away, ... A nice first use case could be `isKnownNonZeroFromAssume` in `ValueTracking.cpp` or the pass that does load/store alignment from assume.
>> Lastly we need to generate the calls in the first place and we can try this out on benchmarks.
>
> agreed
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72475/new/
https://reviews.llvm.org/D72475
More information about the llvm-commits
mailing list