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.