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 15 #ifndef LLVM_TRANSFORMS_OBJCARC_H 16 #define LLVM_TRANSFORMS_OBJCARC_H 17 18 namespace llvm { 19 20 class Pass; 21 22 //===----------------------------------------------------------------------===// 23 // 24 // ObjCARCAPElim - ObjC ARC autorelease pool elimination. 25 // 26 Pass *createObjCARCAPElimPass(); 27 28 //===----------------------------------------------------------------------===// 29 // 30 // ObjCARCExpand - ObjC ARC preliminary simplifications. 31 // 32 Pass *createObjCARCExpandPass(); 33 34 //===----------------------------------------------------------------------===// 35 // 36 // ObjCARCContract - Late ObjC ARC cleanups. 37 // 38 Pass *createObjCARCContractPass(); 39 40 //===----------------------------------------------------------------------===// 41 // 42 // ObjCARCOpt - ObjC ARC optimization. 43 // 44 Pass *createObjCARCOptPass(); 45 46 } // End llvm namespace 47 48 #endif 49