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