LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
c/Transforms/Vectorize.h
Go to the documentation of this file.
1 /*===---------------------------Vectorize.h --------------------- -*- C -*-===*\
2 |*===----------- Vectorization Transformation Library C Interface ---------===*|
3 |* *|
4 |* The LLVM Compiler Infrastructure *|
5 |* *|
6 |* This file is distributed under the University of Illinois Open Source *|
7 |* License. See LICENSE.TXT for details. *|
8 |* *|
9 |*===----------------------------------------------------------------------===*|
10 |* *|
11 |* This header declares the C interface to libLLVMVectorize.a, which *|
12 |* implements various vectorization transformations of the LLVM IR. *|
13 |* *|
14 |* Many exotic languages can interoperate with C code but have a harder time *|
15 |* with C++ due to name mangling. So in addition to C, this interface enables *|
16 |* tools written in such languages. *|
17 |* *|
18 \*===----------------------------------------------------------------------===*/
19 
20 #ifndef LLVM_C_TRANSFORMS_VECTORIZE_H
21 #define LLVM_C_TRANSFORMS_VECTORIZE_H
22 
23 #include "llvm-c/Core.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 /**
30  * @defgroup LLVMCTransformsVectorize Vectorization transformations
31  * @ingroup LLVMCTransforms
32  *
33  * @{
34  */
35 
36 /** See llvm::createBBVectorizePass function. */
38 
39 /** See llvm::createLoopVectorizePass function. */
41 
42 /** See llvm::createSLPVectorizerPass function. */
44 
45 /**
46  * @}
47  */
48 
49 #ifdef __cplusplus
50 }
51 #endif /* defined(__cplusplus) */
52 
53 #endif
54 
void LLVMAddSLPVectorizePass(LLVMPassManagerRef PM)
Definition: Vectorize.cpp:46
void LLVMAddBBVectorizePass(LLVMPassManagerRef PM)
Definition: Vectorize.cpp:38
struct LLVMOpaquePassManager * LLVMPassManagerRef
Definition: Core.h:125
void LLVMAddLoopVectorizePass(LLVMPassManagerRef PM)
Definition: Vectorize.cpp:42