LLVM 22.0.0git
Hexagon.h
Go to the documentation of this file.
1//=-- Hexagon.h - Top-level interface for Hexagon 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// Hexagon back-end.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGON_H
15#define LLVM_LIB_TARGET_HEXAGON_HEXAGON_H
16
18
19namespace llvm {
21class ImmutablePass;
22class PassRegistry;
23class FunctionPass;
24class Pass;
25
26extern char &HexagonCopyHoistingID;
27extern char &HexagonExpandCondsetsID;
28extern char &HexagonTfrCleanupID;
69
72
73/// Creates a Hexagon-specific Target Transformation Info pass.
76
95 CodeGenOptLevel OptLevel);
115
116} // end namespace llvm;
117
118#endif
FunctionPass class - This class is used to implement most global optimizations.
Definition Pass.h:314
ImmutablePass class - This class is used to provide information that does not need to be run.
Definition Pass.h:285
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
Pass interface - Implemented by all 'passes'.
Definition Pass.h:99
This is an optimization pass for GlobalISel generic memory operations.
FunctionPass * createHexagonVectorPrint()
FunctionPass * createHexagonCopyHoisting()
void initializeHexagonCopyHoistingPass(PassRegistry &)
FunctionPass * createHexagonVectorCombineLegacyPass()
void initializeHexagonOptAddrModePass(PassRegistry &)
void initializeHexagonNewValueJumpPass(PassRegistry &)
char & HexagonTfrCleanupID
FunctionPass * createHexagonCFGOptimizer()
void initializeHexagonSplitConst32AndConst64Pass(PassRegistry &)
void initializeHexagonVectorLoopCarriedReuseLegacyPassPass(PassRegistry &)
void initializeHexagonDAGToDAGISelLegacyPass(PassRegistry &)
void initializeHexagonSplitDoubleRegsPass(PassRegistry &)
void initializeHexagonCommonGEPPass(PassRegistry &)
FunctionPass * createHexagonMergeActivateWeight()
Pass * createHexagonLoopIdiomPass()
FunctionPass * createHexagonNewValueJump()
void initializeHexagonRDFOptPass(PassRegistry &)
FunctionPass * createHexagonBranchRelaxation()
FunctionPass * createHexagonLoopAlign()
FunctionPass * createHexagonBitSimplify()
FunctionPass * createHexagonPeephole()
FunctionPass * createHexagonExpandCondsets()
FunctionPass * createHexagonConstExtenders()
FunctionPass * createHexagonConstPropagationPass()
void initializeHexagonGenMemAbsolutePass(PassRegistry &)
FunctionPass * createHexagonFixupHwLoops()
void initializeHexagonMaskPass(PassRegistry &)
void initializeHexagonExpandCondsetsPass(PassRegistry &)
void initializeHexagonAsmPrinterPass(PassRegistry &)
void initializeHexagonVectorPrintPass(PassRegistry &)
FunctionPass * createHexagonMask()
void initializeHexagonPacketizerPass(PassRegistry &)
FunctionPass * createHexagonPacketizer(bool Minimal)
FunctionPass * createHexagonGenMux()
FunctionPass * createHexagonGenExtract()
FunctionPass * createHexagonEarlyIfConversion()
FunctionPass * createHexagonLoadWidening()
void initializeHexagonStoreWideningPass(PassRegistry &)
FunctionPass * createHexagonCallFrameInformation()
FunctionPass * createHexagonHardwareLoops()
void initializeHexagonGenPredicatePass(PassRegistry &)
void initializeHexagonTfrCleanupPass(PassRegistry &)
FunctionPass * createHexagonVExtract()
void initializeHexagonGenMuxPass(PassRegistry &)
void initializeHexagonFixupHwLoopsPass(PassRegistry &)
FunctionPass * createHexagonGenPredicate()
void initializeHexagonVectorCombineLegacyPass(PassRegistry &)
void initializeHexagonCFGOptimizerPass(PassRegistry &)
void initializeHexagonPeepholePass(PassRegistry &)
CodeGenOptLevel
Code generation optimization level.
Definition CodeGen.h:82
FunctionPass * createHexagonGenInsert()
void initializeHexagonBranchRelaxationPass(PassRegistry &)
FunctionPass * createHexagonOptimizeSZextends()
FunctionPass * createHexagonLoopRescheduling()
void initializeHexagonCallFrameInformationPass(PassRegistry &)
void initializeHexagonLoopReschedulingPass(PassRegistry &)
void initializeHexagonGenExtractPass(PassRegistry &)
FunctionPass * createHexagonSplitConst32AndConst64()
FunctionPass * createHexagonCopyToCombine()
FunctionPass * createHexagonCommonGEP()
FunctionPass * createHexagonISelDag(HexagonTargetMachine &TM, CodeGenOptLevel OptLevel)
createHexagonISelDag - This pass converts a legalized DAG into a Hexagon-specific DAG,...
char & HexagonExpandCondsetsID
void initializeHexagonLoadWideningPass(PassRegistry &)
FunctionPass * createHexagonOptAddrMode()
void initializeHexagonCopyToCombinePass(PassRegistry &)
void initializeHexagonEarlyIfConversionPass(PassRegistry &)
FunctionPass * createHexagonGenMemAbsolute()
void initializeHexagonLoopIdiomRecognizeLegacyPassPass(PassRegistry &)
ImmutablePass * createHexagonTargetTransformInfoPass(const HexagonTargetMachine *TM)
Creates a Hexagon-specific Target Transformation Info pass.
FunctionPass * createHexagonTfrCleanup()
FunctionPass * createHexagonSplitDoubleRegs()
void initializeHexagonOptimizeSZextendsPass(PassRegistry &)
void initializeHexagonBitSimplifyPass(PassRegistry &)
Pass * createHexagonVectorLoopCarriedReuseLegacyPass()
void initializeHexagonConstPropagationPass(PassRegistry &)
void initializeHexagonGenInsertPass(PassRegistry &)
void initializeHexagonConstExtendersPass(PassRegistry &)
FunctionPass * createHexagonStoreWidening()
void initializeHexagonLoopAlignPass(PassRegistry &)
void initializeHexagonMergeActivateWeightPass(PassRegistry &)
void initializeHexagonHardwareLoopsPass(PassRegistry &)
char & HexagonCopyHoistingID
FunctionPass * createHexagonRDFOpt()
void initializeHexagonVExtractPass(PassRegistry &)