/3rd_party/llvm/include/llvm/Transforms/Utils/UnrollLoop.h

https://code.google.com/p/softart/ · C++ Header · 33 lines · 12 code · 7 blank · 14 comment · 0 complexity · f013c4de72b2055856cc1f0b4e1b1b15 MD5 · raw file

  1. //===- llvm/Transforms/Utils/UnrollLoop.h - Unrolling utilities -*- C++ -*-===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. //
  10. // This file defines some loop unrolling utilities. It does not define any
  11. // actual pass or policy, but provides a single function to perform loop
  12. // unrolling.
  13. //
  14. //===----------------------------------------------------------------------===//
  15. #ifndef LLVM_TRANSFORMS_UTILS_UNROLLLOOP_H
  16. #define LLVM_TRANSFORMS_UTILS_UNROLLLOOP_H
  17. namespace llvm {
  18. class Loop;
  19. class LoopInfo;
  20. class LPPassManager;
  21. bool UnrollLoop(Loop *L, unsigned Count, unsigned TripCount, bool AllowRuntime,
  22. unsigned TripMultiple, LoopInfo* LI, LPPassManager* LPM);
  23. bool UnrollRuntimeLoopProlog(Loop *L, unsigned Count, LoopInfo *LI,
  24. LPPassManager* LPM);
  25. }
  26. #endif