1 //===-- ObjCARC.h - ObjCARC Scalar Transformations --------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This header file defines prototypes for accessor functions that expose passes
11 // in the ObjCARC Scalar Transformations library.
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_TRANSFORMS_OBJCARC_H
16 #define LLVM_TRANSFORMS_OBJCARC_H
22 //===----------------------------------------------------------------------===//
24 // ObjCARCAPElim - ObjC ARC autorelease pool elimination.
26 Pass *createObjCARCAPElimPass();
28 //===----------------------------------------------------------------------===//
30 // ObjCARCExpand - ObjC ARC preliminary simplifications.
32 Pass *createObjCARCExpandPass();
34 //===----------------------------------------------------------------------===//
36 // ObjCARCContract - Late ObjC ARC cleanups.
38 Pass *createObjCARCContractPass();
40 //===----------------------------------------------------------------------===//
42 // ObjCARCOpt - ObjC ARC optimization.
44 Pass *createObjCARCOptPass();
46 } // End llvm namespace