1//===- CodeGenPrepare.h -----------------------------------------*- C++ -*-===//
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/// \file
9///
10/// Defines an IR pass for CodeGen Prepare.
11///
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_CODEGEN_PREPARE_H
15#define LLVM_CODEGEN_PREPARE_H
16
17#include "llvm/IR/PassManager.h"
18
19namespace llvm {
20
21class Function;
22class TargetMachine;
23
24class CodeGenPreparePass : public PassInfoMixin<CodeGenPreparePass> {
25private:
26 const TargetMachine *TM;
27
28public:
29 CodeGenPreparePass(const TargetMachine *TM) : TM(TM) {}
30 PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
31};
32
33} // end namespace llvm
34
35#endif // LLVM_CODEGEN_PREPARE_H
36

source code of llvm/include/llvm/CodeGen/CodeGenPrepare.h