1 //===-- Vectorize.h - Vectorization Transformations -------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This header file defines prototypes for accessor functions that expose passes
11 // in the Vectorize transformations library.
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_TRANSFORMS_VECTORIZE_H
16 #define LLVM_TRANSFORMS_VECTORIZE_H
22 //===----------------------------------------------------------------------===//
24 // BBVectorize - A basic-block vectorization pass.
26 BasicBlockPass *createBBVectorizePass();
28 //===----------------------------------------------------------------------===//
29 /// @brief Vectorize the BasicBlock.
31 /// @param BB The BasicBlock to be vectorized
32 /// @param P The current running pass, should require AliasAnalysis and
33 /// ScalarEvolution. After the vectorization, AliasAnalysis,
34 /// ScalarEvolution and CFG are preserved.
36 /// @return True if the BB is changed, false otherwise.
38 bool vectorizeBasicBlock(Pass *P, BasicBlock &BB);
40 } // End llvm namespace