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