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