blob: d4e3149de4a3fc2211fc07fe542fe72a7fd3ed17 [file] [log] [blame]
Michael Gottesman79d8d812013-01-28 01:35:51 +00001//===-- ObjCARC.cpp --------------------------------------------------------===//
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 file implements common infrastructure for libLLVMObjCARCOpts.a, which
11// implements several scalar transformations over the LLVM intermediate
12// representation, including the C bindings for that library.
13//
14//===----------------------------------------------------------------------===//
15
16#include "llvm/Transforms/ObjCARC.h"
17#include "llvm-c/Initialization.h"
18#include "llvm/Analysis/Passes.h"
19#include "llvm/Analysis/Verifier.h"
20#include "llvm/IR/DataLayout.h"
21#include "llvm/InitializePasses.h"
22#include "llvm/PassManager.h"
23
24using namespace llvm;
25
26/// initializeObjCARCOptsPasses - Initialize all passes linked into the
27/// ObjCARCOpts library.
28void llvm::initializeObjCARCOpts(PassRegistry &Registry) {
29 initializeObjCARCAliasAnalysisPass(Registry);
30 initializeObjCARCAPElimPass(Registry);
31 initializeObjCARCExpandPass(Registry);
32 initializeObjCARCContractPass(Registry);
33 initializeObjCARCOptPass(Registry);
34}
35
36void LLVMInitializeObjCARCOpts(LLVMPassRegistryRef R) {
37 initializeObjCARCOpts(*unwrap(R));
38}