#include "mlir/Conversion/OpenACCToSCF/ConvertOpenACCToSCF.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/OpenACC/OpenACC.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/IR/Matchers.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/DialectConversion.h"
namespace mlir {
#define GEN_PASS_DEF_CONVERTOPENACCTOSCF
#include "mlir/Conversion/Passes.h.inc"
}
usingnamespacemlir;
namespace {
template <typename OpTy>
class ExpandIfCondition : public OpRewritePattern<OpTy> { … };
}
void mlir::populateOpenACCToSCFConversionPatterns(RewritePatternSet &patterns) { … }
namespace {
struct ConvertOpenACCToSCFPass
: public impl::ConvertOpenACCToSCFBase<ConvertOpenACCToSCFPass> { … };
}
void ConvertOpenACCToSCFPass::runOnOperation() { … }
std::unique_ptr<OperationPass<ModuleOp>> mlir::createConvertOpenACCToSCFPass() { … }