You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
StratifiedSets (as implemented) is very fast, but its accuracy is also
limited. If we take a more aggressive andersens-like approach, we can be
way more accurate, but we'll also end up being slower.
So, we've decided to split CFLAA into CFLSteensAA and CFLAndersAA.
Long-term, we want to end up in a place where CFLSteens is queried
first; if it can provide an answer, great (since queries are basically
map lookups). Otherwise, we'll fall back to CFLAnders, BasicAA, etc.
This patch splits everything out so we can try to do something like
that when we get a reasonable CFLAnders implementation.
Patch by Jia Chen.
Differential Revision: http://reviews.llvm.org/D21910
llvm-svn: 274589
It looks like this is not supported by the current implementation and would require some extra work to support it.
I have consulted several information related to CFLSteensAA, from which I find that the current implementation supports interprocedural alias analysis.
Is my conclusion correct? Should I do some extra work to support interprocedural queries?
Do you have any idea to support it?
Thank you very much for your timely response.
CFLSteens is interprocedural in a different way: it'll look into callees to figure out what what the callees are doing, rather than relying only on function attributes on the callee, as non-interprocedural AAs do. It does not support queries of Values that sit in different functions.
CFLSteens is interprocedural in a different way: it'll look into callees to figure out what what the callees are doing, rather than relying only on function attributes on the callee, as non-interprocedural AAs do. It does not support queries of Values that sit in different functions.
SteensAA is a context-insensitive and flow-insensitive method, so CFLSteensAA may be a interprocedural AA. Do you have any idea to improve it?
Besides, CFLAndersAA's implementation on the query method does not have the assertion that "interprocedural queries not supported". Can I use it to solve the interprocedural problem?
LLVM have any directly available AAs for interprocedural queries?
CFLAA hasn't been on my (or anyone's, probably) radar for years. I don't know of anywhere where LLVM would try to perform these queries; without a pressing use-case, I don't think adding any complexity to support interproc queries is an improvement in any real sense.
Can I use it to solve the interprocedural problem?
I don't think we ever intended CFLAnders to be used in this way. You can try, but I don't expect it to produce useful results out of the box.
LLVM have any directly available AAs for interprocedural queries?
I doubt it, since like said above, I don't think users of that kind of functionality exist in LLVM.
6 commit comments
hyperlyz commentedon Aug 17, 2020
I am not familiar with the CFLSteensAA. Sorry, I want ask you one quesiton. Hope you give me some advice.
I want use CFLSteensAAResult to make interprocedural queries, but currently cannot support direct query.

How do I solve this problem? Thanks.
fhahn commentedon Aug 17, 2020
It looks like this is not supported by the current implementation and would require some extra work to support it.
hyperlyz commentedon Aug 18, 2020
I have consulted several information related to CFLSteensAA, from which I find that the current implementation supports interprocedural alias analysis.
Is my conclusion correct? Should I do some extra work to support interprocedural queries?
Do you have any idea to support it?
Thank you very much for your timely response.
gburgessiv commentedon Aug 18, 2020
Thanks for the comment!
CFLSteens is interprocedural in a different way: it'll look into callees to figure out what what the callees are doing, rather than relying only on function attributes on the callee, as non-interprocedural AAs do. It does not support queries of
Value
s that sit in different functions.hyperlyz commentedon Aug 19, 2020
SteensAA is a context-insensitive and flow-insensitive method, so CFLSteensAA may be a interprocedural AA. Do you have any idea to improve it?
Besides, CFLAndersAA's implementation on the query method does not have the assertion that "interprocedural queries not supported". Can I use it to solve the interprocedural problem?
LLVM have any directly available AAs for interprocedural queries?
Thanks you again for the timely response!
gburgessiv commentedon Aug 19, 2020
CFLAA hasn't been on my (or anyone's, probably) radar for years. I don't know of anywhere where LLVM would try to perform these queries; without a pressing use-case, I don't think adding any complexity to support interproc queries is an improvement in any real sense.
I don't think we ever intended CFLAnders to be used in this way. You can try, but I don't expect it to produce useful results out of the box.
I doubt it, since like said above, I don't think users of that kind of functionality exist in LLVM.