AggressiveInstCombine.h revision 360784
1/*===-- AggressiveInstCombine.h ---------------------------------*- C++ -*-===*\
2|*                                                                            *|
3|* 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                    *|
7|*                                                                            *|
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
18#include "llvm-c/ExternC.h"
19#include "llvm-c/Types.h"
20
21LLVM_C_EXTERN_C_BEGIN
22
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
37LLVM_C_EXTERN_C_END
38
39#endif
40
41