|
LLVM
8.0.1
|

Public Member Functions | |
| HvxSelector (HexagonDAGToDAGISel &HS, SelectionDAG &G) | |
| MVT | getSingleVT (MVT ElemTy) const |
| MVT | getPairVT (MVT ElemTy) const |
| void | selectShuffle (SDNode *N) |
| void | selectRor (SDNode *N) |
| void | selectVAlign (SDNode *N) |
Public Attributes | |
| const HexagonTargetLowering & | Lower |
| HexagonDAGToDAGISel & | ISel |
| SelectionDAG & | DAG |
| const HexagonSubtarget & | HST |
| const unsigned | HwLen |
Definition at line 805 of file HexagonISelDAGToDAGHVX.cpp.
|
inline |
Definition at line 812 of file HexagonISelDAGToDAGHVX.cpp.
Referenced by selectVAlign().
Definition at line 821 of file HexagonISelDAGToDAGHVX.cpp.
References llvm::concat(), llvm::Data, llvm::MVT::getSizeInBits(), llvm::MVT::getVectorVT(), HwLen, llvm::BitmaskEnumDetail::Mask(), N, llvm::None, Results, selectRor(), selectShuffle(), and selectVAlign().
Definition at line 816 of file HexagonISelDAGToDAGHVX.cpp.
References llvm::MVT::getSizeInBits(), and llvm::MVT::getVectorVT().
| void HvxSelector::selectRor | ( | SDNode * | N | ) |
Definition at line 2077 of file HexagonISelDAGToDAGHVX.cpp.
References C, DAG, llvm::SelectionDAG::getMachineNode(), llvm::SDValue::getNode(), llvm::SDNode::getOperand(), llvm::EVT::getSimpleVT(), llvm::SelectionDAG::getTargetConstant(), llvm::SDNode::getValueType(), llvm::HexagonSubtarget::getVectorLength(), HST, llvm::MVT::i32, ISel, and llvm::SelectionDAGISel::ReplaceNode().
Referenced by getPairVT().
| void HvxSelector::selectShuffle | ( | SDNode * | N | ) |
Definition at line 2002 of file HexagonISelDAGToDAGHVX.cpp.
References assert(), DAG, llvm::dbgs(), DEBUG_WITH_TYPE, llvm::SDNode::dump(), llvm::SDValue::getNode(), llvm::SDNode::getOperand(), llvm::EVT::getSimpleVT(), llvm::SDNode::getValueType(), HwLen, I, llvm::MVT::i8, ISel, llvm_unreachable, llvm::BitmaskEnumDetail::Mask(), N, llvm::SelectionDAGISel::ReplaceNode(), and Results.
Referenced by getPairVT().
| void HvxSelector::selectVAlign | ( | SDNode * | N | ) |
Definition at line 2102 of file HexagonISelDAGToDAGHVX.cpp.
References DAG, llvm::SelectionDAG::getMachineNode(), llvm::SDNode::getOperand(), llvm::SDNode::getValueType(), HvxSelector(), ISel, llvm::SelectionDAG::RemoveDeadNode(), and llvm::SelectionDAGISel::ReplaceNode().
Referenced by getPairVT().
| SelectionDAG& llvm::HvxSelector::DAG |
Definition at line 808 of file HexagonISelDAGToDAGHVX.cpp.
Referenced by isPermutation(), selectRor(), selectShuffle(), and selectVAlign().
| const HexagonSubtarget& llvm::HvxSelector::HST |
Definition at line 809 of file HexagonISelDAGToDAGHVX.cpp.
Referenced by selectRor().
Definition at line 810 of file HexagonISelDAGToDAGHVX.cpp.
Referenced by getPairVT(), and selectShuffle().
| HexagonDAGToDAGISel& llvm::HvxSelector::ISel |
Definition at line 807 of file HexagonISelDAGToDAGHVX.cpp.
Referenced by isPermutation(), selectRor(), selectShuffle(), and selectVAlign().
| const HexagonTargetLowering& llvm::HvxSelector::Lower |
Definition at line 806 of file HexagonISelDAGToDAGHVX.cpp.
1.8.13