LLVM 20.0.0git
Macros | Functions
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)    case ISD::STRICT_##DAGN:
 
#define DAG_INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC, DAGN)    case ISD::STRICT_##DAGN:
 
#define DAG_INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC, DAGN)    case ISD::STRICT_##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 
)     case ISD::STRICT_##DAGN:

◆ DAG_INSTRUCTION [2/3]

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

◆ DAG_INSTRUCTION [3/3]

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

◆ DEBUG_TYPE

#define DEBUG_TYPE   "legalize-types"

Definition at line 35 of file LegalizeVectorTypes.cpp.

Function Documentation

◆ BuildVectorFromScalar()

static SDValue BuildVectorFromScalar ( SelectionDAG DAG,
EVT  VecTy,
SmallVectorImpl< SDValue > &  LdOps,
unsigned  Start,
unsigned  End 
)
static

◆ CollectOpsToWiden()

static SDValue CollectOpsToWiden ( SelectionDAG DAG,
const TargetLowering TLI,
SmallVectorImpl< SDValue > &  ConcatOps,
unsigned  ConcatEnd,
EVT  VT,
EVT  MaxVT,
EVT  WidenVT 
)
static

◆ findMemType()

static std::optional< EVT > findMemType ( SelectionDAG DAG,
const TargetLowering TLI,
unsigned  Width,
EVT  WidenVT,
unsigned  Align = 0,
unsigned  WidenEx = 0 
)
static

◆ getExtendForIntVecReduction()

static unsigned getExtendForIntVecReduction ( unsigned  Opc)
static

◆ getSETCCOperandType()

static EVT getSETCCOperandType ( SDValue  N)
inlinestatic

Definition at line 6151 of file LegalizeVectorTypes.cpp.

References N.

◆ isLogicalMaskOp()

static bool isLogicalMaskOp ( unsigned  Opcode)
inlinestatic

Definition at line 6139 of file LegalizeVectorTypes.cpp.

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

Referenced by isSETCCorConvertedSETCC().

◆ isSETCCOp()

static bool isSETCCOp ( unsigned  Opcode)
inlinestatic

◆ isSETCCorConvertedSETCC()

static bool isSETCCorConvertedSETCC ( SDValue  N)
inlinestatic