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 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

◆ getSETCCOperandType()

static EVT getSETCCOperandType ( SDValue  N)
inlinestatic

Definition at line 6009 of file LegalizeVectorTypes.cpp.

References N.

◆ isLogicalMaskOp()

static bool isLogicalMaskOp ( unsigned  Opcode)
inlinestatic

Definition at line 5997 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