//===----------------------------------------------------------------------===//
#include "llvm/ADT/STLExtras.h"
//===----------------------------------------------------------------------===//
#include "llvm/ADT/STLExtras.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
if (AM)
AM->invalidate(M, PassPA);
PA.intersect(std::move(PassPA));
if (AM)
AM->invalidate(M, PassPA);
PA.intersect(std::move(PassPA));
// If we don't have a cached result for this module, look up the pass and run
// it to produce a result, which we then add to the cache.
if (Inserted)
// If we don't have a cached result for this module, look up the pass and run
// it to produce a result, which we then add to the cache.
if (Inserted)
if (AM)
AM->invalidate(F, PassPA);
PA.intersect(std::move(PassPA));
if (AM)
AM->invalidate(F, PassPA);
PA.intersect(std::move(PassPA));
while (!InvalidatedPassIDs.empty())
FunctionAnalysisResults.erase(
std::make_pair(InvalidatedPassIDs.pop_back_val(), F));
while (!InvalidatedPassIDs.empty())
FunctionAnalysisResults.erase(
std::make_pair(InvalidatedPassIDs.pop_back_val(), F));