[PATCH] D46282: [AA] cfl-anders-aa with field sensitivity

Dávid Bolvanský via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 24 16:16:47 PDT 2018


xbolva00 added a comment.

- Introduced a new type representing a field offset, code rebased
- Added fix point when a loop in CFL is detected

I think if you remove LoopInCFLGraph detection, you will get a infinite loop with just:
int a[0];
int *b = &[1];
b++;

So with that old proposal, we got a nasty infinite loop in the core loop where we are propagating nodes in the processWorkListItem since we were just swapping same lists, no futher propagations.

Fix point, I am not sure which is the best solution here, so patch is here to get handy suggestions and advices from smarter developers :)

Even with this version, I measered the very good results.

If a performance of field analysis is a concern (well, I saw nothing really bad in my tests and I had excepted a worse compile time results) , maybe field sensitivity with https://reviews.llvm.org/owners/package/3/? or a new separate option...


Repository:
  rL LLVM

https://reviews.llvm.org/D46282





More information about the llvm-commits mailing list