aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-09-15 17:00:41 +0000
committerChris Lattner <sabre@nondot.org>2004-09-15 17:00:41 +0000
commit7e0e9c635f5439426252bd1ccbfa90b878ba0ca6 (patch)
tree0aef5118a6edf7e857d8b2cbdafdb51627a1e829 /include/llvm
parent3080b605d7ab700b0663d961672b40b0d9e25492 (diff)
downloadexternal_llvm-7e0e9c635f5439426252bd1ccbfa90b878ba0ca6.zip
external_llvm-7e0e9c635f5439426252bd1ccbfa90b878ba0ca6.tar.gz
external_llvm-7e0e9c635f5439426252bd1ccbfa90b878ba0ca6.tar.bz2
Make sure to update the list end when an element is removed from it. This
fixes a crash in LICM when processing povray. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16367 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/Analysis/AliasSetTracker.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/llvm/Analysis/AliasSetTracker.h b/include/llvm/Analysis/AliasSetTracker.h
index 6a6f016..fe3e60c 100644
--- a/include/llvm/Analysis/AliasSetTracker.h
+++ b/include/llvm/Analysis/AliasSetTracker.h
@@ -77,6 +77,10 @@ class AliasSet {
void removeFromList() {
if (NextInList) NextInList->second.PrevInList = PrevInList;
*PrevInList = NextInList;
+ if (AS->PtrListEnd == &NextInList) {
+ AS->PtrListEnd = PrevInList;
+ assert(*AS->PtrListEnd == 0 && "List not terminated right!");
+ }
}
};