//===- subzero/src/IceLoopAnalyzer.h - Loop Analysis ------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// /// /// \file /// \brief This analysis identifies loops in the CFG. //===----------------------------------------------------------------------===// #ifndef SUBZERO_SRC_ICELOOPANALYZER_H #define SUBZERO_SRC_ICELOOPANALYZER_H #include "IceDefs.h" namespace Ice { struct Loop { Loop(CfgNode *Header, CfgNode *PreHeader, CfgUnorderedSet<SizeT> Body) : Header(Header), PreHeader(PreHeader), Body(Body) {} CfgNode *Header; CfgNode *PreHeader; CfgUnorderedSet<SizeT> Body; // Node IDs }; CfgVector<Loop> ComputeLoopInfo(Cfg *Func); } // end of namespace Ice #endif // SUBZERO_SRC_ICELOOPANALYZER_H