OSDN Git Service

Feed AA to the inliner and use AA->getModRefBehavior in AddAliasScopeMetadata
authorHal Finkel <hfinkel@anl.gov>
Mon, 1 Sep 2014 09:01:39 +0000 (09:01 +0000)
committerHal Finkel <hfinkel@anl.gov>
Mon, 1 Sep 2014 09:01:39 +0000 (09:01 +0000)
commit32418db285b45d9c5db6a4c563d011026ec62212
treedf3539daf6ea3d45efcf74057d1667a9acef8600
parent0cbef49d9043fca43da631dcca04f129677eb850
Feed AA to the inliner and use AA->getModRefBehavior in AddAliasScopeMetadata

This feeds AA through the IFI structure into the inliner so that
AddAliasScopeMetadata can use AA->getModRefBehavior to figure out which
functions only access their arguments (instead of just hard-coding some
knowledge of memory intrinsics). Most of the information is only available from
BasicAA; this is important for preserving alias scoping information for
target-specific intrinsics when doing the noalias parameter attribute to
metadata conversion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216866 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Utils/Cloning.h
lib/Transforms/IPO/InlineAlways.cpp
lib/Transforms/IPO/InlineSimple.cpp
lib/Transforms/IPO/Inliner.cpp
lib/Transforms/Utils/InlineFunction.cpp
test/Transforms/Inline/noalias-calls.ll