124c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//===-- ObjCARC.h - ObjCARC Scalar Transformations --------------*- C++ -*-===//
224c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
324c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//                     The LLVM Compiler Infrastructure
424c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
524c4898973a074713201fb9351d302b9f7733e92Michael Gottesman// This file is distributed under the University of Illinois Open Source
624c4898973a074713201fb9351d302b9f7733e92Michael Gottesman// License. See LICENSE.TXT for details.
724c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
824c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//===----------------------------------------------------------------------===//
924c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
1024c4898973a074713201fb9351d302b9f7733e92Michael Gottesman// This header file defines prototypes for accessor functions that expose passes
1124c4898973a074713201fb9351d302b9f7733e92Michael Gottesman// in the ObjCARC Scalar Transformations library.
1224c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
1324c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//===----------------------------------------------------------------------===//
1424c4898973a074713201fb9351d302b9f7733e92Michael Gottesman
1524c4898973a074713201fb9351d302b9f7733e92Michael Gottesman#ifndef LLVM_TRANSFORMS_OBJCARC_H
1624c4898973a074713201fb9351d302b9f7733e92Michael Gottesman#define LLVM_TRANSFORMS_OBJCARC_H
1724c4898973a074713201fb9351d302b9f7733e92Michael Gottesman
1824c4898973a074713201fb9351d302b9f7733e92Michael Gottesmannamespace llvm {
1924c4898973a074713201fb9351d302b9f7733e92Michael Gottesman
2024c4898973a074713201fb9351d302b9f7733e92Michael Gottesmanclass Pass;
2124c4898973a074713201fb9351d302b9f7733e92Michael Gottesman
2224c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//===----------------------------------------------------------------------===//
2324c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
2424c4898973a074713201fb9351d302b9f7733e92Michael Gottesman// ObjCARCAPElim - ObjC ARC autorelease pool elimination.
2524c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
2624c4898973a074713201fb9351d302b9f7733e92Michael GottesmanPass *createObjCARCAPElimPass();
2724c4898973a074713201fb9351d302b9f7733e92Michael Gottesman
2824c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//===----------------------------------------------------------------------===//
2924c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
3024c4898973a074713201fb9351d302b9f7733e92Michael Gottesman// ObjCARCExpand - ObjC ARC preliminary simplifications.
3124c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
3224c4898973a074713201fb9351d302b9f7733e92Michael GottesmanPass *createObjCARCExpandPass();
3324c4898973a074713201fb9351d302b9f7733e92Michael Gottesman
3424c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//===----------------------------------------------------------------------===//
3524c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
3624c4898973a074713201fb9351d302b9f7733e92Michael Gottesman// ObjCARCContract - Late ObjC ARC cleanups.
3724c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
3824c4898973a074713201fb9351d302b9f7733e92Michael GottesmanPass *createObjCARCContractPass();
3924c4898973a074713201fb9351d302b9f7733e92Michael Gottesman
4024c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//===----------------------------------------------------------------------===//
4124c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
4224c4898973a074713201fb9351d302b9f7733e92Michael Gottesman// ObjCARCOpt - ObjC ARC optimization.
4324c4898973a074713201fb9351d302b9f7733e92Michael Gottesman//
4424c4898973a074713201fb9351d302b9f7733e92Michael GottesmanPass *createObjCARCOptPass();
4524c4898973a074713201fb9351d302b9f7733e92Michael Gottesman
4624c4898973a074713201fb9351d302b9f7733e92Michael Gottesman} // End llvm namespace
4724c4898973a074713201fb9351d302b9f7733e92Michael Gottesman
4824c4898973a074713201fb9351d302b9f7733e92Michael Gottesman#endif
49