llvm-project

Форк
0
37 строк · 1.1 Кб
1
//===- PrintIR.cpp - Pass to dump IR on debug stream ----------------------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8

9
#include "mlir/Pass/Pass.h"
10
#include "mlir/Transforms/Passes.h"
11
#include "llvm/Support/Debug.h"
12

13
namespace mlir {
14
namespace {
15

16
#define GEN_PASS_DEF_PRINTIRPASS
17
#include "mlir/Transforms/Passes.h.inc"
18

19
struct PrintIRPass : public impl::PrintIRPassBase<PrintIRPass> {
20
  using impl::PrintIRPassBase<PrintIRPass>::PrintIRPassBase;
21

22
  void runOnOperation() override {
23
    llvm::dbgs() << "// -----// IR Dump";
24
    if (!this->label.empty())
25
      llvm::dbgs() << " " << this->label;
26
    llvm::dbgs() << " //----- //\n";
27
    getOperation()->dump();
28
  }
29
};
30

31
} // namespace
32

33
std::unique_ptr<Pass> createPrintIRPass(const PrintIRPassOptions &options) {
34
  return std::make_unique<PrintIRPass>(options);
35
}
36

37
} // namespace mlir

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.