]> granicus.if.org Git - llvm/commit
[CFLAA] Tag arguments as escaped instead of unknown.
authorGeorge Burgess IV <george.burgess.iv@gmail.com>
Tue, 14 Jun 2016 18:12:28 +0000 (18:12 +0000)
committerGeorge Burgess IV <george.burgess.iv@gmail.com>
Tue, 14 Jun 2016 18:12:28 +0000 (18:12 +0000)
commite686c890772c01aa819d3fe8e47ba96f0d0163a3
treea32eabd890510da2d91d1827fe6d72db2ceb62f3
parent59a348622a332219e1bc9205a5053e91602d84be
[CFLAA] Tag arguments as escaped instead of unknown.

This patch also includes some refactoring.

Prior to this patch, we tagged all CFLAA attributes as unknown. This is
suboptimal, since it meant that any Value used as an argument would be
considered to alias any other Value that existed.

Now that we have the machinery to tag sets below the set for an
arbitrary value with attributes, it's okay to be less conservative with
arguments. (Specifically, we still tag the set under an argument with
unknown).

Patch by Jia Chen.

Differential Revision: http://reviews.llvm.org/D21262

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272690 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/CFLAliasAnalysis.cpp
lib/Analysis/StratifiedSets.h
test/Analysis/CFLAliasAnalysis/attr-escape.ll
test/Analysis/CFLAliasAnalysis/opaque-call-alias.ll
test/Analysis/CFLAliasAnalysis/va.ll