#include "mlir/Dialect/MLProgram/Transforms/Passes.h"
#include "mlir/Dialect/MLProgram/IR/MLProgram.h"
#include "mlir/Dialect/MLProgram/Transforms/Passes.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
namespace mlir {
namespace ml_program {
#define GEN_PASS_DEF_MLPROGRAMPIPELINEGLOBALS
#include "mlir/Dialect/MLProgram/Transforms/Passes.h.inc"
namespace {
class MLProgramPipelineGlobals
: public impl::MLProgramPipelineGlobalsBase<MLProgramPipelineGlobals> { … };
static Operation *getFromSymbol(Operation *baseOp, SymbolRefAttr symbol) { … }
LogicalResult MLProgramPipelineGlobals::buildGlobalMap(ModuleOp module) { … }
void MLProgramPipelineGlobals::processBlock(
Block &block, llvm::DenseSet<SymbolRefAttr> &symbolLoad,
llvm::DenseSet<SymbolRefAttr> &symbolStore) { … }
void MLProgramPipelineGlobals::runOnOperation() { … }
}
std::unique_ptr<OperationPass<mlir::ModuleOp>>
createMLProgramPipelineGlobalsPass() { … }
}
}