LLVM 22.0.0git
LegalizeVectorTypes.cpp File Reference
#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< EVTfindMemType (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)

Macro Definition Documentation

◆ DAG_INSTRUCTION [1/3]

#define DAG_INSTRUCTION ( NAME,
NARG,
ROUND_MODE,
INTRINSIC,
DAGN )
Value:
case ISD::STRICT_##DAGN:

◆ DAG_INSTRUCTION [2/3]

#define DAG_INSTRUCTION ( NAME,
NARG,
ROUND_MODE,
INTRINSIC,
DAGN )
Value:
case ISD::STRICT_##DAGN:

◆ DAG_INSTRUCTION [3/3]

#define DAG_INSTRUCTION ( NAME,
NARG,
ROUND_MODE,
INTRINSIC,
DAGN )
Value:
case ISD::STRICT_##DAGN:

◆ DEBUG_TYPE

#define DEBUG_TYPE   "legalize-types"

Definition at line 35 of file LegalizeVectorTypes.cpp.

Function Documentation

◆ BuildVectorFromScalar()

◆ CollectOpsToWiden()

◆ findMemType()

◆ getExtendForIntVecReduction()

unsigned getExtendForIntVecReduction ( unsigned Opc)
static

◆ getSETCCOperandType()

EVT getSETCCOperandType ( SDValue N)
inlinestatic

Definition at line 6553 of file LegalizeVectorTypes.cpp.

References N.

◆ isLogicalMaskOp()

bool isLogicalMaskOp ( unsigned Opcode)
inlinestatic

Definition at line 6541 of file LegalizeVectorTypes.cpp.

References llvm::ISD::AND, llvm::ISD::OR, and llvm::ISD::XOR.

Referenced by isSETCCorConvertedSETCC().

◆ isSETCCOp()

bool isSETCCOp ( unsigned Opcode)
inlinestatic

◆ isSETCCorConvertedSETCC()