Fix: CFLAA -- Mark no-args returns as unknown
authorGeorge Burgess IV <george.burgess.iv@gmail.com>
Fri, 28 Aug 2015 00:16:18 +0000 (00:16 +0000)
committerGeorge Burgess IV <george.burgess.iv@gmail.com>
Fri, 28 Aug 2015 00:16:18 +0000 (00:16 +0000)
commitdc5cb4d4ca0480ec004a120309e26dcfcd8f657b
tree864b517c3716e46028952c5e3d57d0d65badcf51
parent4a93cd8f662b0d3c7b45163e3c165f9cef9a33c8
Fix: CFLAA -- Mark no-args returns as unknown

Prior to this patch, we hadn't been marking StratifiedSets with the
appropriate StratifiedAttrs when handling the result of no-args call
instructions. This caused us to report NoAlias when handed, for
example, an escaped alloca and a result from an opaque function. Now we
properly mark the return value of said functions.

Thanks again to Chandler, Richard, and Nick for pinging me about this.

Differential review: http://reviews.llvm.org/D12408

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246240 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/CFLAliasAnalysis.cpp
test/Analysis/CFLAliasAnalysis/opaque-call-alias.ll [new file with mode: 0644]