Vectorize.h revision 251662
1132718Skan/*===---------------------------Vectorize.h --------------------- -*- C -*-===*\ 2132718Skan|*===----------- Vectorization Transformation Library C Interface ---------===*| 3132718Skan|* *| 4132718Skan|* The LLVM Compiler Infrastructure *| 5132718Skan|* *| 6132718Skan|* This file is distributed under the University of Illinois Open Source *| 7132718Skan|* License. See LICENSE.TXT for details. *| 8132718Skan|* *| 9132718Skan|*===----------------------------------------------------------------------===*| 10132718Skan|* *| 11132718Skan|* This header declares the C interface to libLLVMVectorize.a, which *| 12132718Skan|* implements various vectorization transformations of the LLVM IR. *| 13132718Skan|* *| 14132718Skan|* Many exotic languages can interoperate with C code but have a harder time *| 15132718Skan|* with C++ due to name mangling. So in addition to C, this interface enables *| 16132718Skan|* tools written in such languages. *| 17132718Skan|* *| 18132718Skan\*===----------------------------------------------------------------------===*/ 19132718Skan 20132718Skan#ifndef LLVM_C_TRANSFORMS_VECTORIZE_H 21132718Skan#define LLVM_C_TRANSFORMS_VECTORIZE_H 22132718Skan 23132718Skan#include "llvm-c/Core.h" 24132718Skan 25132718Skan#ifdef __cplusplus 26132718Skanextern "C" { 27132718Skan#endif 28132718Skan 29132718Skan/** 30132718Skan * @defgroup LLVMCTransformsVectorize Vectorization transformations 31132718Skan * @ingroup LLVMCTransforms 32132718Skan * 33132718Skan * @{ 34132718Skan */ 35132718Skan 36132718Skan/** See llvm::createBBVectorizePass function. */ 37132718Skanvoid LLVMAddBBVectorizePass(LLVMPassManagerRef PM); 38132718Skan 39132718Skan/** See llvm::createLoopVectorizePass function. */ 40132718Skanvoid LLVMAddLoopVectorizePass(LLVMPassManagerRef PM); 41132718Skan 42132718Skan/** See llvm::createSLPVectorizerPass function. */ 43132718Skanvoid LLVMAddSLPVectorizePass(LLVMPassManagerRef PM); 44132718Skan 45132718Skan/** 46132718Skan * @} 47132718Skan */ 48132718Skan 49132718Skan#ifdef __cplusplus 50132718Skan} 51132718Skan#endif /* defined(__cplusplus) */ 52132718Skan 53132718Skan#endif 54132718Skan 55132718Skan