[TBAA] Drop support for "old style" scalar TBAA tags
authorSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 8 Nov 2016 20:46:01 +0000 (20:46 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 8 Nov 2016 20:46:01 +0000 (20:46 +0000)
commit2582e690b7088e938d33dd5e3d271f92d44ba16c
tree8882021c2d37be7a3073b9d34c380994c2dccc1c
parentd092107b0e07b1861e541e5f21b342a74218ccb9
[TBAA] Drop support for "old style" scalar TBAA tags

Summary:
We've had support for auto upgrading old style scalar TBAA access
metadata tags into the "new" struct path aware TBAA metadata for 3 years
now.  The only way to actually generate old style TBAA was explicitly
through the IRBuilder API.  I think this is a good time for dropping
support for old style scalar TBAA.

I'm not removing support for textual or bitcode upgrade -- if you have
IR with the old style scalar TBAA tags that go through the AsmParser orf
the bitcode parser before LLVM sees them, they will keep working as
usual.

Note:

  %val = load i32, i32* %ptr, !tbaa !N
  !N = < scalar tbaa node >

is equivalent to

  %val = load i32, i32* %ptr, !tbaa !M
  !N = < scalar tbaa node >
  !M = !{!N, !N, 0}

Reviewers: manmanren, chandlerc, sunfish

Subscribers: mcrosier, llvm-commits, mgorny

Differential Revision: https://reviews.llvm.org/D26229

llvm-svn: 286291
llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
llvm/lib/IR/Verifier.cpp
llvm/unittests/Analysis/CMakeLists.txt
llvm/unittests/Analysis/MixedTBAATest.cpp [deleted file]
llvm/unittests/Analysis/TBAATest.cpp [new file with mode: 0644]