[InstCombine] Signed saturation patterns
[llvm-complete.git] / lib / Transforms / ObjCARC / ObjCARC.cpp
blobf4da51650a7d04becfa8e0f11c2fef70de806913
1 //===-- ObjCARC.cpp -------------------------------------------------------===//
2 //
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
6 //
7 //===----------------------------------------------------------------------===//
8 //
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 //===----------------------------------------------------------------------===//
15 #include "ObjCARC.h"
16 #include "llvm-c/Initialization.h"
17 #include "llvm/InitializePasses.h"
19 namespace llvm {
20 class PassRegistry;
23 using namespace llvm;
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));