diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2015-08-14 02:50:34 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2015-08-14 02:50:34 +0000 |
commit | 29109f5b1e998af150580e80e4f52e66505e31bf (patch) | |
tree | e68e38cf3befc7c6fac2a4bf4a276e439a31dc73 /llvm/lib/Analysis | |
parent | 496b7fb569990c318f7e17a3fac3ca644a215fba (diff) | |
download | bcm5719-llvm-29109f5b1e998af150580e80e4f52e66505e31bf.tar.gz bcm5719-llvm-29109f5b1e998af150580e80e4f52e66505e31bf.zip |
[PM/AA] Hoist the value handle definition for CFLAA into the header to
satisfy libc++'s std::forward_list which requires the value type to be
complete.
llvm-svn: 245011
Diffstat (limited to 'llvm/lib/Analysis')
-rw-r--r-- | llvm/lib/Analysis/CFLAliasAnalysis.cpp | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/llvm/lib/Analysis/CFLAliasAnalysis.cpp b/llvm/lib/Analysis/CFLAliasAnalysis.cpp index 958ba95b3e6..ea624aee4fb 100644 --- a/llvm/lib/Analysis/CFLAliasAnalysis.cpp +++ b/llvm/lib/Analysis/CFLAliasAnalysis.cpp @@ -38,7 +38,6 @@ #include "llvm/IR/Function.h" #include "llvm/IR/InstVisitor.h" #include "llvm/IR/Instructions.h" -#include "llvm/IR/ValueHandle.h" #include "llvm/Pass.h" #include "llvm/Support/Allocator.h" #include "llvm/Support/Compiler.h" @@ -74,27 +73,6 @@ struct CFLAliasAnalysis::FunctionInfo { : Sets(std::move(S)), ReturnedValues(std::move(RV)) {} }; -struct CFLAliasAnalysis::FunctionHandle final : public CallbackVH { - FunctionHandle(Function *Fn, CFLAliasAnalysis *CFLAA) - : CallbackVH(Fn), CFLAA(CFLAA) { - assert(Fn != nullptr); - assert(CFLAA != nullptr); - } - - void deleted() override { removeSelfFromCache(); } - void allUsesReplacedWith(Value *) override { removeSelfFromCache(); } - -private: - CFLAliasAnalysis *CFLAA; - - void removeSelfFromCache() { - assert(CFLAA != nullptr); - auto *Val = getValPtr(); - CFLAA->evict(cast<Function>(Val)); - setValPtr(nullptr); - } -}; - CFLAliasAnalysis::CFLAliasAnalysis() : ImmutablePass(ID) { initializeCFLAliasAnalysisPass(*PassRegistry::getPassRegistry()); } |