diff options
author | Chris Lattner <sabre@nondot.org> | 2010-11-30 00:28:45 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-11-30 00:28:45 +0000 |
commit | 9a146372b526f659991ede75f10f07c30209234b (patch) | |
tree | 9851ab0a6fc034f241623cc416998b3d66acb01e /llvm/lib/Analysis/BasicAliasAnalysis.cpp | |
parent | 348b5897f94a856044cab9a241e889013a8611cc (diff) | |
download | bcm5719-llvm-9a146372b526f659991ede75f10f07c30209234b.tar.gz bcm5719-llvm-9a146372b526f659991ede75f10f07c30209234b.zip |
Teach basicaa that memset's modref set is at worst "mod" and never
contains "ref".
Enhance DSE to use a modref query instead of a store-specific hack
to generalize the "ignore may-alias stores" optimization to handle
memset and memcpy.
llvm-svn: 120368
Diffstat (limited to 'llvm/lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r-- | llvm/lib/Analysis/BasicAliasAnalysis.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp index bf1b689587c..3e634240901 100644 --- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp +++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp @@ -703,6 +703,8 @@ BasicAliasAnalysis::getModRefInfo(ImmutableCallSite CS, if (isNoAlias(Location(Dest, Len), Loc)) return NoModRef; } + // We know that memset doesn't load anything. + Min = Mod; break; case Intrinsic::atomic_cmp_swap: case Intrinsic::atomic_swap: |