ObjCARC.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //===-- ObjCARC.h - ObjCARC Scalar Transformations --------------*- 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 header file defines prototypes for accessor functions that expose passes
  11. // in the ObjCARC Scalar Transformations library.
  12. //
  13. //===----------------------------------------------------------------------===//
  14. #ifndef LLVM_TRANSFORMS_OBJCARC_H
  15. #define LLVM_TRANSFORMS_OBJCARC_H
  16. namespace llvm {
  17. class Pass;
  18. //===----------------------------------------------------------------------===//
  19. //
  20. // ObjCARCAPElim - ObjC ARC autorelease pool elimination.
  21. //
  22. Pass *createObjCARCAPElimPass();
  23. //===----------------------------------------------------------------------===//
  24. //
  25. // ObjCARCExpand - ObjC ARC preliminary simplifications.
  26. //
  27. Pass *createObjCARCExpandPass();
  28. //===----------------------------------------------------------------------===//
  29. //
  30. // ObjCARCContract - Late ObjC ARC cleanups.
  31. //
  32. Pass *createObjCARCContractPass();
  33. // //
  34. ///////////////////////////////////////////////////////////////////////////////
  35. //
  36. // ObjCARCOpt - ObjC ARC optimization.
  37. //
  38. Pass *createObjCARCOptPass();
  39. } // End llvm namespace
  40. #endif