[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