LLVM: lib/Target/Hexagon/HexagonISelLowering.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "hexagon-lowering"
Functions
static bool CC_SkipOdd (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)
static SDValue CreateCopyOfByValArgument (SDValue Src, SDValue Dst, SDValue Chain, ISD::ArgFlagsTy Flags, SelectionDAG &DAG, const SDLoc &dl)
CreateCopyOfByValArgument - Make a copy of an aggregate at address specified by "Src" to address "Dst" of size "Size".
static bool isBrevLdIntrinsic (const Value *Inst)
static Value * getBrevLdObject (Value *V)
static Value * returnEdge (const PHINode *PN, Value *IntrBaseVal)
static Value * getUnderLyingObjectForBrevLdIntr (Value *V)
Variables
static cl::opt< bool > EmitJumpTables ("hexagon-emit-jump-tables", cl::init(true), cl::Hidden, cl::desc("Control jump table emission on Hexagon target"))
static cl::opt< bool > EnableHexSDNodeSched ("enable-hexagon-sdnode-sched", cl::Hidden, cl::desc("Enable Hexagon SDNode scheduling"))
static cl::opt< int > MinimumJumpTables ("minimum-jump-tables", cl::Hidden, cl::init(5), cl::desc("Set minimum jump tables"))
static cl::opt< int > MaxStoresPerMemcpyCL ("max-store-memcpy", cl::Hidden, cl::init(6), cl::desc("Max #stores to inline memcpy"))
static cl::opt< int > MaxStoresPerMemcpyOptSizeCL ("max-store-memcpy-Os", cl::Hidden, cl::init(4), cl::desc("Max #stores to inline memcpy"))
static cl::opt< int > MaxStoresPerMemmoveCL ("max-store-memmove", cl::Hidden, cl::init(6), cl::desc("Max #stores to inline memmove"))
static cl::opt< int > MaxStoresPerMemmoveOptSizeCL ("max-store-memmove-Os", cl::Hidden, cl::init(4), cl::desc("Max #stores to inline memmove"))
static cl::opt< int > MaxStoresPerMemsetCL ("max-store-memset", cl::Hidden, cl::init(8), cl::desc("Max #stores to inline memset"))
static cl::opt< int > MaxStoresPerMemsetOptSizeCL ("max-store-memset-Os", cl::Hidden, cl::init(4), cl::desc("Max #stores to inline memset"))
static cl::opt< bool > ConstantLoadsToImm ("constant-loads-to-imm", cl::Hidden, cl::init(true), cl::desc("Convert constant loads to immediate values."))
static cl::opt< bool > AlignLoads ("hexagon-align-loads", cl::Hidden, cl::init(false), cl::desc("Rewrite unaligned loads as a pair of aligned loads"))
static cl::opt< bool > DisableArgsMinAlignment ("hexagon-disable-args-min-alignment", cl::Hidden, cl::init(false), cl::desc("Disable minimum alignment of 1 for " "arguments passed by value on stack"))

DEBUG_TYPE

#define DEBUG_TYPE "hexagon-lowering"

CC_SkipOdd()

CreateCopyOfByValArgument()

getBrevLdObject()

getUnderLyingObjectForBrevLdIntr()

Value * getUnderLyingObjectForBrevLdIntr ( Value * V) static

isBrevLdIntrinsic()

returnEdge()

AlignLoads

cl::opt< bool > AlignLoads("hexagon-align-loads", cl::Hidden, cl::init(false), cl::desc("Rewrite unaligned loads as a pair of aligned loads")) ( "hexagon-align-loads" , cl::Hidden , cl::init(false) , cl::desc("Rewrite unaligned loads as a pair of aligned loads") ) static

ConstantLoadsToImm

cl::opt< bool > ConstantLoadsToImm("constant-loads-to-imm", cl::Hidden, cl::init(true), cl::desc("Convert constant loads to immediate values.")) ( "constant-loads-to-imm" , cl::Hidden , cl::init(true) , cl::desc("Convert constant loads to immediate values.") ) static

DisableArgsMinAlignment

cl::opt< bool > DisableArgsMinAlignment("hexagon-disable-args-min-alignment", cl::Hidden, cl::init(false), cl::desc("Disable minimum alignment of 1 for " "arguments passed by value on stack")) ( "hexagon-disable-args-min-alignment" , cl::Hidden , cl::init(false) , cl::desc("Disable minimum alignment of 1 for " "arguments passed by value on stack") ) static

EmitJumpTables

cl::opt< bool > EmitJumpTables("hexagon-emit-jump-tables", cl::init(true), cl::Hidden, cl::desc("Control jump table emission on Hexagon target")) ( "hexagon-emit-jump-tables" , cl::init(true) , cl::Hidden , cl::desc("Control jump table emission on Hexagon target") ) static

EnableHexSDNodeSched

cl::opt< bool > EnableHexSDNodeSched("enable-hexagon-sdnode-sched", cl::Hidden, cl::desc("Enable Hexagon SDNode scheduling")) ( "enable-hexagon-sdnode-sched" , cl::Hidden , cl::desc("Enable Hexagon SDNode scheduling") ) static

MaxStoresPerMemcpyCL

MaxStoresPerMemcpyOptSizeCL

cl::opt< int > MaxStoresPerMemcpyOptSizeCL("max-store-memcpy-Os", cl::Hidden, cl::init(4), cl::desc("Max #stores to inline memcpy")) ( "max-store-memcpy-Os" , cl::Hidden , cl::init(4) , cl::desc("Max #stores to inline memcpy") ) static

MaxStoresPerMemmoveCL

MaxStoresPerMemmoveOptSizeCL

cl::opt< int > MaxStoresPerMemmoveOptSizeCL("max-store-memmove-Os", cl::Hidden, cl::init(4), cl::desc("Max #stores to inline memmove")) ( "max-store-memmove-Os" , cl::Hidden , cl::init(4) , cl::desc("Max #stores to inline memmove") ) static

MaxStoresPerMemsetCL

MaxStoresPerMemsetOptSizeCL

cl::opt< int > MaxStoresPerMemsetOptSizeCL("max-store-memset-Os", cl::Hidden, cl::init(4), cl::desc("Max #stores to inline memset")) ( "max-store-memset-Os" , cl::Hidden , cl::init(4) , cl::desc("Max #stores to inline memset") ) static

MinimumJumpTables

cl::opt< int > MinimumJumpTables("minimum-jump-tables", cl::Hidden, cl::init(5), cl::desc("Set minimum jump tables")) ( "minimum-jump-tables" , cl::Hidden , cl::init(5) , cl::desc("Set minimum jump tables") ) static