#include "mlir/Pass/AnalysisManager.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Pass/PassManager.h"
#include "gtest/gtest.h"
usingnamespacemlir;
usingnamespacemlir::detail;
namespace {
struct MyAnalysis { … };
struct OtherAnalysis { … };
struct OpSpecificAnalysis { … };
TEST(AnalysisManagerTest, FineGrainModuleAnalysisPreservation) { … }
TEST(AnalysisManagerTest, FineGrainFunctionAnalysisPreservation) { … }
TEST(AnalysisManagerTest, FineGrainChildFunctionAnalysisPreservation) { … }
struct TestAnalysisSet { … };
struct CustomInvalidatingAnalysis { … };
TEST(AnalysisManagerTest, CustomInvalidation) { … }
TEST(AnalysisManagerTest, OpSpecificAnalysis) { … }
struct AnalysisWithDependency { … };
TEST(AnalysisManagerTest, DependentAnalysis) { … }
struct AnalysisWithNestedDependency { … };
TEST(AnalysisManagerTest, NestedDependentAnalysis) { … }
struct AnalysisWith2Ctors { … };
TEST(AnalysisManagerTest, DependentAnalysis2Ctors) { … }
}