blob: ebe17d667061ea4a56211fdd481b6b80a6eafe52 [file] [log] [blame]
Andrew Scullcdfcccc2018-10-05 20:58:37 +01001/*===-- Scalar.h - Scalar Transformation Library C Interface ----*- C++ -*-===*\
2|* *|
Andrew Walbran16937d02019-10-22 13:54:20 +01003|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
4|* Exceptions. *|
5|* See https://llvm.org/LICENSE.txt for license information. *|
6|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
Andrew Scullcdfcccc2018-10-05 20:58:37 +01007|* *|
8|*===----------------------------------------------------------------------===*|
9|* *|
10|* This header declares the C interface to libLLVMInstCombine.a, which *|
11|* combines instructions to form fewer, simple IR instructions. *|
12|* *|
13\*===----------------------------------------------------------------------===*/
14
15#ifndef LLVM_C_TRANSFORMS_INSTCOMBINE_H
16#define LLVM_C_TRANSFORMS_INSTCOMBINE_H
17
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020018#include "llvm-c/ExternC.h"
Andrew Scullcdfcccc2018-10-05 20:58:37 +010019#include "llvm-c/Types.h"
20
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020021LLVM_C_EXTERN_C_BEGIN
Andrew Scullcdfcccc2018-10-05 20:58:37 +010022
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
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020037LLVM_C_EXTERN_C_END
Andrew Scullcdfcccc2018-10-05 20:58:37 +010038
39#endif
40