diff options
author | Hongbin Zheng <etherzhhb@gmail.com> | 2012-04-05 08:05:16 +0000 |
---|---|---|
committer | Hongbin Zheng <etherzhhb@gmail.com> | 2012-04-05 08:05:16 +0000 |
commit | 87825e7970a361ce5a8bab19bc880ff7f6242ca2 (patch) | |
tree | fe5a25882cc55db34c924fabfc3b6722c3d13cf4 /include/llvm/Transforms/Vectorize.h | |
parent | 22378fd664fed97c296878d8d188ab06e2c89395 (diff) |
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
Diffstat (limited to 'include/llvm/Transforms/Vectorize.h')
-rw-r--r-- | include/llvm/Transforms/Vectorize.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/llvm/Transforms/Vectorize.h b/include/llvm/Transforms/Vectorize.h index dfc099ddb9..ad06937caa 100644 --- a/include/llvm/Transforms/Vectorize.h +++ b/include/llvm/Transforms/Vectorize.h @@ -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 |