aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSanjoy Das <sanjoy@playingwithpointers.com>2017-10-17 01:03:56 +0000
committerSanjoy Das <sanjoy@playingwithpointers.com>2017-10-17 01:03:56 +0000
commit20768d3f1ec12d1e5861311d93dcda8af6a7e36e (patch)
tree36e398b856b49dc46f2697a6e7bc659f637dc3db /include
parent8a3e1c4e0572760edee74ce63a89f85d9c250d9a (diff)
downloadllvm-20768d3f1ec12d1e5861311d93dcda8af6a7e36e.tar.gz
Revert "[SCEV] Maintain and use a loop->loop invalidation dependency"
This reverts commit r315713. It causes PR34968. I think I know what the problem is, but I don't think I'll have time to fix it this week. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315962 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Analysis/ScalarEvolution.h17
1 files changed, 3 insertions, 14 deletions
diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h
index ec9773a2ee9..3190e7f56cf 100644
--- a/include/llvm/Analysis/ScalarEvolution.h
+++ b/include/llvm/Analysis/ScalarEvolution.h
@@ -29,7 +29,6 @@
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/PointerIntPair.h"
-#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
@@ -1263,10 +1262,6 @@ private:
/// Invalidate this result and free associated memory.
void clear();
-
- /// Insert all loops referred to by this BackedgeTakenCount into \p Result.
- void findUsedLoops(ScalarEvolution &SE,
- SmallPtrSetImpl<const Loop *> &Result) const;
};
/// Cache the backedge-taken count of the loops for this function as they
@@ -1776,20 +1771,14 @@ private:
/// Find all of the loops transitively used in \p S, and update \c LoopUsers
/// accordingly.
void addToLoopUseLists(const SCEV *S);
- void addToLoopUseLists(const BackedgeTakenInfo &BTI, const Loop *L);
FoldingSet<SCEV> UniqueSCEVs;
FoldingSet<SCEVPredicate> UniquePreds;
BumpPtrAllocator SCEVAllocator;
- /// This maps loops to a list of entities that (transitively) use said loop.
- /// A SCEV expression in the vector corresponding to a loop denotes that the
- /// SCEV expression transitively uses said loop. A loop (LA) in the vector
- /// corresponding to another loop (LB) denotes that LB is used in one of the
- /// cached trip counts for LA.
- DenseMap<const Loop *,
- SmallVector<PointerUnion<const SCEV *, const Loop *>, 4>>
- LoopUsers;
+ /// This maps loops to a list of SCEV expressions that (transitively) use said
+ /// loop.
+ DenseMap<const Loop *, SmallVector<const SCEV *, 4>> LoopUsers;
/// Cache tentative mappings from UnknownSCEVs in a Loop, to a SCEV expression
/// they can be rewritten into under certain predicates.