[PATCH] CFL Alias Analysis

George Burgess IV george.burgess.iv at gmail.com
Thu Aug 28 10:32:19 PDT 2014


Hi chandlerc, dberlin, hfinkel, nlewycky,

The algorithms for CFLAA + data structures all in one! (Read: Internship over, so I no longer have access to my gbiv@ email, which I used to make the old revisions). 

Old reviews:
  - http://reviews.llvm.org/D4551 (CFLAA Algorithm)
  - http://reviews.llvm.org/D4550 (Data structures)

This patch contains the algorithm for the CFL Alias Analysis described here: https://docs.google.com/document/d/1nGFKMmr-HbdEiag9G1GeWurgOV0CweSUjLXFr3LAwqg/edit . Currently, we don't have any extremely fancy features, sans some interprocedural analysis (i.e. no field sensitivity, etc.), and we do best sitting behind BasicAA + TBAA.

---

Diff notes:
> Merged WeightedBidirectionalGraph into CFLAliasAnalysis.cpp
> Addressed all other feedback, except hfinkel at 415. I don't want to stop scanning inside of IPA if we hit noalias/byval because of the following:

```
int foo(long a, int* b) { *(int**)a = b; }
```

If the consensus is that such code shouldn't be an issue, then I'll happily speed IPA up a bit.

Sorry for the hurried message -- I have a flight soon. :)
George

http://reviews.llvm.org/D5106

Files:
  include/llvm/Analysis/Passes.h
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  lib/Analysis/CFLAliasAnalysis.cpp
  lib/Analysis/CMakeLists.txt
  lib/Analysis/StratifiedSets.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5106.13045.patch
Type: text/x-patch
Size: 59328 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140828/19c1c3e7/attachment.bin>


More information about the llvm-commits mailing list