blob: 178465ac82707b028bd9966bc9aee846284ed7cd [file] [log] [blame]
Hal Finkelc34e5112012-02-01 03:51:43 +00001/*===---------------------------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
26extern "C" {
27#endif
28
29/** See llvm::createBBVectorizePass function. */
30void LLVMAddBBVectorizePass(LLVMPassManagerRef PM);
31
32#ifdef __cplusplus
33}
34#endif /* defined(__cplusplus) */
35
36#endif
37