UnrollLoop.h revision 03ee68a145ab5394c070298049d93f305be93ec3
1816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman//===- llvm/Transforms/Utils/UnrollLoop.h - Unrolling utilities -*- C++ -*-===//
2816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman//
3816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman//                     The LLVM Compiler Infrastructure
4816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman//
5816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman// This file is distributed under the University of Illinois Open Source
6816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman// License. See LICENSE.TXT for details.
7816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman//
8816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman//===----------------------------------------------------------------------===//
9816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman//
10816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman// This file defines some loop unrolling utilities. It does not define any
11816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman// actual pass or policy, but provides a single function to perform loop
12816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman// unrolling.
13816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman//
14816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman//===----------------------------------------------------------------------===//
15816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman
16816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman#ifndef LLVM_TRANSFORMS_UTILS_UNROLLLOOP_H
17816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman#define LLVM_TRANSFORMS_UTILS_UNROLLLOOP_H
18816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman
19816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohmannamespace llvm {
20816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman
2103ee68a145ab5394c070298049d93f305be93ec3Dan Gohmanclass Loop;
2203ee68a145ab5394c070298049d93f305be93ec3Dan Gohmanclass LoopInfo;
23816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohmanclass LPPassManager;
24816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman
25816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohmanbool UnrollLoop(Loop *L, unsigned Count, LoopInfo* LI, LPPassManager* LPM);
26816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman
27816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman}
28816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman
29816cdf6bb280a85e4a0da1d456143ebe0b0db4e0Dan Gohman#endif
30