1*c34e5113SHal Finkel //===-- Vectorize.cpp -----------------------------------------------------===//
2*c34e5113SHal Finkel //
3*c34e5113SHal Finkel //                     The LLVM Compiler Infrastructure
4*c34e5113SHal Finkel //
5*c34e5113SHal Finkel // This file is distributed under the University of Illinois Open Source
6*c34e5113SHal Finkel // License. See LICENSE.TXT for details.
7*c34e5113SHal Finkel //
8*c34e5113SHal Finkel //===----------------------------------------------------------------------===//
9*c34e5113SHal Finkel //
10*c34e5113SHal Finkel // This file implements common infrastructure for libLLVMVectorizeOpts.a, which
11*c34e5113SHal Finkel // implements several vectorization transformations over the LLVM intermediate
12*c34e5113SHal Finkel // representation, including the C bindings for that library.
13*c34e5113SHal Finkel //
14*c34e5113SHal Finkel //===----------------------------------------------------------------------===//
15*c34e5113SHal Finkel 
16*c34e5113SHal Finkel #include "llvm-c/Transforms/Vectorize.h"
17*c34e5113SHal Finkel #include "llvm-c/Initialization.h"
18*c34e5113SHal Finkel #include "llvm/InitializePasses.h"
19*c34e5113SHal Finkel #include "llvm/PassManager.h"
20*c34e5113SHal Finkel #include "llvm/Analysis/Passes.h"
21*c34e5113SHal Finkel #include "llvm/Analysis/Verifier.h"
22*c34e5113SHal Finkel #include "llvm/Transforms/Vectorize.h"
23*c34e5113SHal Finkel 
24*c34e5113SHal Finkel using namespace llvm;
25*c34e5113SHal Finkel 
26*c34e5113SHal Finkel /// initializeVectorizationPasses - Initialize all passes linked into the
27*c34e5113SHal Finkel /// Vectorization library.
28*c34e5113SHal Finkel void llvm::initializeVectorization(PassRegistry &Registry) {
29*c34e5113SHal Finkel   initializeBBVectorizePass(Registry);
30*c34e5113SHal Finkel }
31*c34e5113SHal Finkel 
32*c34e5113SHal Finkel void LLVMInitializeVectorization(LLVMPassRegistryRef R) {
33*c34e5113SHal Finkel   initializeVectorization(*unwrap(R));
34*c34e5113SHal Finkel }
35*c34e5113SHal Finkel 
36*c34e5113SHal Finkel void LLVMAddBBVectorizePass(LLVMPassManagerRef PM) {
37*c34e5113SHal Finkel   unwrap(PM)->add(createBBVectorizePass());
38*c34e5113SHal Finkel }
39*c34e5113SHal Finkel 
40