Add the function "vectorizeBasicBlock" which allow users vectorize a

BasicBlock in other passes, e.g. we can call vectorizeBasicBlock in the
 loop unroll pass right after the loop is unrolled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154089 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Hongbin Zheng
2012-04-05 08:05:16 +00:00
parent 22378fd664
commit 87825e7970
2 changed files with 32 additions and 6 deletions

View File

@@ -16,7 +16,7 @@
#define LLVM_TRANSFORMS_VECTORIZE_H
namespace llvm {
class BasicBlock;
class BasicBlockPass;
//===----------------------------------------------------------------------===//
@@ -25,6 +25,18 @@ class BasicBlockPass;
//
BasicBlockPass *createBBVectorizePass();
//===----------------------------------------------------------------------===//
/// @brief Vectorize the BasicBlock.
///
/// @param BB The BasicBlock to be vectorized
/// @param P The current running pass, should require AliasAnalysis and
/// ScalarEvolution. After the vectorization, AliasAnalysis,
/// ScalarEvolution and CFG are preserved.
///
/// @return True if the BB is changed, false otherwise.
///
bool vectorizeBasicBlock(Pass *P, BasicBlock &BB);
} // End llvm namespace
#endif