LLVM 24.0.0git
XCore.h
Go to the documentation of this file.
1//===-- XCore.h - Top-level interface for XCore 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// XCore back-end.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_LIB_TARGET_XCORE_XCORE_H
15#define LLVM_LIB_TARGET_XCORE_XCORE_H
16
20#include "llvm/IR/Analysis.h"
21#include "llvm/IR/PassManager.h"
22#include "llvm/PassRegistry.h"
25
26namespace llvm {
27class FunctionPass;
28class ModulePass;
29class PassRegistry;
30class TargetMachine;
32
34
36 : public RequiredPassInfoMixin<XCoreFrameToArgsOffsetEliminationPass> {
37public:
40};
41
43
48
50 CodeGenOptLevel OptLevel);
51
53 : public RequiredPassInfoMixin<XCoreLowerThreadLocalPass> {
54public:
56};
57
61
62} // namespace llvm
63
64#endif
This header defines various interfaces for pass management in LLVM.
ModuleAnalysisManager MAM
FunctionPass class - This class is used to implement most global optimizations.
Definition Pass.h:312
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
Definition Pass.h:253
A Module instance is used to store all the information related to an LLVM module.
Definition Module.h:68
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)
Primary interface to the complete machine description for the target machine.
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
XCoreISelDAGToDAGPass(XCoreTargetMachine &TM, CodeGenOptLevel OptLevel)
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
Pass manager infrastructure for declaring and invalidating analyses.
This is an optimization pass for GlobalISel generic memory operations.
FunctionPass * createXCoreFrameToArgsOffsetEliminationLegacyPass()
createXCoreFrameToArgsOffsetEliminationPass - returns an instance of the Frame to args offset elimina...
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
void initializeXCoreDAGToDAGISelLegacyPass(PassRegistry &)
FunctionPass * createXCoreISelDagLegacyPass(XCoreTargetMachine &TM, CodeGenOptLevel OptLevel)
createXCoreISelDagLegacyPass - This pass converts a legalized DAG into a XCore-specific DAG,...
ModulePass * createXCoreLowerThreadLocalLegacyPass()
CodeGenOptLevel
Code generation optimization level.
Definition CodeGen.h:280
void initializeXCoreAsmPrinterPass(PassRegistry &)
void initializeXCoreLowerThreadLocalLegacyPass(PassRegistry &p)
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
Definition MIRParser.h:39
A CRTP mix-in for passes that should not be skipped.