File indexing completed on 2026-05-10 08:43:00
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef LLVM_C_TRANSFORMS_PASSBUILDER_H
0015 #define LLVM_C_TRANSFORMS_PASSBUILDER_H
0016
0017 #include "llvm-c/Error.h"
0018 #include "llvm-c/TargetMachine.h"
0019 #include "llvm-c/Types.h"
0020
0021
0022
0023
0024
0025
0026
0027
0028 LLVM_C_EXTERN_C_BEGIN
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038 typedef struct LLVMOpaquePassBuilderOptions *LLVMPassBuilderOptionsRef;
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049 LLVMErrorRef LLVMRunPasses(LLVMModuleRef M, const char *Passes,
0050 LLVMTargetMachineRef TM,
0051 LLVMPassBuilderOptionsRef Options);
0052
0053
0054
0055
0056
0057
0058
0059 LLVMErrorRef LLVMRunPassesOnFunction(LLVMValueRef F, const char *Passes,
0060 LLVMTargetMachineRef TM,
0061 LLVMPassBuilderOptionsRef Options);
0062
0063
0064
0065
0066
0067
0068
0069
0070 LLVMPassBuilderOptionsRef LLVMCreatePassBuilderOptions(void);
0071
0072
0073
0074
0075
0076 void LLVMPassBuilderOptionsSetVerifyEach(LLVMPassBuilderOptionsRef Options,
0077 LLVMBool VerifyEach);
0078
0079
0080
0081
0082 void LLVMPassBuilderOptionsSetDebugLogging(LLVMPassBuilderOptionsRef Options,
0083 LLVMBool DebugLogging);
0084
0085
0086
0087
0088
0089
0090 void LLVMPassBuilderOptionsSetAAPipeline(LLVMPassBuilderOptionsRef Options,
0091 const char *AAPipeline);
0092
0093 void LLVMPassBuilderOptionsSetLoopInterleaving(
0094 LLVMPassBuilderOptionsRef Options, LLVMBool LoopInterleaving);
0095
0096 void LLVMPassBuilderOptionsSetLoopVectorization(
0097 LLVMPassBuilderOptionsRef Options, LLVMBool LoopVectorization);
0098
0099 void LLVMPassBuilderOptionsSetSLPVectorization(
0100 LLVMPassBuilderOptionsRef Options, LLVMBool SLPVectorization);
0101
0102 void LLVMPassBuilderOptionsSetLoopUnrolling(LLVMPassBuilderOptionsRef Options,
0103 LLVMBool LoopUnrolling);
0104
0105 void LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll(
0106 LLVMPassBuilderOptionsRef Options, LLVMBool ForgetAllSCEVInLoopUnroll);
0107
0108 void LLVMPassBuilderOptionsSetLicmMssaOptCap(LLVMPassBuilderOptionsRef Options,
0109 unsigned LicmMssaOptCap);
0110
0111 void LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap(
0112 LLVMPassBuilderOptionsRef Options, unsigned LicmMssaNoAccForPromotionCap);
0113
0114 void LLVMPassBuilderOptionsSetCallGraphProfile(
0115 LLVMPassBuilderOptionsRef Options, LLVMBool CallGraphProfile);
0116
0117 void LLVMPassBuilderOptionsSetMergeFunctions(LLVMPassBuilderOptionsRef Options,
0118 LLVMBool MergeFunctions);
0119
0120 void LLVMPassBuilderOptionsSetInlinerThreshold(
0121 LLVMPassBuilderOptionsRef Options, int Threshold);
0122
0123
0124
0125
0126 void LLVMDisposePassBuilderOptions(LLVMPassBuilderOptionsRef Options);
0127
0128
0129
0130
0131
0132 LLVM_C_EXTERN_C_END
0133
0134 #endif