LLVM 20.0.0git
Namespaces | Macros | Functions | Variables
HexagonEarlyIfConv.cpp File Reference
#include "Hexagon.h"
#include "HexagonInstrInfo.h"
#include "HexagonSubtarget.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineBranchProbabilityInfo.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/Pass.h"
#include "llvm/Support/BranchProbability.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <iterator>

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-eif"
 

Functions

FunctionPassllvm::createHexagonEarlyIfConversion ()
 
void llvm::initializeHexagonEarlyIfConversionPass (PassRegistry &Registry)
 
 INITIALIZE_PASS (HexagonEarlyIfConversion, "hexagon-early-if", "Hexagon early if conversion", false, false) bool HexagonEarlyIfConversion
 

Variables

static cl::opt< boolEnableHexagonBP ("enable-hexagon-br-prob", cl::Hidden, cl::init(true), cl::desc("Enable branch probability info"))
 
static cl::opt< unsignedSizeLimit ("eif-limit", cl::init(6), cl::Hidden, cl::desc("Size limit in Hexagon early if-conversion"))
 
static cl::opt< boolSkipExitBranches ("eif-no-loop-exit", cl::init(false), cl::Hidden, cl::desc("Do not convert branches that may exit the loop"))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "hexagon-eif"

Definition at line 90 of file HexagonEarlyIfConv.cpp.

Function Documentation

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( HexagonEarlyIfConversion  ,
"hexagon-early-if"  ,
"Hexagon early if conversion"  ,
false  ,
false   
)

Definition at line 227 of file HexagonEarlyIfConv.cpp.

References B.

Variable Documentation

◆ EnableHexagonBP

cl::opt< bool > EnableHexagonBP("enable-hexagon-br-prob", cl::Hidden, cl::init(true), cl::desc("Enable branch probability info")) ( "enable-hexagon-br-prob"  ,
cl::Hidden  ,
cl::init(true ,
cl::desc("Enable branch probability info")   
)
static

◆ SizeLimit

cl::opt< unsigned > SizeLimit("eif-limit", cl::init(6), cl::Hidden, cl::desc("Size limit in Hexagon early if-conversion")) ( "eif-limit"  ,
cl::init(6)  ,
cl::Hidden  ,
cl::desc("Size limit in Hexagon early if-conversion")   
)
static

◆ SkipExitBranches

cl::opt< bool > SkipExitBranches("eif-no-loop-exit", cl::init(false), cl::Hidden, cl::desc("Do not convert branches that may exit the loop")) ( "eif-no-loop-exit"  ,
cl::init(false)  ,
cl::Hidden  ,
cl::desc("Do not convert branches that may exit the loop")   
)
static