LLVM API Documentation
00001 //===-- ObjCARC.h - ObjCARC Scalar Transformations --------------*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This header file defines prototypes for accessor functions that expose passes 00011 // in the ObjCARC Scalar Transformations library. 00012 // 00013 //===----------------------------------------------------------------------===// 00014 00015 #ifndef LLVM_TRANSFORMS_OBJCARC_H 00016 #define LLVM_TRANSFORMS_OBJCARC_H 00017 00018 namespace llvm { 00019 00020 class Pass; 00021 00022 //===----------------------------------------------------------------------===// 00023 // 00024 // ObjCARCAPElim - ObjC ARC autorelease pool elimination. 00025 // 00026 Pass *createObjCARCAPElimPass(); 00027 00028 //===----------------------------------------------------------------------===// 00029 // 00030 // ObjCARCExpand - ObjC ARC preliminary simplifications. 00031 // 00032 Pass *createObjCARCExpandPass(); 00033 00034 //===----------------------------------------------------------------------===// 00035 // 00036 // ObjCARCContract - Late ObjC ARC cleanups. 00037 // 00038 Pass *createObjCARCContractPass(); 00039 00040 //===----------------------------------------------------------------------===// 00041 // 00042 // ObjCARCOpt - ObjC ARC optimization. 00043 // 00044 Pass *createObjCARCOptPass(); 00045 00046 } // End llvm namespace 00047 00048 #endif