summaryrefslogtreecommitdiff
path: root/include/llvm/Analysis/ValueTracking.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2012-05-10 18:57:38 +0000
committerDan Gohman <gohman@apple.com>2012-05-10 18:57:38 +0000
commitb401e3bd16c3d648464606d5e5b496dd61d12afc (patch)
treeb07de7956a0b88f64d8677105b2ddd59eb17e254 /include/llvm/Analysis/ValueTracking.h
parentfe65d98dadbedf2650266ac71c1c093c3b97da1f (diff)
downloadllvm-b401e3bd16c3d648464606d5e5b496dd61d12afc.tar.gz
llvm-b401e3bd16c3d648464606d5e5b496dd61d12afc.tar.bz2
llvm-b401e3bd16c3d648464606d5e5b496dd61d12afc.tar.xz
Teach DeadStoreElimination to eliminate exit-block stores with phi addresses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156558 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/ValueTracking.h')
-rw-r--r--include/llvm/Analysis/ValueTracking.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/llvm/Analysis/ValueTracking.h b/include/llvm/Analysis/ValueTracking.h
index f2f9db4ce4..e8d45f6bb8 100644
--- a/include/llvm/Analysis/ValueTracking.h
+++ b/include/llvm/Analysis/ValueTracking.h
@@ -151,6 +151,14 @@ namespace llvm {
return GetUnderlyingObject(const_cast<Value *>(V), TD, MaxLookup);
}
+ /// GetUnderlyingObjects - This method is similar to GetUnderlyingObject
+ /// except that it can look through phi and select instructions and return
+ /// multiple objects.
+ void GetUnderlyingObjects(Value *V,
+ SmallVectorImpl<Value *> &Objects,
+ const TargetData *TD = 0,
+ unsigned MaxLookup = 6);
+
/// onlyUsedByLifetimeMarkers - Return true if the only users of this pointer
/// are lifetime markers.
bool onlyUsedByLifetimeMarkers(const Value *V);