1 //===-- ObjCARC.cpp -------------------------------------------------------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // This file implements common infrastructure for libLLVMObjCARCOpts.a, which
10 // implements several scalar transformations over the LLVM intermediate
11 // representation, including the C bindings for that library.
13 //===----------------------------------------------------------------------===//
16 #include "llvm-c/Initialization.h"
17 #include "llvm/InitializePasses.h"
24 using namespace llvm::objcarc
;
26 /// initializeObjCARCOptsPasses - Initialize all passes linked into the
27 /// ObjCARCOpts library.
28 void llvm::initializeObjCARCOpts(PassRegistry
&Registry
) {
29 initializeObjCARCAAWrapperPassPass(Registry
);
30 initializeObjCARCAPElimPass(Registry
);
31 initializeObjCARCExpandPass(Registry
);
32 initializeObjCARCContractPass(Registry
);
33 initializeObjCARCOptPass(Registry
);
34 initializePAEvalPass(Registry
);
37 void LLVMInitializeObjCARCOpts(LLVMPassRegistryRef R
) {
38 initializeObjCARCOpts(*unwrap(R
));