From 8aaa6e0f863ec3446c2958d25a3670dac800d0a5 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 29 Mar 2002 21:23:29 +0000 Subject: [PATCH] Add a hook to allow the datastructure to keep naturally up to date, even though it's not entirely fleshed out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2051 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/DataStructure.h | 13 +++++++++++++ include/llvm/Analysis/DataStructure/DataStructure.h | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/include/llvm/Analysis/DataStructure.h b/include/llvm/Analysis/DataStructure.h index 1d5500d6a52..ae7b3571da6 100644 --- a/include/llvm/Analysis/DataStructure.h +++ b/include/llvm/Analysis/DataStructure.h @@ -437,6 +437,19 @@ public: return *N.second; } + // invalidateFunction - Inform this analysis that you changed the specified + // function, so the graphs that depend on it are out of date. + // + void invalidateFunction(Function *F) const { + // FIXME: THis should invalidate all functions who have inlined the + // specified graph! + // + std::pair &N = DSInfo[F]; + delete N.first; + delete N.second; + N.first = N.second = 0; + } + // print - Print out the analysis results... void print(std::ostream &O, Module *M) const; diff --git a/include/llvm/Analysis/DataStructure/DataStructure.h b/include/llvm/Analysis/DataStructure/DataStructure.h index 1d5500d6a52..ae7b3571da6 100644 --- a/include/llvm/Analysis/DataStructure/DataStructure.h +++ b/include/llvm/Analysis/DataStructure/DataStructure.h @@ -437,6 +437,19 @@ public: return *N.second; } + // invalidateFunction - Inform this analysis that you changed the specified + // function, so the graphs that depend on it are out of date. + // + void invalidateFunction(Function *F) const { + // FIXME: THis should invalidate all functions who have inlined the + // specified graph! + // + std::pair &N = DSInfo[F]; + delete N.first; + delete N.second; + N.first = N.second = 0; + } + // print - Print out the analysis results... void print(std::ostream &O, Module *M) const;