Project Alice
Loading...
Searching...
No Matches
PassBuilder.h
Go to the documentation of this file.
1/*===-- llvm-c/Transform/PassBuilder.h - PassBuilder for LLVM C ---*- 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 contains the LLVM-C interface into the new pass manager *|
11|* *|
12\*===----------------------------------------------------------------------===*/
13
14#ifndef LLVM_C_TRANSFORMS_PASSBUILDER_H
15#define LLVM_C_TRANSFORMS_PASSBUILDER_H
16
17#include "llvm-c/Error.h"
19#include "llvm-c/Types.h"
20
29
38typedef struct LLVMOpaquePassBuilderOptions *LLVMPassBuilderOptionsRef;
39
52
61
67 LLVMBool VerifyEach);
68
73 LLVMBool DebugLogging);
74
76 LLVMPassBuilderOptionsRef Options, LLVMBool LoopInterleaving);
77
79 LLVMPassBuilderOptionsRef Options, LLVMBool LoopVectorization);
80
82 LLVMPassBuilderOptionsRef Options, LLVMBool SLPVectorization);
83
85 LLVMBool LoopUnrolling);
86
88 LLVMPassBuilderOptionsRef Options, LLVMBool ForgetAllSCEVInLoopUnroll);
89
91 unsigned LicmMssaOptCap);
92
94 LLVMPassBuilderOptionsRef Options, unsigned LicmMssaNoAccForPromotionCap);
95
97 LLVMPassBuilderOptionsRef Options, LLVMBool CallGraphProfile);
98
100 LLVMBool MergeFunctions);
101
103 LLVMPassBuilderOptionsRef Options, int Threshold);
104
109
115
116#endif // LLVM_C_TRANSFORMS_PASSBUILDER_H
#define LLVM_C_EXTERN_C_BEGIN
Definition: ExternC.h:35
#define LLVM_C_EXTERN_C_END
Definition: ExternC.h:36
void LLVMPassBuilderOptionsSetMergeFunctions(LLVMPassBuilderOptionsRef Options, LLVMBool MergeFunctions)
void LLVMPassBuilderOptionsSetDebugLogging(LLVMPassBuilderOptionsRef Options, LLVMBool DebugLogging)
LLVMPassBuilderOptionsRef LLVMCreatePassBuilderOptions(void)
void LLVMPassBuilderOptionsSetVerifyEach(LLVMPassBuilderOptionsRef Options, LLVMBool VerifyEach)
void LLVMPassBuilderOptionsSetLicmMssaOptCap(LLVMPassBuilderOptionsRef Options, unsigned LicmMssaOptCap)
void LLVMDisposePassBuilderOptions(LLVMPassBuilderOptionsRef Options)
void LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap(LLVMPassBuilderOptionsRef Options, unsigned LicmMssaNoAccForPromotionCap)
void LLVMPassBuilderOptionsSetInlinerThreshold(LLVMPassBuilderOptionsRef Options, int Threshold)
void LLVMPassBuilderOptionsSetSLPVectorization(LLVMPassBuilderOptionsRef Options, LLVMBool SLPVectorization)
void LLVMPassBuilderOptionsSetCallGraphProfile(LLVMPassBuilderOptionsRef Options, LLVMBool CallGraphProfile)
void LLVMPassBuilderOptionsSetLoopVectorization(LLVMPassBuilderOptionsRef Options, LLVMBool LoopVectorization)
void LLVMPassBuilderOptionsSetLoopUnrolling(LLVMPassBuilderOptionsRef Options, LLVMBool LoopUnrolling)
typedefLLVM_C_EXTERN_C_BEGIN struct LLVMOpaquePassBuilderOptions * LLVMPassBuilderOptionsRef
Definition: PassBuilder.h:38
void LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll(LLVMPassBuilderOptionsRef Options, LLVMBool ForgetAllSCEVInLoopUnroll)
void LLVMPassBuilderOptionsSetLoopInterleaving(LLVMPassBuilderOptionsRef Options, LLVMBool LoopInterleaving)
LLVMErrorRef LLVMRunPasses(LLVMModuleRef M, const char *Passes, LLVMTargetMachineRef TM, LLVMPassBuilderOptionsRef Options)
struct LLVMOpaqueError * LLVMErrorRef
Definition: Error.h:33
int LLVMBool
Definition: Types.h:28
struct LLVMOpaqueModule * LLVMModuleRef
Definition: Types.h:61
struct LLVMOpaqueTargetMachine * LLVMTargetMachineRef
Definition: TargetMachine.h:35