Vectorize.h revision 7e004d177fe76145f75a9417ed2e281f1b9abaf7
17e004d177fe76145f75a9417ed2e281f1b9abaf7Hal Finkel/*===---------------------------Vectorize.h --------------------- -*- C -*-===*\
2de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|*===----------- Vectorization Transformation Library C Interface ---------===*|
3de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|*                                                                            *|
4de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|*                     The LLVM Compiler Infrastructure                       *|
5de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|*                                                                            *|
6de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|* This file is distributed under the University of Illinois Open Source      *|
7de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|* License. See LICENSE.TXT for details.                                      *|
8de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|*                                                                            *|
9de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|*===----------------------------------------------------------------------===*|
10de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|*                                                                            *|
11de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|* This header declares the C interface to libLLVMVectorize.a, which          *|
12de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|* implements various vectorization transformations of the LLVM IR.           *|
13de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|*                                                                            *|
14de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|* Many exotic languages can interoperate with C code but have a harder time  *|
15de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|* with C++ due to name mangling. So in addition to C, this interface enables *|
16de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|* tools written in such languages.                                           *|
17de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel|*                                                                            *|
18de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel\*===----------------------------------------------------------------------===*/
19de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel
20de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel#ifndef LLVM_C_TRANSFORMS_VECTORIZE_H
21de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel#define LLVM_C_TRANSFORMS_VECTORIZE_H
22de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel
23de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel#include "llvm-c/Core.h"
24de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel
25de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel#ifdef __cplusplus
26de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkelextern "C" {
27de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel#endif
28de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel
29de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel/** See llvm::createBBVectorizePass function. */
30de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkelvoid LLVMAddBBVectorizePass(LLVMPassManagerRef PM);
31de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel
32de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel#ifdef __cplusplus
33de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel}
34de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel#endif /* defined(__cplusplus) */
35de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel
36de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel#endif
37de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkel
38