File indexing completed on 2026-05-10 08:44:40
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef LLVM_TRANSFORMS_IPO_EXPANDVARIADICS_H
0009 #define LLVM_TRANSFORMS_IPO_EXPANDVARIADICS_H
0010
0011 #include "llvm/IR/PassManager.h"
0012
0013 namespace llvm {
0014
0015 class Module;
0016 class ModulePass;
0017 class OptimizationLevel;
0018
0019 enum class ExpandVariadicsMode {
0020 Unspecified,
0021 Disable,
0022 Optimize,
0023 Lowering,
0024 };
0025
0026 class ExpandVariadicsPass : public PassInfoMixin<ExpandVariadicsPass> {
0027 const ExpandVariadicsMode Mode;
0028
0029 public:
0030
0031 ExpandVariadicsPass(ExpandVariadicsMode Mode);
0032
0033 PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
0034 };
0035
0036 ModulePass *createExpandVariadicsPass(ExpandVariadicsMode);
0037
0038 }
0039
0040 #endif