#include "mlir/Dialect/Affine/Passes.h"
#include "mlir/Dialect/Affine/Analysis/AffineAnalysis.h"
#include "mlir/Dialect/Affine/Analysis/AffineStructures.h"
#include "mlir/Dialect/Affine/Analysis/LoopAnalysis.h"
#include "mlir/Dialect/Affine/Analysis/Utils.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/IR/AffineValueMap.h"
#include "mlir/Dialect/Affine/LoopUtils.h"
#include "mlir/Dialect/Affine/Passes.h.inc"
#include "mlir/Dialect/Affine/Utils.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "llvm/Support/Debug.h"
#include <deque>
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINEPARALLELIZE
#include "mlir/Dialect/Affine/Passes.h.inc"
}
}
#define DEBUG_TYPE …
usingnamespacemlir;
usingnamespacemlir::affine;
namespace {
struct AffineParallelize
: public affine::impl::AffineParallelizeBase<AffineParallelize> { … };
struct ParallelizationCandidate { … };
}
void AffineParallelize::runOnOperation() { … }
std::unique_ptr<OperationPass<func::FuncOp>>
mlir::affine::createAffineParallelizePass() { … }