InstCombine.h revision 360784
1217309Snwhitehorn/*===-- Scalar.h - Scalar Transformation Library C Interface ----*- C++ -*-===*\
2217309Snwhitehorn|*                                                                            *|
3217309Snwhitehorn|* Part of the LLVM Project, under the Apache License v2.0 with LLVM          *|
4217309Snwhitehorn|* Exceptions.                                                                *|
5217309Snwhitehorn|* See https://llvm.org/LICENSE.txt for license information.                  *|
6217309Snwhitehorn|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    *|
7217309Snwhitehorn|*                                                                            *|
8217309Snwhitehorn|*===----------------------------------------------------------------------===*|
9217309Snwhitehorn|*                                                                            *|
10217309Snwhitehorn|* This header declares the C interface to libLLVMInstCombine.a, which        *|
11217309Snwhitehorn|* combines instructions to form fewer, simple IR instructions.               *|
12217309Snwhitehorn|*                                                                            *|
13217309Snwhitehorn\*===----------------------------------------------------------------------===*/
14217309Snwhitehorn
15217309Snwhitehorn#ifndef LLVM_C_TRANSFORMS_INSTCOMBINE_H
16217309Snwhitehorn#define LLVM_C_TRANSFORMS_INSTCOMBINE_H
17217309Snwhitehorn
18217309Snwhitehorn#include "llvm-c/ExternC.h"
19217309Snwhitehorn#include "llvm-c/Types.h"
20217309Snwhitehorn
21LLVM_C_EXTERN_C_BEGIN
22
23/**
24 * @defgroup LLVMCTransformsInstCombine Instruction Combining transformations
25 * @ingroup LLVMCTransforms
26 *
27 * @{
28 */
29
30/** See llvm::createInstructionCombiningPass function. */
31void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM);
32
33/**
34 * @}
35 */
36
37LLVM_C_EXTERN_C_END
38
39#endif
40
41