LLVM 19.0.0git
Namespaces | Macros | Functions | Variables
HexagonLoopAlign.cpp File Reference
#include "HexagonTargetMachine.h"
#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"
#include "llvm/CodeGen/MachineBranchProbabilityInfo.h"
#include "llvm/CodeGen/SchedulerRegistry.h"
#include "llvm/Support/Debug.h"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Macros

#define DEBUG_TYPE   "hexagon-loop-align"
 

Functions

FunctionPassllvm::createHexagonLoopAlign ()
 
void llvm::initializeHexagonLoopAlignPass (PassRegistry &)
 
 INITIALIZE_PASS (HexagonLoopAlign, "hexagon-loop-align", "Hexagon LoopAlign pass", false, false) FunctionPass *llvm
 

Variables

static cl::opt< boolDisableLoopAlign ("disable-hexagon-loop-align", cl::Hidden, cl::desc("Disable Hexagon loop alignment pass"))
 
static cl::opt< uint32_tHVXLoopAlignLimitUB ("hexagon-hvx-loop-align-limit-ub", cl::Hidden, cl::init(16), cl::desc("Set hexagon hvx loop upper bound align limit"))
 
static cl::opt< uint32_tTinyLoopAlignLimitUB ("hexagon-tiny-loop-align-limit-ub", cl::Hidden, cl::init(16), cl::desc("Set hexagon tiny-core loop upper bound align limit"))
 
static cl::opt< uint32_tLoopAlignLimitUB ("hexagon-loop-align-limit-ub", cl::Hidden, cl::init(8), cl::desc("Set hexagon loop upper bound align limit"))
 
static cl::opt< uint32_tLoopAlignLimitLB ("hexagon-loop-align-limit-lb", cl::Hidden, cl::init(4), cl::desc("Set hexagon loop lower bound align limit"))
 
static cl::opt< uint32_tLoopBndlAlignLimit ("hexagon-loop-bundle-align-limit", cl::Hidden, cl::init(4), cl::desc("Set hexagon loop align bundle limit"))
 
static cl::opt< uint32_tTinyLoopBndlAlignLimit ("hexagon-tiny-loop-bundle-align-limit", cl::Hidden, cl::init(8), cl::desc("Set hexagon tiny-core loop align bundle limit"))
 
static cl::opt< uint32_tLoopEdgeThreshold ("hexagon-loop-edge-threshold", cl::Hidden, cl::init(7500), cl::desc("Set hexagon loop align edge theshold"))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "hexagon-loop-align"

Definition at line 12 of file HexagonLoopAlign.cpp.

Function Documentation

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( HexagonLoopAlign  ,
"hexagon-loop-align"  ,
"Hexagon LoopAlign pass"  ,
false  ,
false   
)

Definition at line 209 of file HexagonLoopAlign.cpp.

Variable Documentation

◆ DisableLoopAlign

cl::opt< bool > DisableLoopAlign("disable-hexagon-loop-align", cl::Hidden, cl::desc("Disable Hexagon loop alignment pass")) ( "disable-hexagon-loop-align"  ,
cl::Hidden  ,
cl::desc("Disable Hexagon loop alignment pass")   
)
static

◆ HVXLoopAlignLimitUB

cl::opt< uint32_t > HVXLoopAlignLimitUB("hexagon-hvx-loop-align-limit-ub", cl::Hidden, cl::init(16), cl::desc("Set hexagon hvx loop upper bound align limit")) ( "hexagon-hvx-loop-align-limit-ub"  ,
cl::Hidden  ,
cl::init(16)  ,
cl::desc("Set hexagon hvx loop upper bound align limit")   
)
static

◆ LoopAlignLimitLB

cl::opt< uint32_t > LoopAlignLimitLB("hexagon-loop-align-limit-lb", cl::Hidden, cl::init(4), cl::desc("Set hexagon loop lower bound align limit")) ( "hexagon-loop-align-limit-lb"  ,
cl::Hidden  ,
cl::init(4)  ,
cl::desc("Set hexagon loop lower bound align limit")   
)
static

◆ LoopAlignLimitUB

cl::opt< uint32_t > LoopAlignLimitUB("hexagon-loop-align-limit-ub", cl::Hidden, cl::init(8), cl::desc("Set hexagon loop upper bound align limit")) ( "hexagon-loop-align-limit-ub"  ,
cl::Hidden  ,
cl::init(8)  ,
cl::desc("Set hexagon loop upper bound align limit")   
)
static

◆ LoopBndlAlignLimit

cl::opt< uint32_t > LoopBndlAlignLimit("hexagon-loop-bundle-align-limit", cl::Hidden, cl::init(4), cl::desc("Set hexagon loop align bundle limit")) ( "hexagon-loop-bundle-align-limit"  ,
cl::Hidden  ,
cl::init(4)  ,
cl::desc("Set hexagon loop align bundle limit")   
)
static

◆ LoopEdgeThreshold

cl::opt< uint32_t > LoopEdgeThreshold("hexagon-loop-edge-threshold", cl::Hidden, cl::init(7500), cl::desc("Set hexagon loop align edge theshold")) ( "hexagon-loop-edge-threshold"  ,
cl::Hidden  ,
cl::init(7500)  ,
cl::desc("Set hexagon loop align edge theshold")   
)
static

◆ TinyLoopAlignLimitUB

cl::opt< uint32_t > TinyLoopAlignLimitUB("hexagon-tiny-loop-align-limit-ub", cl::Hidden, cl::init(16), cl::desc("Set hexagon tiny-core loop upper bound align limit")) ( "hexagon-tiny-loop-align-limit-ub"  ,
cl::Hidden  ,
cl::init(16)  ,
cl::desc("Set hexagon tiny-core loop upper bound align limit")   
)
static

◆ TinyLoopBndlAlignLimit

cl::opt< uint32_t > TinyLoopBndlAlignLimit("hexagon-tiny-loop-bundle-align-limit", cl::Hidden, cl::init(8), cl::desc("Set hexagon tiny-core loop align bundle limit")) ( "hexagon-tiny-loop-bundle-align-limit"  ,
cl::Hidden  ,
cl::init(8)  ,
cl::desc("Set hexagon tiny-core loop align bundle limit")   
)
static