|
LLVM 22.0.0git
|
#include "LegalizeTypes.h"#include "llvm/ADT/SmallBitVector.h"#include "llvm/Analysis/MemoryLocation.h"#include "llvm/Analysis/VectorUtils.h"#include "llvm/CodeGen/ISDOpcodes.h"#include "llvm/IR/DataLayout.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/TypeSize.h"#include "llvm/Support/raw_ostream.h"#include <numeric>#include "llvm/IR/ConstrainedOps.def"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "legalize-types" |
| #define | DAG_INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC, DAGN) |
| #define | DAG_INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC, DAGN) |
| #define | DAG_INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC, DAGN) |
Functions | |
| static SDValue | CollectOpsToWiden (SelectionDAG &DAG, const TargetLowering &TLI, SmallVectorImpl< SDValue > &ConcatOps, unsigned ConcatEnd, EVT VT, EVT MaxVT, EVT WidenVT) |
| static bool | isSETCCOp (unsigned Opcode) |
| static bool | isLogicalMaskOp (unsigned Opcode) |
| static EVT | getSETCCOperandType (SDValue N) |
| static bool | isSETCCorConvertedSETCC (SDValue N) |
| static unsigned | getExtendForIntVecReduction (unsigned Opc) |
| static std::optional< 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 DAG_INSTRUCTION | ( | NAME, | |
| NARG, | |||
| ROUND_MODE, | |||
| INTRINSIC, | |||
| DAGN ) |
| #define DAG_INSTRUCTION | ( | NAME, | |
| NARG, | |||
| ROUND_MODE, | |||
| INTRINSIC, | |||
| DAGN ) |
| #define DAG_INSTRUCTION | ( | NAME, | |
| NARG, | |||
| ROUND_MODE, | |||
| INTRINSIC, | |||
| DAGN ) |
| #define DEBUG_TYPE "legalize-types" |
Definition at line 35 of file LegalizeVectorTypes.cpp.
|
static |
Definition at line 8125 of file LegalizeVectorTypes.cpp.
References llvm::SelectionDAG::getContext(), llvm::SelectionDAG::getInsertVectorElt(), llvm::SelectionDAG::getNode(), llvm::EVT::getSizeInBits(), llvm::EVT::getVectorVT(), and llvm::ISD::SCALAR_TO_VECTOR.
|
static |
Definition at line 5236 of file LegalizeVectorTypes.cpp.
References AbstractManglingParser< Derived, Alloc >::NumOps, llvm::ArrayRef(), llvm::ISD::CONCAT_VECTORS, llvm::SmallVectorTemplateCommon< T, typename >::data(), llvm::SelectionDAG::getContext(), llvm::SelectionDAG::getInsertVectorElt(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getUNDEF(), getValueType(), llvm::EVT::getVectorElementType(), llvm::EVT::getVectorNumElements(), llvm::EVT::getVectorVT(), llvm::TargetLoweringBase::isTypeLegal(), llvm::EVT::isVector(), and OpIdx.
|
static |
Definition at line 8055 of file LegalizeVectorTypes.cpp.
References llvm::SelectionDAG::getContext(), llvm::EVT::getFixedSizeInBits(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getKnownMinValue(), llvm::EVT::getSizeInBits(), llvm::TargetLoweringBase::getTypeAction(), llvm::EVT::getVectorElementType(), llvm::MVT::integer_valuetypes(), llvm::isPowerOf2_32(), llvm::EVT::isScalableVector(), llvm::reverse(), llvm::TargetLoweringBase::TypeLegal, llvm::TargetLoweringBase::TypePromoteInteger, and llvm::MVT::vector_valuetypes().
Definition at line 7884 of file LegalizeVectorTypes.cpp.
References llvm::ISD::ANY_EXTEND, llvm_unreachable, Opc, llvm::ISD::SIGN_EXTEND, and llvm::ISD::ZERO_EXTEND.
Definition at line 6586 of file LegalizeVectorTypes.cpp.
References N.
Definition at line 6574 of file LegalizeVectorTypes.cpp.
References llvm::ISD::AND, llvm::ISD::OR, and llvm::ISD::XOR.
Referenced by isSETCCorConvertedSETCC().
Definition at line 6563 of file LegalizeVectorTypes.cpp.
References llvm::ISD::SETCC, llvm::ISD::STRICT_FSETCC, and llvm::ISD::STRICT_FSETCCS.
Referenced by isSETCCorConvertedSETCC().
Definition at line 6594 of file LegalizeVectorTypes.cpp.
References llvm::ISD::CONCAT_VECTORS, llvm::ISD::EXTRACT_SUBVECTOR, llvm::ISD::isBuildVectorOfConstantSDNodes(), isLogicalMaskOp(), isSETCCOp(), isSETCCorConvertedSETCC(), N, llvm::ISD::SIGN_EXTEND, and llvm::ISD::TRUNCATE.
Referenced by isSETCCorConvertedSETCC().