summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2015-08-14 02:50:34 +0000
committerChandler Carruth <chandlerc@gmail.com>2015-08-14 02:50:34 +0000
commit29109f5b1e998af150580e80e4f52e66505e31bf (patch)
treee68e38cf3befc7c6fac2a4bf4a276e439a31dc73 /llvm/lib
parent496b7fb569990c318f7e17a3fac3ca644a215fba (diff)
downloadbcm5719-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')
-rw-r--r--llvm/lib/Analysis/CFLAliasAnalysis.cpp22
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());
}
OpenPOWER on IntegriCloud