LLVM
8.0.1
|
#include "LegalizeTypes.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "legalize-types" |
Functions | |
static SDValue | CollectOpsToWiden (SelectionDAG &DAG, const TargetLowering &TLI, SmallVectorImpl< SDValue > &ConcatOps, unsigned ConcatEnd, EVT VT, EVT MaxVT, EVT WidenVT) |
static bool | isLogicalMaskOp (unsigned Opcode) |
static bool | isSETCCorConvertedSETCC (SDValue N) |
static EVT | FindMemType (SelectionDAG &DAG, const TargetLowering &TLI, unsigned Width, EVT WidenVT, unsigned Align=0, unsigned WidenEx=0) |
static SDValue | BuildVectorFromScalar (SelectionDAG &DAG, EVT VecTy, SmallVectorImpl< SDValue > &LdOps, unsigned Start, unsigned End) |
#define DEBUG_TYPE "legalize-types" |
Definition at line 29 of file LegalizeVectorTypes.cpp.
|
static |
Definition at line 4133 of file LegalizeVectorTypes.cpp.
|
static |
Definition at line 2583 of file LegalizeVectorTypes.cpp.
References llvm::ISD::ANY_EXTEND, llvm::ISD::ANY_EXTEND_VECTOR_INREG, assert(), llvm::ISD::BITCAST, llvm::EVT::bitsEq(), llvm::TargetLoweringBase::canOpTrap(), llvm::ISD::CONCAT_VECTORS, llvm::SmallVectorTemplateCommon< T >::data(), llvm::ISD::EXTRACT_SUBVECTOR, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::MaskedLoadSDNode::getBasePtr(), llvm::MaskedGatherScatterSDNode::getBasePtr(), llvm::SelectionDAG::getBuildVector(), llvm::MemSDNode::getChain(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getContext(), llvm::SelectionDAG::getDataLayout(), llvm::LoadSDNode::getExtensionType(), llvm::MaskedLoadSDNode::getExtensionType(), llvm::SDNode::getFlags(), llvm::MaskedGatherScatterSDNode::getIndex(), llvm::MaskedLoadSDNode::getMask(), llvm::MaskedGatherScatterSDNode::getMask(), llvm::SelectionDAG::getMaskedGather(), llvm::SelectionDAG::getMaskedLoad(), llvm::MemSDNode::getMemOperand(), llvm::MemSDNode::getMemoryVT(), llvm::SelectionDAG::getNode(), llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), llvm::MaskedLoadSDNode::getPassThru(), llvm::MaskedGatherSDNode::getPassThru(), llvm::EVT::getScalarType(), llvm::MaskedGatherScatterSDNode::getScale(), llvm::EVT::getSizeInBits(), llvm::TargetLoweringBase::getTypeToTransformTo(), llvm::SelectionDAG::getUNDEF(), llvm::SDValue::getValue(), llvm::SDValue::getValueType(), llvm::SelectionDAG::getValueType(), llvm::SDNode::getValueType(), llvm::EVT::getVectorElementType(), llvm::TargetLoweringBase::getVectorIdxTy(), llvm::EVT::getVectorNumElements(), llvm::SelectionDAG::getVectorShuffle(), llvm::EVT::getVectorVT(), llvm::SelectionDAG::getVTList(), llvm::ISD::INSERT_VECTOR_ELT, llvm::MaskedLoadSDNode::isExpandingLoad(), llvm::TargetLoweringBase::isTypeLegal(), llvm::SDValue::isUndef(), llvm::EVT::isVector(), llvm_unreachable, llvm::makeArrayRef(), llvm::BitmaskEnumDetail::Mask(), N, llvm::ISD::NON_EXTLOAD, llvm::SDNode::op_begin(), llvm::SDNode::op_end(), llvm::MVT::Other, llvm::SmallVectorTemplateBase< T >::push_back(), llvm::ISD::SCALAR_TO_VECTOR, llvm::ISD::SIGN_EXTEND, llvm::ISD::SIGN_EXTEND_VECTOR_INREG, llvm::SmallVectorBase::size(), llvm::ISD::TokenFactor, llvm::TargetLoweringBase::TypeExpandFloat, llvm::TargetLoweringBase::TypeExpandInteger, llvm::TargetLoweringBase::TypeLegal, llvm::TargetLoweringBase::TypePromoteFloat, llvm::TargetLoweringBase::TypePromoteInteger, llvm::TargetLoweringBase::TypeScalarizeVector, llvm::TargetLoweringBase::TypeSoftenFloat, llvm::TargetLoweringBase::TypeSplitVector, llvm::TargetLoweringBase::TypeWidenVector, llvm::SelectionDAG::UnrollVectorOp(), llvm::MVT::x86mmx, llvm::ISD::ZERO_EXTEND, and llvm::ISD::ZERO_EXTEND_VECTOR_INREG.
|
static |
Definition at line 4077 of file LegalizeVectorTypes.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Align, llvm::MVT::FIRST_INTEGER_VALUETYPE, llvm::MVT::FIRST_VECTOR_VALUETYPE, llvm::SelectionDAG::getContext(), llvm::EVT::getSizeInBits(), llvm::TargetLoweringBase::getTypeAction(), llvm::EVT::getVectorElementType(), llvm::isPowerOf2_32(), llvm::TargetLoweringBase::isTypeLegal(), llvm::MVT::LAST_INTEGER_VALUETYPE, llvm::MVT::LAST_VECTOR_VALUETYPE, llvm::TargetLoweringBase::TypeLegal, and llvm::TargetLoweringBase::TypePromoteInteger.
Definition at line 3357 of file LegalizeVectorTypes.cpp.
References llvm::ISD::AND, llvm::ISD::OR, and llvm::ISD::XOR.
Referenced by isSETCCorConvertedSETCC().
Definition at line 3370 of file LegalizeVectorTypes.cpp.
References llvm::ISD::ANY_EXTEND, llvm::ISD::ANY_EXTEND_VECTOR_INREG, assert(), llvm::ISD::BITCAST, llvm::EVT::changeVectorElementTypeToInteger(), llvm::ISD::CONCAT_VECTORS, llvm::dbgs(), llvm::SDNode::dump(), llvm::ISD::EXTRACT_SUBVECTOR, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::ISD::FCOPYSIGN, llvm::MVT::FIRST_VECTOR_VALUETYPE, llvm::ISD::FP_EXTEND, llvm::ISD::FP_TO_SINT, llvm::ISD::FP_TO_UINT, llvm::MaskedStoreSDNode::getBasePtr(), llvm::MaskedGatherScatterSDNode::getBasePtr(), llvm::SelectionDAG::getBuildVector(), llvm::MemSDNode::getChain(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getContext(), llvm::SelectionDAG::getDataLayout(), llvm::EVT::getHalfNumVectorElementsVT(), llvm::MaskedGatherScatterSDNode::getIndex(), llvm::MaskedStoreSDNode::getMask(), llvm::MaskedGatherScatterSDNode::getMask(), llvm::SelectionDAG::getMaskedGather(), llvm::SelectionDAG::getMaskedScatter(), llvm::SelectionDAG::getMaskedStore(), llvm::ShuffleVectorSDNode::getMaskElt(), llvm::MemSDNode::getMemOperand(), llvm::MemSDNode::getMemoryVT(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDNode::getNumOperands(), llvm::SDNode::getNumValues(), llvm::SDValue::getOpcode(), llvm::SDNode::getOpcode(), llvm::SDValue::getOperand(), llvm::SDNode::getOperand(), llvm::EVT::getScalarSizeInBits(), llvm::EVT::getScalarType(), llvm::MaskedGatherScatterSDNode::getScale(), llvm::TargetLoweringBase::getSetCCResultType(), llvm::EVT::getSizeInBits(), llvm::TargetLoweringBase::getTypeAction(), llvm::TargetLoweringBase::getTypeToTransformTo(), llvm::SelectionDAG::getUNDEF(), llvm::SDValue::getValue(), llvm::MaskedStoreSDNode::getValue(), llvm::MaskedScatterSDNode::getValue(), llvm::SDValue::getValueType(), llvm::SDNode::getValueType(), llvm::EVT::getVectorElementType(), llvm::TargetLoweringBase::getVectorIdxTy(), llvm::EVT::getVectorNumElements(), llvm::SelectionDAG::getVectorShuffle(), llvm::EVT::getVectorVT(), llvm::SelectionDAG::getVTList(), llvm::MVT::i1, llvm::ISD::INSERT_SUBVECTOR, llvm::ISD::isBuildVectorOfConstantSDNodes(), llvm::EVT::isByteSized(), llvm::MaskedStoreSDNode::isCompressingStore(), llvm::EVT::isInteger(), isLogicalMaskOp(), llvm::isPowerOf2_64(), llvm::StoreSDNode::isTruncatingStore(), llvm::TargetLoweringBase::isTypeLegal(), llvm::SDValue::isUndef(), llvm::SDNode::isUndef(), llvm::EVT::isVector(), llvm::MVT::LAST_VECTOR_VALUETYPE, LLVM_DEBUG, llvm_unreachable, llvm::BitmaskEnumDetail::Mask(), llvm::ISD::MGATHER, llvm::ISD::MSCATTER, llvm::ISD::MSTORE, N, llvm::MVT::Other, llvm::SmallVectorTemplateBase< T >::push_back(), llvm::TargetLowering::scalarizeVectorStore(), llvm::ISD::SELECT_CC, llvm::ISD::SETCC, llvm::ISD::SIGN_EXTEND, llvm::ISD::SIGN_EXTEND_VECTOR_INREG, llvm::ISD::SINT_TO_FP, Size, llvm::SmallVectorBase::size(), llvm::ARM_MB::ST, llvm::ISD::STORE, llvm::ISD::TokenFactor, llvm::ISD::TRUNCATE, llvm::TargetLoweringBase::TypeLegal, llvm::TargetLoweringBase::TypeSplitVector, llvm::TargetLoweringBase::TypeWidenVector, llvm::ISD::UINT_TO_FP, llvm::SelectionDAG::UnrollVectorOp(), llvm::ISD::VSELECT, llvm::MVT::x86mmx, llvm::ISD::ZERO_EXTEND, and llvm::ISD::ZERO_EXTEND_VECTOR_INREG.