[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / mlir / lib / Analysis / CFGLoopInfo.cpp
blob785f6c05d76e6ff9b305debf5c91b416d53609b3
1 //===- CFGLoopInfo.cpp - LoopInfo analysis for region bodies --------------===//
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 //===----------------------------------------------------------------------===//
9 #include "mlir/Analysis/CFGLoopInfo.h"
10 #include "llvm/Support/GenericLoopInfoImpl.h"
12 // Explicitly instantiate the LoopBase and LoopInfoBase classes defined in
13 // LoopInfoImpl.h for CFGLoops
14 template class llvm::LoopBase<mlir::Block, mlir::CFGLoop>;
15 template class llvm::LoopInfoBase<mlir::Block, mlir::CFGLoop>;
17 using namespace mlir;
19 CFGLoop::CFGLoop(mlir::Block *block)
20 : llvm::LoopBase<mlir::Block, CFGLoop>(block) {}
22 CFGLoopInfo::CFGLoopInfo(
23 const llvm::DominatorTreeBase<mlir::Block, false> &domTree) {
24 analyze(domTree);
27 raw_ostream &mlir::operator<<(raw_ostream &os, mlir::Block &block) {
28 block.print(os);
29 return os;