blob: db061a7ad1fc0980ff7e13705cdc3c8bcbf5a345 [file] [log] [blame]
Andrew Scull0372a572018-11-16 15:47:06 +00001/*===-- AggressiveInstCombine.h ---------------------------------*- 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 Scull0372a572018-11-16 15:47:06 +00007|* *|
8|*===----------------------------------------------------------------------===*|
9|* *|
10|* This header declares the C interface to libLLVMAggressiveInstCombine.a, *|
11|* which combines instructions to form fewer, simple IR instructions. *|
12|* *|
13\*===----------------------------------------------------------------------===*/
14
15#ifndef LLVM_C_TRANSFORMS_AGGRESSIVEINSTCOMBINE_H
16#define LLVM_C_TRANSFORMS_AGGRESSIVEINSTCOMBINE_H
17
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020018#include "llvm-c/ExternC.h"
Andrew Scull0372a572018-11-16 15:47:06 +000019#include "llvm-c/Types.h"
20
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020021LLVM_C_EXTERN_C_BEGIN
Andrew Scull0372a572018-11-16 15:47:06 +000022
23/**
24 * @defgroup LLVMCTransformsAggressiveInstCombine Aggressive Instruction Combining transformations
25 * @ingroup LLVMCTransforms
26 *
27 * @{
28 */
29
30/** See llvm::createAggressiveInstCombinerPass function. */
31void LLVMAddAggressiveInstCombinerPass(LLVMPassManagerRef PM);
32
33/**
34 * @}
35 */
36
Olivier Deprezf4ef2d02021-04-20 13:36:24 +020037LLVM_C_EXTERN_C_END
Andrew Scull0372a572018-11-16 15:47:06 +000038
39#endif
40