[TBAA] Fix handling of mixed TBAA (path-aware and non-path-aware TBAA).
authorJuergen Ributzka <juergen@apple.com>
Sat, 3 May 2014 22:32:52 +0000 (22:32 +0000)
committerJuergen Ributzka <juergen@apple.com>
Sat, 3 May 2014 22:32:52 +0000 (22:32 +0000)
commitb2bd7e89e64b73be1c412ba8942b40c106b3f070
treec761c29f0d9fa6dc7a4af3097899a7750d48d7a4
parent930ca9843331c2cdce2a49517f661d60bfe61204
[TBAA] Fix handling of mixed TBAA (path-aware and non-path-aware TBAA).

This fix simply ensures that both metadata nodes are path-aware before
performing path-aware alias analysis.

This issue isn't normally triggered in LLVM, because we perform an autoupgrade
of the TBAA metadata to the new format when reading in LL or BC files. This
issue only appears when a client creates the IR manually and mixes old and new
TBAA metadata format.

This fixes <rdar://problem/16760860>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207923 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/TypeBasedAliasAnalysis.cpp
unittests/Analysis/CMakeLists.txt
unittests/Analysis/MixedTBAATest.cpp [new file with mode: 0644]