LLVM  8.0.1
Namespaces | Macros | Functions | Variables
HexagonConstExtenders.cpp File Reference
#include "HexagonInstrInfo.h"
#include "HexagonRegisterInfo.h"
#include "HexagonSubtarget.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Pass.h"
#include <map>
#include <set>
#include <utility>
#include <vector>
Include dependency graph for HexagonConstExtenders.cpp:

Go to the source code of this file.

Namespaces

 llvm
 This class represents lattice values for constants.
 

Macros

#define DEBUG_TYPE   "hexagon-cext-opt"
 

Functions

void llvm::initializeHexagonConstExtendersPass (PassRegistry &)
 
FunctionPassllvm::createHexagonConstExtenders ()
 
static int32_t adjustUp (int32_t V, uint8_t A, uint8_t O)
 
static int32_t adjustDown (int32_t V, uint8_t A, uint8_t O)
 
 INITIALIZE_PASS_BEGIN (HexagonConstExtenders, "hexagon-cext-opt", "Hexagon constant-extender optimization", false, false) INITIALIZE_PASS_END(HexagonConstExtenders
 

Variables

static cl::opt< unsignedCountThreshold ("hexagon-cext-threshold", cl::init(3), cl::Hidden, cl::ZeroOrMore, cl::desc("Minimum number of extenders to trigger replacement"))
 
static cl::opt< unsignedReplaceLimit ("hexagon-cext-limit", cl::init(0), cl::Hidden, cl::ZeroOrMore, cl::desc("Maximum number of replacements"))
 
hexagon cext opt
 
hexagon cext Hexagon constant extender optimization
 
hexagon cext Hexagon constant extender false
 
hexagon cext Hexagon constant extender static false unsigned ReplaceCounter = 0
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "hexagon-cext-opt"

Definition at line 26 of file HexagonConstExtenders.cpp.

Function Documentation

◆ adjustDown()

static int32_t adjustDown ( int32_t  V,
uint8_t  A,
uint8_t  O 
)
static

◆ adjustUp()

static int32_t adjustUp ( int32_t  V,
uint8_t  A,
uint8_t  O 
)
static

Definition at line 42 of file HexagonConstExtenders.cpp.

References assert(), and llvm::isPowerOf2_32().

Referenced by adjustDown().

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( HexagonConstExtenders  ,
"hexagon-cext-opt ,
"Hexagon constant-extender optimization ,
false  ,
false   
)

Variable Documentation

◆ CountThreshold

cl::opt<unsigned> CountThreshold("hexagon-cext-threshold", cl::init(3), cl::Hidden, cl::ZeroOrMore, cl::desc("Minimum number of extenders to trigger replacement"))
static

◆ false

hexagon cext Hexagon constant extender false

Definition at line 571 of file HexagonConstExtenders.cpp.

◆ opt

hexagon cext opt

Definition at line 571 of file HexagonConstExtenders.cpp.

Referenced by llvm::lto::backend(), and LLVMCreateTargetMachine().

◆ optimization

hexagon cext Hexagon constant extender optimization

Definition at line 571 of file HexagonConstExtenders.cpp.

◆ ReplaceCounter

hexagon cext Hexagon constant extender static false unsigned ReplaceCounter = 0
static

Definition at line 574 of file HexagonConstExtenders.cpp.

◆ ReplaceLimit

cl::opt<unsigned> ReplaceLimit("hexagon-cext-limit", cl::init(0), cl::Hidden, cl::ZeroOrMore, cl::desc("Maximum number of replacements"))
static