Revert "[PM] Add pass run listeners to the pass manager."

Revert the current implementation and C API. New implementation and C APIs are
in the works.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208904 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Juergen Ributzka
2014-05-15 17:49:20 +00:00
parent fd76d8a72d
commit 218bad2bc5
11 changed files with 8 additions and 207 deletions

View File

@ -15,32 +15,11 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/Module.h"
#include "llvm/PassSupport.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Regex.h"
#include <algorithm>
using namespace llvm;
/// Notify that we finished running a pass.
void LLVMContextImpl::notifyPassRun(LLVMContext *C, Pass *P, Module *M,
Function *F, BasicBlock *BB) {
for (auto const &L : RunListeners)
L->passRun(C, P, M, F, BB);
}
/// Register the given PassRunListener to receive notifyPassRun()
/// callbacks whenever a pass ran.
void LLVMContextImpl::addRunListener(PassRunListener *L) {
RunListeners.push_back(L);
}
/// Unregister a PassRunListener so that it no longer receives
/// notifyPassRun() callbacks.
void LLVMContextImpl::removeRunListener(PassRunListener *L) {
auto I = std::find(RunListeners.begin(), RunListeners.end(), L);
assert(I != RunListeners.end() && "RunListener not registered!");
delete *I;
RunListeners.erase(I);
}
LLVMContextImpl::LLVMContextImpl(LLVMContext &C)
: TheTrueVal(nullptr), TheFalseVal(nullptr),
VoidTy(C, Type::VoidTyID),
@ -199,11 +178,6 @@ LLVMContextImpl::~LLVMContextImpl() {
// Destroy MDStrings.
DeleteContainerSeconds(MDStringCache);
// Destroy all run listeners.
for (auto &L : RunListeners)
delete L;
RunListeners.clear();
}
// ConstantsContext anchors