LLVM 24.0.0git
IfConversion.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_CODEGEN_IFCONVERSION_H
10#define LLVM_CODEGEN_IFCONVERSION_H
11
14#include "llvm/IR/Analysis.h"
15#include "llvm/IR/PassManager.h"
16
17namespace llvm {
18
19class IfConverterPass : public OptionalPassInfoMixin<IfConverterPass> {
20 std::function<bool(const MachineFunction &)> PredicateFtor;
21
22public:
23 IfConverterPass(std::function<bool(const MachineFunction &)> Ftor = nullptr)
24 : PredicateFtor(Ftor) {}
27};
28
29} // namespace llvm
30
31#endif // LLVM_CODEGEN_IFCONVERSION_H
#define LLVM_ABI
Definition Compiler.h:211
This header defines various interfaces for pass management in LLVM.
IfConverterPass(std::function< bool(const MachineFunction &)> Ftor=nullptr)
LLVM_ABI PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
A set of analyses that are preserved following a run of a transformation pass.
Definition Analysis.h:112
Pass manager infrastructure for declaring and invalidating analyses.
This is an optimization pass for GlobalISel generic memory operations.
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
A CRTP mix-in for passes that can be skipped.