LLVM 23.0.0git
Lanai.h
Go to the documentation of this file.
1//===-- Lanai.h - Top-level interface for Lanai representation --*- 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//
9// This file contains the entry points for global functions defined in the LLVM
10// Lanai back-end.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_LIB_TARGET_LANAI_LANAI_H
15#define LLVM_LIB_TARGET_LANAI_LANAI_H
16
19#include "llvm/IR/Analysis.h"
20#include "llvm/IR/PassManager.h"
21#include "llvm/Pass.h"
22
23namespace llvm {
24class FunctionPass;
26class PassRegistry;
27
28// createLanaiISelDagPass - This pass converts a legalized DAG into a
29// Lanai-specific DAG, ready for instruction scheduling.
34
36
37// createLanaiDelaySlotFillerPass - This pass fills delay slots
38// with useful instructions or nop's
40 : public PassInfoMixin<LanaiDelaySlotFillerPass> {
41public:
44};
45
48
49// createLanaiMemAluCombinerPass - This pass combines loads/stores and
50// arithmetic operations.
51class LanaiMemAluCombinerPass : public PassInfoMixin<LanaiMemAluCombinerPass> {
52public:
55};
56
58
62
63} // namespace llvm
64
65#endif // LLVM_LIB_TARGET_LANAI_LANAI_H
This header defines various interfaces for pass management in LLVM.
FunctionPass class - This class is used to implement most global optimizations.
Definition Pass.h:314
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
LanaiISelDAGToDAGPass(LanaiTargetMachine &TM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
A set of analyses that are preserved following a run of a transformation pass.
Definition Analysis.h:112
SelectionDAGISelPass(std::unique_ptr< SelectionDAGISel > Selector)
Pass manager infrastructure for declaring and invalidating analyses.
This is an optimization pass for GlobalISel generic memory operations.
FunctionPass * createLanaiMemAluCombinerLegacyPass()
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
FunctionPass * createLanaiDelaySlotFillerLegacyPass(const LanaiTargetMachine &TM)
void initializeLanaiDAGToDAGISelLegacyPass(PassRegistry &)
void initializeLanaiMemAluCombinerLegacyPass(PassRegistry &)
FunctionPass * createLanaiISelDagLegacyPass(LanaiTargetMachine &TM)
void initializeLanaiAsmPrinterPass(PassRegistry &)
A CRTP mix-in to automatically provide informational APIs needed for passes.
Definition PassManager.h:89