diff options
author | Dan Gohman <gohman@apple.com> | 2010-07-29 00:17:55 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-07-29 00:17:55 +0000 |
commit | c6743207e20904008d2de016adfa6b0a9355c0e7 (patch) | |
tree | 8f727d234ed249b9d463ddf3c4658401a81dd93a /include/llvm/Analysis/ScalarEvolution.h | |
parent | e2fb451dbb50d9b1b4254f5acc7c98b1a8ebd3cf (diff) |
Factor out some of the code for updating old SCEVUnknown values, and
extend it to handle the case where multiple RAUWs affect a single
SCEVUnknown.
Add a ScalarEvolution unittest to test for this situation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109705 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/ScalarEvolution.h')
-rw-r--r-- | include/llvm/Analysis/ScalarEvolution.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h index 1b27efb995..b052a82232 100644 --- a/include/llvm/Analysis/ScalarEvolution.h +++ b/include/llvm/Analysis/ScalarEvolution.h @@ -386,6 +386,11 @@ namespace llvm { bool isKnownPredicateWithRanges(ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS); + /// forgetSCEVUnknown - V is being deleted or RAUW'd; remove the + /// SCEVUnknown for it from the uniquing map, and optionally + /// clear its contents to point to a replacement value. + void forgetSCEVUnknown(Value *V, Value *NewV); + public: static char ID; // Pass identification, replacement for typeid ScalarEvolution(); |