1 //===- CFGLoopInfo.cpp - LoopInfo analysis for region bodies --------------===//
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
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
>;
19 CFGLoop::CFGLoop(mlir::Block
*block
)
20 : llvm::LoopBase
<mlir::Block
, CFGLoop
>(block
) {}
22 CFGLoopInfo::CFGLoopInfo(
23 const llvm::DominatorTreeBase
<mlir::Block
, false> &domTree
) {
27 raw_ostream
&mlir::operator<<(raw_ostream
&os
, mlir::Block
&block
) {