Path: blob/main/contrib/llvm-project/clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
213845 views
//===- LoweringPrepare.cpp - pareparation work for LLVM lowering ----------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#include "PassDetail.h"9#include "clang/AST/ASTContext.h"10#include "clang/CIR/Dialect/IR/CIRDialect.h"11#include "clang/CIR/Dialect/Passes.h"1213#include <memory>1415using namespace mlir;16using namespace cir;1718namespace {19struct LoweringPreparePass : public LoweringPrepareBase<LoweringPreparePass> {20LoweringPreparePass() = default;21void runOnOperation() override;2223void runOnOp(Operation *op);24};2526} // namespace2728void LoweringPreparePass::runOnOp(Operation *op) {}2930void LoweringPreparePass::runOnOperation() {31llvm::SmallVector<Operation *> opsToTransform;3233for (auto *o : opsToTransform)34runOnOp(o);35}3637std::unique_ptr<Pass> mlir::createLoweringPreparePass() {38return std::make_unique<LoweringPreparePass>();39}404142