File indexing completed on 2026-05-10 08:44:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef LLVM_TRANSFORMS_INSTRUMENTATION_LOWERALLOWCHECKPASS_H
0015 #define LLVM_TRANSFORMS_INSTRUMENTATION_LOWERALLOWCHECKPASS_H
0016
0017 #include "llvm/IR/Function.h"
0018 #include "llvm/IR/PassManager.h"
0019 #include "llvm/Pass.h"
0020
0021 namespace llvm {
0022
0023
0024
0025 class LowerAllowCheckPass : public PassInfoMixin<LowerAllowCheckPass> {
0026 public:
0027 struct Options {
0028 std::vector<unsigned int> cutoffs;
0029 };
0030
0031 explicit LowerAllowCheckPass(LowerAllowCheckPass::Options Opts)
0032 : Opts(std::move(Opts)) {};
0033 PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
0034
0035 static bool IsRequested();
0036 void printPipeline(raw_ostream &OS,
0037 function_ref<StringRef(StringRef)> MapClassName2PassName);
0038
0039 private:
0040 LowerAllowCheckPass::Options Opts;
0041 };
0042
0043 }
0044
0045 #endif