LLVM API Documentation

include/llvm/Transforms/ObjCARC.h
Go to the documentation of this file.
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