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 //===----------------------------------------------------------------------===// 8 9 #include "mlir/Analysis/CFGLoopInfo.h" 10 #include "llvm/Support/GenericLoopInfoImpl.h" 11 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>; 16 17 using namespace mlir; 18 CFGLoop(mlir::Block * block)19CFGLoop::CFGLoop(mlir::Block *block) 20 : llvm::LoopBase<mlir::Block, CFGLoop>(block) {} 21 CFGLoopInfo(const llvm::DominatorTreeBase<mlir::Block,false> & domTree)22CFGLoopInfo::CFGLoopInfo( 23 const llvm::DominatorTreeBase<mlir::Block, false> &domTree) { 24 analyze(domTree); 25 } 26