[CFL-AA] Update for handling of globals and more tests
authorHal Finkel <hfinkel@anl.gov>
Mon, 6 Oct 2014 14:42:56 +0000 (14:42 +0000)
committerHal Finkel <hfinkel@anl.gov>
Mon, 6 Oct 2014 14:42:56 +0000 (14:42 +0000)
commit6a075f530a621c1b3b57c3bdfdb286812bf96ac5
tree09ad5b4736254bdb70f86750f4d528e14b6fc4a3
parent636eb393e0279480fe1ce10f82f7b7494eb47f15
[CFL-AA] Update for handling of globals and more tests

We used to return PartialAlias if *either* variable being queried interacted
with arguments or globals. AFAICT, we can change this to only returning
MayAlias iff *both* variables being queried interacted with arguments or
globals.

Also, adding some basic functionality tests: some basic IPA tests, checking
that we give conservative responses with arguments/globals thrown in the mix,
and ensuring that we trace values through stores and loads.

Note that saying that 'x' interacted with arguments or globals means that the
Attributes of the StratifiedSet that 'x' belongs to has any bits set.

Patch by George Burgess IV, thanks!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219122 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/CFLAliasAnalysis.cpp
test/Analysis/CFLAliasAnalysis/arguments-globals.ll [new file with mode: 0644]
test/Analysis/CFLAliasAnalysis/arguments.ll [new file with mode: 0644]
test/Analysis/CFLAliasAnalysis/basic-interproc-ret.ll [new file with mode: 0644]
test/Analysis/CFLAliasAnalysis/basic-interproc.ll [new file with mode: 0644]
test/Analysis/CFLAliasAnalysis/multilevel-combine.ll [new file with mode: 0644]
test/Analysis/CFLAliasAnalysis/multilevel.ll [new file with mode: 0644]