aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Transforms/Vectorize.h
diff options
context:
space:
mode:
authorHongbin Zheng <etherzhhb@gmail.com>2012-04-05 08:05:16 +0000
committerHongbin Zheng <etherzhhb@gmail.com>2012-04-05 08:05:16 +0000
commit87825e7970a361ce5a8bab19bc880ff7f6242ca2 (patch)
treefe5a25882cc55db34c924fabfc3b6722c3d13cf4 /include/llvm/Transforms/Vectorize.h
parent22378fd664fed97c296878d8d188ab06e2c89395 (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.h14
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