OSDN Git Service

[Transforms] Propagate TBAA info in SROA
authorIvan A. Kosarev <ikosarev@accesssoftek.com>
Fri, 16 Feb 2018 10:10:29 +0000 (10:10 +0000)
committerIvan A. Kosarev <ikosarev@accesssoftek.com>
Fri, 16 Feb 2018 10:10:29 +0000 (10:10 +0000)
commit04bf737a84687a17137cc39da1f2e15ee74f1a4c
tree8b088672bcac1443153165c15620198a326b0ee3
parenta596a56b2320aec272758d15d3c65887465b3d7b
[Transforms] Propagate TBAA info in SROA

Now that we have the new TBAA metadata format that is capable of
representing accesses to aggregates, we can propagate TBAA access
tags from memory setting and transferring intrinsics to load and
store instructions and vice versa.

Since SROA produces lots of new loads and stores on optimized
builds, this change significantly decreases the share of
undecorated memory accesses on such builds.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@325329 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/SROA.cpp
test/Transforms/SROA/basictest.ll