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