class DAGTypeLegalizer

Declaration

class DAGTypeLegalizer { /* full declaration omitted */ };

Description

This takes an arbitrary SelectionDAG as input and hacks on it until only value types the target machine can handle are left. This involves promoting small sizes to large sizes or splitting up large values into small values.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:30

Member Variables

private const llvm::TargetLowering& TLI
private llvm::SelectionDAG& DAG
private TargetLowering::ValueTypeActionImpl ValueTypeActions
This is a bitvector that contains two bits for each simple value type, where the two bits correspond to the LegalizeAction enum from TargetLowering. This can be queried with "getTypeAction(VT)".
private llvm::DAGTypeLegalizer::TableId NextValueId = 1
private SmallDenseMap<llvm::SDValue, llvm::DAGTypeLegalizer::TableId, 8> ValueToIdMap
private SmallDenseMap<llvm::DAGTypeLegalizer::TableId, llvm::SDValue, 8> IdToValueMap
private SmallDenseMap<llvm::DAGTypeLegalizer::TableId, llvm::DAGTypeLegalizer::TableId, 8> PromotedIntegers
For integer nodes that are below legal width, this map indicates what promoted value to use.
private SmallDenseMap<llvm::DAGTypeLegalizer::TableId, std::pair<TableId, TableId>, 8> ExpandedIntegers
For integer nodes that need to be expanded this map indicates which operands are the expanded version of the input.
private SmallDenseMap<llvm::DAGTypeLegalizer::TableId, llvm::DAGTypeLegalizer::TableId, 8> SoftenedFloats
For floating-point nodes converted to integers of the same size, this map indicates the converted value to use.
private SmallDenseMap<llvm::DAGTypeLegalizer::TableId, llvm::DAGTypeLegalizer::TableId, 8> PromotedFloats
For floating-point nodes that have a smaller precision than the smallest supported precision, this map indicates what promoted value to use.
private SmallDenseMap<llvm::DAGTypeLegalizer::TableId, llvm::DAGTypeLegalizer::TableId, 8> SoftPromotedHalfs
For floating-point nodes that have a smaller precision than the smallest supported precision, this map indicates the converted value to use.
private SmallDenseMap<llvm::DAGTypeLegalizer::TableId, std::pair<TableId, TableId>, 8> ExpandedFloats
For float nodes that need to be expanded this map indicates which operands are the expanded version of the input.
private SmallDenseMap<llvm::DAGTypeLegalizer::TableId, llvm::DAGTypeLegalizer::TableId, 8> ScalarizedVectors
For nodes that are < 1 x ty>, this map indicates the scalar value of type 'ty' to use.
private SmallDenseMap<llvm::DAGTypeLegalizer::TableId, std::pair<TableId, TableId>, 8> SplitVectors
For nodes that need to be split this map indicates which operands are the expanded version of the input.
private SmallDenseMap<llvm::DAGTypeLegalizer::TableId, llvm::DAGTypeLegalizer::TableId, 8> WidenedVectors
For vector nodes that need to be widened, indicates the widened value to use.
private SmallDenseMap<llvm::DAGTypeLegalizer::TableId, llvm::DAGTypeLegalizer::TableId, 8> ReplacedValues
For values that have been replaced with another, indicates the replacement value to use.
private SmallVector<llvm::SDNode*, 128> Worklist
This defines a worklist of nodes to process. In order to be pushed onto this worklist, all operands of a node must have already been processed.

Method Overview

Methods

llvm::SDNode* AnalyzeNewNode(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:210

Parameters

llvm::SDNode* N

void AnalyzeNewValue(llvm::SDValue& Val)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:211

Parameters

llvm::SDValue& Val

llvm::SDValue BitConvertToInteger(
    llvm::SDValue Op)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:217

Parameters

llvm::SDValue Op

llvm::SDValue BitConvertVectorToIntegerVector(
    llvm::SDValue Op)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:218

Parameters

llvm::SDValue Op

llvm::SDValue BitcastToInt_ATOMIC_SWAP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:696

Parameters

llvm::SDNode* N

llvm::SDValue CreateStackStoreLoad(
    llvm::SDValue Op,
    llvm::EVT DestVT)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:219

Parameters

llvm::SDValue Op
llvm::EVT DestVT

bool CustomLowerNode(llvm::SDNode* N,
                     llvm::EVT VT,
                     bool LegalizeResult)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:220

Parameters

llvm::SDNode* N
llvm::EVT VT
bool LegalizeResult

bool CustomWidenLowerNode(llvm::SDNode* N,
                          llvm::EVT VT)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:221

Parameters

llvm::SDNode* N
llvm::EVT VT

DAGTypeLegalizer(llvm::SelectionDAG& dag)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:167

Parameters

llvm::SelectionDAG& dag

llvm::SDValue DisintegrateMERGE_VALUES(
    llvm::SDNode* N,
    unsigned int ResNo)

Description

Replace each result of the given MERGE_VALUES node with the corresponding input operand, except for the result 'ResNo', for which the corresponding input operand is returned.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:226

Parameters

llvm::SDNode* N
unsigned int ResNo

std::pair<SDValue, SDValue> ExpandAtomic(
    llvm::SDNode* Node)

Description

Lower an atomic node to the appropriate builtin call.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:230

Parameters

llvm::SDNode* Node

llvm::SDValue ExpandFloatOp_BR_CC(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:654

Parameters

llvm::SDNode* N

llvm::SDValue ExpandFloatOp_FCOPYSIGN(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:655

Parameters

llvm::SDNode* N

llvm::SDValue ExpandFloatOp_FP_ROUND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:656

Parameters

llvm::SDNode* N

llvm::SDValue ExpandFloatOp_FP_TO_XINT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:657

Parameters

llvm::SDNode* N

llvm::SDValue ExpandFloatOp_LLRINT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:661

Parameters

llvm::SDNode* N

llvm::SDValue ExpandFloatOp_LLROUND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:659

Parameters

llvm::SDNode* N

llvm::SDValue ExpandFloatOp_LRINT(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:660

Parameters

llvm::SDNode* N

llvm::SDValue ExpandFloatOp_LROUND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:658

Parameters

llvm::SDNode* N

llvm::SDValue ExpandFloatOp_SELECT_CC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:662

Parameters

llvm::SDNode* N

llvm::SDValue ExpandFloatOp_SETCC(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:663

Parameters

llvm::SDNode* N

llvm::SDValue ExpandFloatOp_STORE(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:664

Parameters

llvm::SDNode* N
unsigned int OpNo

bool ExpandFloatOperand(llvm::SDNode* N,
                        unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:653

Parameters

llvm::SDNode* N
unsigned int OpNo

void ExpandFloatRes_Binary(llvm::SDNode* N,
                           RTLIB::Libcall LC,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:616

Parameters

llvm::SDNode* N
RTLIB::Libcall LC
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_ConstantFP(llvm::SDNode* N,
                               llvm::SDValue& Lo,
                               llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:613

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FABS(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:618

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FADD(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:621

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FCBRT(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:622

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FCEIL(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:623

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FCOPYSIGN(llvm::SDNode* N,
                              llvm::SDValue& Lo,
                              llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:624

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FCOS(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:625

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FDIV(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:626

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FEXP(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:627

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FEXP2(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:628

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FFLOOR(llvm::SDNode* N,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:629

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FLOG(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:630

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FLOG10(llvm::SDNode* N,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:632

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FLOG2(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:631

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FMA(llvm::SDNode* N,
                        llvm::SDValue& Lo,
                        llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:633

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FMAXNUM(llvm::SDNode* N,
                            llvm::SDValue& Lo,
                            llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:620

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FMINNUM(llvm::SDNode* N,
                            llvm::SDValue& Lo,
                            llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:619

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FMUL(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:634

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FNEARBYINT(llvm::SDNode* N,
                               llvm::SDValue& Lo,
                               llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:635

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FNEG(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:636

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FPOW(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:638

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FPOWI(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:639

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FP_EXTEND(llvm::SDNode* N,
                              llvm::SDValue& Lo,
                              llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:637

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FREEZE(llvm::SDNode* N,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:640

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FREM(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:641

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FRINT(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:642

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FROUND(llvm::SDNode* N,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:643

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FROUNDEVEN(llvm::SDNode* N,
                               llvm::SDValue& Lo,
                               llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:644

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FSIN(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:645

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FSQRT(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:646

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FSUB(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:647

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_FTRUNC(llvm::SDNode* N,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:648

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_LOAD(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:649

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_Unary(llvm::SDNode* N,
                          RTLIB::Libcall LC,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:614

Parameters

llvm::SDNode* N
RTLIB::Libcall LC
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatRes_XINT_TO_FP(llvm::SDNode* N,
                               llvm::SDValue& Lo,
                               llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:650

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandFloatResult(llvm::SDNode* N,
                       unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:612

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue ExpandIntOp_ATOMIC_STORE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:497

Parameters

llvm::SDNode* N

llvm::SDValue ExpandIntOp_BR_CC(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:487

Parameters

llvm::SDNode* N

llvm::SDValue ExpandIntOp_PATCHPOINT(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:500

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue ExpandIntOp_RETURNADDR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:496

Parameters

llvm::SDNode* N

llvm::SDValue ExpandIntOp_SELECT_CC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:488

Parameters

llvm::SDNode* N

llvm::SDValue ExpandIntOp_SETCC(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:489

Parameters

llvm::SDNode* N

llvm::SDValue ExpandIntOp_SETCCCARRY(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:490

Parameters

llvm::SDNode* N

llvm::SDValue ExpandIntOp_SINT_TO_FP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:492

Parameters

llvm::SDNode* N

llvm::SDValue ExpandIntOp_SPLAT_VECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:498

Parameters

llvm::SDNode* N

llvm::SDValue ExpandIntOp_STACKMAP(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:499

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue ExpandIntOp_STORE(
    llvm::StoreSDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:493

Parameters

llvm::StoreSDNode* N
unsigned int OpNo

llvm::SDValue ExpandIntOp_Shift(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:491

Parameters

llvm::SDNode* N

llvm::SDValue ExpandIntOp_TRUNCATE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:494

Parameters

llvm::SDNode* N

llvm::SDValue ExpandIntOp_UINT_TO_FP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:495

Parameters

llvm::SDNode* N

llvm::SDValue ExpandIntOp_VP_STRIDED(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:501

Parameters

llvm::SDNode* N
unsigned int OpNo

void ExpandIntRes_ABS(llvm::SDNode* N,
                      llvm::SDValue& Lo,
                      llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:430

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_ADDSUB(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:447

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_ADDSUBC(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:448

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_ADDSUBCARRY(llvm::SDNode* N,
                              llvm::SDValue& Lo,
                              llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:450

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_ADDSUBE(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:449

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_ADDSUBSAT(llvm::SDNode* N,
                            llvm::SDValue& Lo,
                            llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:467

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_ANY_EXTEND(llvm::SDNode* N,
                             llvm::SDValue& Lo,
                             llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:426

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_ATOMIC_LOAD(llvm::SDNode* N,
                              llvm::SDValue& Lo,
                              llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:472

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_AssertSext(llvm::SDNode* N,
                             llvm::SDValue& Lo,
                             llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:427

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_AssertZext(llvm::SDNode* N,
                             llvm::SDValue& Lo,
                             llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:428

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_BITREVERSE(llvm::SDNode* N,
                             llvm::SDValue& Lo,
                             llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:452

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_BSWAP(llvm::SDNode* N,
                        llvm::SDValue& Lo,
                        llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:453

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_CTLZ(llvm::SDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:431

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_CTPOP(llvm::SDNode* N,
                        llvm::SDValue& Lo,
                        llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:432

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_CTTZ(llvm::SDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:433

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_Constant(llvm::SDNode* N,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:429

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_DIVFIX(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:470

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_FLT_ROUNDS(llvm::SDNode* N,
                             llvm::SDValue& Lo,
                             llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:440

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_FP_TO_SINT(llvm::SDNode* N,
                             llvm::SDValue& Lo,
                             llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:441

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_FP_TO_UINT(llvm::SDNode* N,
                             llvm::SDValue& Lo,
                             llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:442

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_FP_TO_XINT_SAT(
    llvm::SDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:443

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_FunnelShift(llvm::SDNode* N,
                              llvm::SDValue& Lo,
                              llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:476

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_LLROUND_LLRINT(
    llvm::SDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:444

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_LOAD(llvm::LoadSDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:434

Parameters

llvm::LoadSDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_Logical(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:446

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_MINMAX(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:462

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_MUL(llvm::SDNode* N,
                      llvm::SDValue& Lo,
                      llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:455

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_MULFIX(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Description

This performs an expansion of the integer result for a fixed point multiplication. The default expansion performs rounding down towards negative infinity, though targets that do care about rounding should specify a target hook for rounding and provide their own expansion or lowering of fixed point multiplication to be consistent with rounding.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:469

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_PARITY(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:454

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_READCYCLECOUNTER(
    llvm::SDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:435

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_Rotate(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:475

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_SADDSUBO(llvm::SDNode* N,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:464

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_SADDSUBO_CARRY(
    llvm::SDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:451

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_SDIV(llvm::SDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:456

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_SHLSAT(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:468

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_SIGN_EXTEND(llvm::SDNode* N,
                              llvm::SDValue& Lo,
                              llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:436

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_SIGN_EXTEND_INREG(
    llvm::SDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:437

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_SREM(llvm::SDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:457

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_Shift(llvm::SDNode* N,
                        llvm::SDValue& Lo,
                        llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:460

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_TRUNCATE(llvm::SDNode* N,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:438

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_UADDSUBO(llvm::SDNode* N,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:465

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_UDIV(llvm::SDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:458

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_UREM(llvm::SDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:459

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_VECREDUCE(llvm::SDNode* N,
                            llvm::SDValue& Lo,
                            llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:473

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_VSCALE(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:478

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_XMULO(llvm::SDNode* N,
                        llvm::SDValue& Lo,
                        llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:466

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandIntRes_ZERO_EXTEND(llvm::SDNode* N,
                              llvm::SDValue& Lo,
                              llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:439

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

bool ExpandIntegerOperand(llvm::SDNode* N,
                          unsigned int OpNo)

Description

ExpandIntegerOperand - This method is called when the specified operand of the specified node is found to need expansion. At this point, all of the result types of the node are known to be legal, but other operands of the node may need promotion or expansion as well as the specified one.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:486

Parameters

llvm::SDNode* N
unsigned int OpNo

void ExpandIntegerResult(llvm::SDNode* N,
                         unsigned int ResNo)

Description

ExpandIntegerResult - This method is called when the specified result of the specified node is found to need expansion. At this point, the node may also have invalid operands or may have other results that need promotion, we just know that (at least) one result needs expansion.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:425

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue ExpandOp_BITCAST(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1106

Parameters

llvm::SDNode* N

llvm::SDValue ExpandOp_BUILD_VECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1107

Parameters

llvm::SDNode* N

llvm::SDValue ExpandOp_EXTRACT_ELEMENT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1108

Parameters

llvm::SDNode* N

llvm::SDValue ExpandOp_INSERT_VECTOR_ELT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1109

Parameters

llvm::SDNode* N

llvm::SDValue ExpandOp_NormalStore(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1111

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue ExpandOp_SCALAR_TO_VECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1110

Parameters

llvm::SDNode* N

void ExpandRes_BITCAST(llvm::SDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1098

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandRes_BUILD_PAIR(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1099

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandRes_EXTRACT_ELEMENT(llvm::SDNode* N,
                               llvm::SDValue& Lo,
                               llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1100

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandRes_EXTRACT_VECTOR_ELT(
    llvm::SDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1101

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandRes_MERGE_VALUES(llvm::SDNode* N,
                            unsigned int ResNo,
                            llvm::SDValue& Lo,
                            llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1096

Parameters

llvm::SDNode* N
unsigned int ResNo
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandRes_NormalLoad(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1102

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandRes_VAARG(llvm::SDNode* N,
                     llvm::SDValue& Lo,
                     llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1103

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void ExpandShiftByConstant(llvm::SDNode* N,
                           const llvm::APInt& Amt,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Description

N is a shift by a value that needs to be expanded, and the shift amount is a constant 'Amt'. Expand the operation.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:480

Parameters

llvm::SDNode* N
const llvm::APInt& Amt
llvm::SDValue& Lo
llvm::SDValue& Hi

bool ExpandShiftWithKnownAmountBit(
    llvm::SDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Description

ExpandShiftWithKnownAmountBit - Try to determine whether we can simplify this shift based on knowledge of the high bit of the shift amount. If we can tell this, we know that it is >= 32 or < 32, without knowing the actual shift amount.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:482

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

bool ExpandShiftWithUnknownAmountBit(
    llvm::SDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Description

ExpandShiftWithUnknownAmountBit - Fully general expansion of integer shift of any size.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:483

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void FloatExpandSetCCOperands(
    llvm::SDValue& NewLHS,
    llvm::SDValue& NewRHS,
    ISD::CondCode& CCCode,
    const llvm::SDLoc& dl,
    llvm::SDValue& Chain,
    bool IsSignaling = false)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:666

Parameters

llvm::SDValue& NewLHS
llvm::SDValue& NewRHS
ISD::CondCode& CCCode
const llvm::SDLoc& dl
llvm::SDValue& Chain
bool IsSignaling = false

llvm::SDValue GenWidenVectorExtLoads(
    SmallVectorImpl<llvm::SDValue>& LdChain,
    llvm::LoadSDNode* LD,
    ISD::LoadExtType ExtType)

Description

Helper function to generate a set of extension loads to load a vector with a resulting wider type. It takes: LdChain: list of chains for the load to be generated. Ld: load to widen ExtType: extension element type

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1024

Parameters

SmallVectorImpl<llvm::SDValue>& LdChain
llvm::LoadSDNode* LD
ISD::LoadExtType ExtType

llvm::SDValue GenWidenVectorLoads(
    SmallVectorImpl<llvm::SDValue>& LdChain,
    llvm::LoadSDNode* LD)

Description

Helper function to generate a set of loads to load a vector with a resulting wider type. It takes: LdChain: list of chains for the load to be generated. Ld: load to widen

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1016

Parameters

SmallVectorImpl<llvm::SDValue>& LdChain
llvm::LoadSDNode* LD

bool GenWidenVectorStores(
    SmallVectorImpl<llvm::SDValue>& StChain,
    llvm::StoreSDNode* ST)

Description

Helper function to generate a set of stores to store a widen vector into non-widen memory. Returns true if successful, false otherwise. StChain: list of chains for the stores we have generated ST: store of a widen value

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1031

Parameters

SmallVectorImpl<llvm::SDValue>& StChain
llvm::StoreSDNode* ST

void GetExpandedFloat(llvm::SDValue Op,
                      llvm::SDValue& Lo,
                      llvm::SDValue& Hi)

Description

Given a processed operand Op which was expanded into two floating-point values of half the size, this returns the two halves. The low bits of Op are exactly equal to the bits of Lo; the high bits exactly equal Hi. For example, if Op is a ppcf128 which was expanded into two f64's, then this method returns the two f64's, with Lo being equal to the lower 64 bits of Op, and Hi to the upper 64 bits.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:608

Parameters

llvm::SDValue Op
llvm::SDValue& Lo
llvm::SDValue& Hi

void GetExpandedInteger(llvm::SDValue Op,
                        llvm::SDValue& Lo,
                        llvm::SDValue& Hi)

Description

Given a processed operand Op which was expanded into two integers of half the size, this returns the two halves. The low bits of Op are exactly equal to the bits of Lo; the high bits exactly equal Hi. For example, if Op is an i64 which was expanded into two i32's, then this method returns the two i32's, with Lo being equal to the lower 32 bits of Op, and Hi being equal to the upper 32 bits.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:421

Parameters

llvm::SDValue Op
llvm::SDValue& Lo
llvm::SDValue& Hi

void GetExpandedOp(llvm::SDValue Op,
                   llvm::SDValue& Lo,
                   llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1082

Parameters

llvm::SDValue Op
llvm::SDValue& Lo
llvm::SDValue& Hi

void GetPairElements(llvm::SDValue Pair,
                     llvm::SDValue& Lo,
                     llvm::SDValue& Hi)

Description

Use ISD::EXTRACT_ELEMENT nodes to extract the low and high parts of the given value.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1062

Parameters

llvm::SDValue Pair
llvm::SDValue& Lo
llvm::SDValue& Hi

llvm::SDValue GetPromotedFloat(llvm::SDValue Op)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:674

Parameters

llvm::SDValue Op

llvm::SDValue GetPromotedInteger(llvm::SDValue Op)

Description

Given a processed operand Op which was promoted to a larger integer type, this returns the promoted value. The low bits of the promoted value corresponding to the original type are exactly equal to Op. The extra bits contain rubbish, so the promoted value may need to be zero- or sign-extended from the original type before it is usable (the helpers SExtPromotedInteger and ZExtPromotedInteger can do this for you). For example, if Op is an i16 and was promoted to an i32, then this method returns an i32, the lower 16 bits of which coincide with Op, and the upper 16 bits of which contain rubbish.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:252

Parameters

llvm::SDValue Op

llvm::SDValue GetScalarizedVector(
    llvm::SDValue Op)

Description

Given a processed one-element vector Op which was scalarized to its element type, this returns the element. For example, if Op is a v1i32, Op = < i32 val >, this method returns val, an i32.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:760

Parameters

llvm::SDValue Op

llvm::SDValue GetSoftPromotedHalf(
    llvm::SDValue Op)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:715

Parameters

llvm::SDValue Op

llvm::SDValue GetSoftenedFloat(llvm::SDValue Op)

Description

GetSoftenedFloat - Given a processed operand Op which was converted to an integer of the same size, this returns the integer. The integer contains exactly the same bits as Op - only the type changed. For example, if Op is an f32 which was softened to an i32, then this method returns an i32, the bits of which coincide with those of Op

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:515

Parameters

llvm::SDValue Op

void GetSplitOp(llvm::SDValue Op,
                llvm::SDValue& Lo,
                llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1051

Parameters

llvm::SDValue Op
llvm::SDValue& Lo
llvm::SDValue& Hi

void GetSplitVector(llvm::SDValue Op,
                    llvm::SDValue& Lo,
                    llvm::SDValue& Hi)

Description

Given a processed vector Op which was split into vectors of half the size, this method returns the halves. The first elements of Op coincide with the elements of Lo; the remaining elements of Op coincide with the elements of Hi: Op is what you would get by concatenating Lo and Hi. For example, if Op is a v8i32 that was split into two v4i32's, then this method returns the two v4i32's, with Lo corresponding to the first 4 elements of Op, and Hi to the last 4 elements.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:826

Parameters

llvm::SDValue Op
llvm::SDValue& Lo
llvm::SDValue& Hi

llvm::SDValue GetWidenedMask(
    llvm::SDValue Mask,
    llvm::ElementCount EC)

Description

Given a mask Mask, returns the larger vector into which Mask was widened.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:922

Parameters

llvm::SDValue Mask
llvm::ElementCount EC

llvm::SDValue GetWidenedVector(llvm::SDValue Op)

Description

Given a processed vector Op which was widened into a larger vector, this method returns the larger vector. The elements of the returned vector consist of the elements of Op followed by elements containing rubbish. For example, if Op is a v2i32 that was widened to a v4i32, then this method returns a v4i32 for which the first two elements are the same as those of Op, while the last two elements contain rubbish.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:913

Parameters

llvm::SDValue Op

bool IgnoreNodeResults(llvm::SDNode* N) const

Description

Pretend all of this node's results are legal.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:80

Parameters

llvm::SDNode* N

void IncrementPointer(
    llvm::MemSDNode* N,
    llvm::EVT MemVT,
    llvm::MachinePointerInfo& MPI,
    llvm::SDValue& Ptr,
    uint64_t* ScaledOffset = nullptr)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:837

Parameters

llvm::MemSDNode* N
llvm::EVT MemVT
llvm::MachinePointerInfo& MPI
llvm::SDValue& Ptr
uint64_t* ScaledOffset = nullptr

void IntegerExpandSetCCOperands(
    llvm::SDValue& NewLHS,
    llvm::SDValue& NewRHS,
    ISD::CondCode& CCCode,
    const llvm::SDLoc& dl)

Description

IntegerExpandSetCCOperands - Expand the operands of a comparison. This code is shared among BR_CC, SELECT_CC, and SETCC handlers.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:503

Parameters

llvm::SDValue& NewLHS
llvm::SDValue& NewRHS
ISD::CondCode& CCCode
const llvm::SDLoc& dl

void IntegerToVector(
    llvm::SDValue Op,
    unsigned int NumElements,
    SmallVectorImpl<llvm::SDValue>& Ops,
    llvm::EVT EltVT)

Description

This function will split the integer \p Op into \p NumElements operations of type \p EltVT and store them in \p Ops.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1092

Parameters

llvm::SDValue Op
unsigned int NumElements
SmallVectorImpl<llvm::SDValue>& Ops
llvm::EVT EltVT

llvm::SDValue JoinIntegers(llvm::SDValue Lo,
                           llvm::SDValue Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:228

Parameters

llvm::SDValue Lo
llvm::SDValue Hi

llvm::SDValue ModifyToType(
    llvm::SDValue InOp,
    llvm::EVT NVT,
    bool FillWithZeroes = false)

Description

Modifies a vector input (widen or narrows) to a vector of NVT. The input vector must have the same element type as NVT. When FillWithZeroes is "on" the vector will be widened with zeroes. By default, the vector will be widened with undefined values.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1037

Parameters

llvm::SDValue InOp
llvm::EVT NVT
bool FillWithZeroes = false

void NoteDeletion(llvm::SDNode* Old,
                  llvm::SDNode* New)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:179

Parameters

llvm::SDNode* Old
llvm::SDNode* New

void PerformExpensiveChecks()

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:212

llvm::SDValue PromoteFloatOp_BITCAST(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:702

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteFloatOp_FCOPYSIGN(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:703

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteFloatOp_FP_EXTEND(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:704

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteFloatOp_FP_TO_XINT(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:705

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteFloatOp_FP_TO_XINT_SAT(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:706

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteFloatOp_SELECT_CC(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:708

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteFloatOp_SETCC(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:709

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteFloatOp_STORE(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:707

Parameters

llvm::SDNode* N
unsigned int OpNo

bool PromoteFloatOperand(llvm::SDNode* N,
                         unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:701

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteFloatRes_BITCAST(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:683

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_BinOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:684

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_ConstantFP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:685

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_EXTRACT_VECTOR_ELT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:686

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_FCOPYSIGN(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:687

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_FMAD(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:688

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_FPOWI(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:689

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_FP_ROUND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:690

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_LOAD(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:691

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_SELECT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:692

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_SELECT_CC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:693

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_UNDEF(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:695

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_UnaryOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:694

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_VECREDUCE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:698

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_VECREDUCE_SEQ(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:699

Parameters

llvm::SDNode* N

llvm::SDValue PromoteFloatRes_XINT_TO_FP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:697

Parameters

llvm::SDNode* N

void PromoteFloatResult(llvm::SDNode* N,
                        unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:682

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue PromoteIntOpVectorReduction(
    llvm::SDNode* N,
    llvm::SDValue V)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:295

Parameters

llvm::SDNode* N
llvm::SDValue V

llvm::SDValue PromoteIntOp_ADDSUBCARRY(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:397

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_ANY_EXTEND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:367

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_ATOMIC_STORE(
    llvm::AtomicSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:368

Parameters

llvm::AtomicSDNode* N

llvm::SDValue PromoteIntOp_BITCAST(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:369

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_BRCOND(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:372

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_BR_CC(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:371

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_BUILD_PAIR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:370

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_BUILD_VECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:373

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_CONCAT_VECTORS(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:378

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_EXTRACT_SUBVECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:376

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_EXTRACT_VECTOR_ELT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:375

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_FIX(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:400

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_FPOWI(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:401

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_FRAMERETURNADDR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:398

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_FunnelShift(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:384

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_INSERT_SUBVECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:377

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_INSERT_VECTOR_ELT(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:374

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_MGATHER(
    llvm::MaskedGatherSDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:396

Parameters

llvm::MaskedGatherSDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_MLOAD(
    llvm::MaskedLoadSDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:394

Parameters

llvm::MaskedLoadSDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_MSCATTER(
    llvm::MaskedScatterSDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:395

Parameters

llvm::MaskedScatterSDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_MSTORE(
    llvm::MaskedStoreSDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:393

Parameters

llvm::MaskedStoreSDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_PATCHPOINT(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:406

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_PREFETCH(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:399

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_SELECT(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:380

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_SELECT_CC(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:381

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_SETCC(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:382

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_SET_ROUNDING(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:404

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_SIGN_EXTEND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:385

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_SINT_TO_FP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:386

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_STACKMAP(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:405

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_STORE(
    llvm::StoreSDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:388

Parameters

llvm::StoreSDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_STRICT_SINT_TO_FP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:387

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_STRICT_UINT_TO_FP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:391

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_ScalarOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:379

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_Shift(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:383

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_TRUNCATE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:389

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_UINT_TO_FP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:390

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_VECREDUCE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:402

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntOp_VP_REDUCE(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:403

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_VP_STRIDED(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:407

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue PromoteIntOp_ZERO_EXTEND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:392

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_ABS(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:360

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_ADDSUBCARRY(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:348

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue PromoteIntRes_ADDSUBSHLSAT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:354

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_AssertSext(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:300

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_AssertZext(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:301

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_Atomic0(
    llvm::AtomicSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:302

Parameters

llvm::AtomicSDNode* N

llvm::SDValue PromoteIntRes_Atomic1(
    llvm::AtomicSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:303

Parameters

llvm::AtomicSDNode* N

llvm::SDValue PromoteIntRes_AtomicCmpSwap(
    llvm::AtomicSDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:304

Parameters

llvm::AtomicSDNode* N
unsigned int ResNo

llvm::SDValue PromoteIntRes_BITCAST(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:316

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_BITREVERSE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:318

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_BSWAP(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:317

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_BUILD_PAIR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:319

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_BUILD_VECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:310

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_CONCAT_VECTORS(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:315

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_CTLZ(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:321

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_CTPOP_PARITY(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:322

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_CTTZ(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:323

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_Constant(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:320

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_DIVFIX(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:356

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_EXTEND_VECTOR_INREG(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:313

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_EXTRACT_SUBVECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:305

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_EXTRACT_VECTOR_ELT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:324

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_FLT_ROUNDS(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:357

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_FP_TO_FP16(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:327

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_FP_TO_XINT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:325

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_FP_TO_XINT_SAT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:326

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_FREEZE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:328

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_FunnelShift(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:362

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_INSERT_SUBVECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:306

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_INSERT_VECTOR_ELT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:314

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_INT_EXTEND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:329

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_IS_FPCLASS(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:363

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_LOAD(
    llvm::LoadSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:330

Parameters

llvm::LoadSDNode* N

llvm::SDValue PromoteIntRes_MERGE_VALUES(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:299

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue PromoteIntRes_MGATHER(
    llvm::MaskedGatherSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:332

Parameters

llvm::MaskedGatherSDNode* N

llvm::SDValue PromoteIntRes_MLOAD(
    llvm::MaskedLoadSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:331

Parameters

llvm::MaskedLoadSDNode* N

llvm::SDValue PromoteIntRes_MULFIX(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:355

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_Overflow(
    llvm::SDNode* N)

Description

Promote the overflow flag of an overflowing arithmetic node.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:333

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_Rotate(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:361

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_SADDSUBO(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:334

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue PromoteIntRes_SADDSUBO_CARRY(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:349

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue PromoteIntRes_SELECT_CC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:336

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_SETCC(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:337

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_SExtIntBinOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:341

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_SHL(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:338

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_SIGN_EXTEND_INREG(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:343

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_SRA(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:344

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_SRL(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:345

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_STEP_VECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:312

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_ScalarOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:311

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_Select(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:335

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_SimpleIntBinOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:339

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_TRUNCATE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:346

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_UADDSUBO(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:347

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue PromoteIntRes_UMINUMAX(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:342

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_UNDEF(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:350

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_VAARG(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:351

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_VECREDUCE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:358

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_VECTOR_REVERSE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:307

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_VECTOR_SHUFFLE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:308

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_VECTOR_SPLICE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:309

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_VP_REDUCE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:359

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_VSCALE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:352

Parameters

llvm::SDNode* N

llvm::SDValue PromoteIntRes_XMULO(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:353

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue PromoteIntRes_ZExtIntBinOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:340

Parameters

llvm::SDNode* N

bool PromoteIntegerOperand(llvm::SDNode* N,
                           unsigned int OpNo)

Description

PromoteIntegerOperand - This method is called when the specified operand of the specified node is found to need promotion. At this point, all of the result types of the node are known to be legal, but other operands of the node may need promotion or expansion as well as the specified one.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:366

Parameters

llvm::SDNode* N
unsigned int OpNo

void PromoteIntegerResult(llvm::SDNode* N,
                          unsigned int ResNo)

Description

PromoteIntegerResult - This method is called when a result of a node is found to be in need of promotion to a larger type. At this point, the node may also have invalid operands or may have other results that need expansion, we just know that (at least) one result needs promotion.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:298

Parameters

llvm::SDNode* N
unsigned int ResNo

void PromoteSetCCOperands(llvm::SDValue& LHS,
                          llvm::SDValue& RHS,
                          ISD::CondCode Code)

Description

PromoteSetCCOperands - Promote the operands of a comparison. This code is shared among BR_CC, SELECT_CC, and SETCC handlers.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:409

Parameters

llvm::SDValue& LHS
llvm::SDValue& RHS
ISD::CondCode Code

llvm::SDValue PromoteTargetBoolean(
    llvm::SDValue Bool,
    llvm::EVT ValVT)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:232

Parameters

llvm::SDValue Bool
llvm::EVT ValVT

void RemapId(llvm::DAGTypeLegalizer::TableId& Id)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:213

Parameters

llvm::DAGTypeLegalizer::TableId& Id

void RemapValue(llvm::SDValue& V)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:214

Parameters

llvm::SDValue& V

void ReplaceValueWith(llvm::SDValue From,
                      llvm::SDValue To)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:234

Parameters

llvm::SDValue From
llvm::SDValue To

llvm::SDValue SExtOrZExtPromotedInteger(
    llvm::SDValue Op)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:281

Parameters

llvm::SDValue Op

llvm::SDValue SExtPromotedInteger(
    llvm::SDValue Op)

Description

Get a promoted operand and sign extend it to the final size.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:261

Parameters

llvm::SDValue Op

llvm::SDValue ScalarizeVecOp_BITCAST(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:800

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecOp_CONCAT_VECTORS(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:803

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecOp_EXTRACT_VECTOR_ELT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:804

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecOp_FP_EXTEND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:810

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecOp_FP_ROUND(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:808

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue ScalarizeVecOp_STORE(
    llvm::StoreSDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:807

Parameters

llvm::StoreSDNode* N
unsigned int OpNo

llvm::SDValue ScalarizeVecOp_STRICT_FP_EXTEND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:811

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecOp_STRICT_FP_ROUND(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:809

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue ScalarizeVecOp_UnaryOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:801

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecOp_UnaryOp_StrictFP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:802

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecOp_VECREDUCE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:812

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecOp_VECREDUCE_SEQ(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:813

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecOp_VSELECT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:805

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecOp_VSETCC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:806

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_BITCAST(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:779

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_BUILD_VECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:780

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_BinOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:771

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_EXTRACT_SUBVECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:781

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_FIX(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:796

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_FPOWI(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:783

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_FP_ROUND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:782

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_FP_TO_XINT_SAT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:793

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_INSERT_VECTOR_ELT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:784

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_IS_FPCLASS(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:794

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_InregOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:776

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_LOAD(
    llvm::LoadSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:785

Parameters

llvm::LoadSDNode* N

llvm::SDValue ScalarizeVecRes_MERGE_VALUES(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:770

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue ScalarizeVecRes_OverflowOp(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:775

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue ScalarizeVecRes_SCALAR_TO_VECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:786

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_SELECT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:788

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_SELECT_CC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:789

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_SETCC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:790

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_StrictFPOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:774

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_TernaryOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:772

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_UNDEF(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:791

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_UnaryOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:773

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_VECTOR_SHUFFLE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:792

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_VSELECT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:787

Parameters

llvm::SDNode* N

llvm::SDValue ScalarizeVecRes_VecInregOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:777

Parameters

llvm::SDNode* N

bool ScalarizeVectorOperand(llvm::SDNode* N,
                            unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:799

Parameters

llvm::SDNode* N
unsigned int OpNo

void ScalarizeVectorResult(llvm::SDNode* N,
                           unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:769

Parameters

llvm::SDNode* N
unsigned int ResNo

void SetExpandedFloat(llvm::SDValue Op,
                      llvm::SDValue Lo,
                      llvm::SDValue Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:609

Parameters

llvm::SDValue Op
llvm::SDValue Lo
llvm::SDValue Hi

void SetExpandedInteger(llvm::SDValue Op,
                        llvm::SDValue Lo,
                        llvm::SDValue Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:422

Parameters

llvm::SDValue Op
llvm::SDValue Lo
llvm::SDValue Hi

void SetPromotedFloat(llvm::SDValue Op,
                      llvm::SDValue Result)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:680

Parameters

llvm::SDValue Op
llvm::SDValue Result

void SetPromotedInteger(llvm::SDValue Op,
                        llvm::SDValue Result)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:258

Parameters

llvm::SDValue Op
llvm::SDValue Result

void SetScalarizedVector(llvm::SDValue Op,
                         llvm::SDValue Result)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:766

Parameters

llvm::SDValue Op
llvm::SDValue Result

void SetSoftPromotedHalf(llvm::SDValue Op,
                         llvm::SDValue Result)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:721

Parameters

llvm::SDValue Op
llvm::SDValue Result

void SetSoftenedFloat(llvm::SDValue Op,
                      llvm::SDValue Result)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:527

Parameters

llvm::SDValue Op
llvm::SDValue Result

void SetSplitVector(llvm::SDValue Op,
                    llvm::SDValue Lo,
                    llvm::SDValue Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:827

Parameters

llvm::SDValue Op
llvm::SDValue Lo
llvm::SDValue Hi

void SetWidenedVector(llvm::SDValue Op,
                      llvm::SDValue Result)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:919

Parameters

llvm::SDValue Op
llvm::SDValue Result

llvm::SDValue SoftPromoteHalfOp_BITCAST(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:742

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfOp_FCOPYSIGN(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:743

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue SoftPromoteHalfOp_FP_EXTEND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:744

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfOp_FP_TO_XINT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:745

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfOp_FP_TO_XINT_SAT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:746

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfOp_PATCHPOINT(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:751

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue SoftPromoteHalfOp_SELECT_CC(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:748

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue SoftPromoteHalfOp_SETCC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:747

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfOp_STACKMAP(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:750

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue SoftPromoteHalfOp_STORE(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:749

Parameters

llvm::SDNode* N
unsigned int OpNo

bool SoftPromoteHalfOperand(llvm::SDNode* N,
                            unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:741

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue SoftPromoteHalfRes_BITCAST(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:725

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_BinOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:724

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_ConstantFP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:726

Parameters

llvm::SDNode* N

llvm::SDValue
SoftPromoteHalfRes_EXTRACT_VECTOR_ELT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:727

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_FCOPYSIGN(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:728

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_FMAD(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:729

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_FPOWI(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:730

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_FP_ROUND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:731

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_LOAD(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:732

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_SELECT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:733

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_SELECT_CC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:734

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_UNDEF(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:737

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_UnaryOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:735

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_VECREDUCE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:738

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_VECREDUCE_SEQ(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:739

Parameters

llvm::SDNode* N

llvm::SDValue SoftPromoteHalfRes_XINT_TO_FP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:736

Parameters

llvm::SDNode* N

void SoftPromoteHalfResult(llvm::SDNode* N,
                           unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:723

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue SoftenFloatOp_BITCAST(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:584

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_BR_CC(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:585

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_FCOPYSIGN(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:596

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_FP_ROUND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:586

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_FP_TO_XINT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:587

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_FP_TO_XINT_SAT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:588

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_LLRINT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:592

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_LLROUND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:590

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_LRINT(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:591

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_LROUND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:589

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_SELECT_CC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:593

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_SETCC(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:594

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatOp_STORE(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:595

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue SoftenFloatOp_Unary(
    llvm::SDNode* N,
    RTLIB::Libcall LC)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:583

Parameters

llvm::SDNode* N
RTLIB::Libcall LC

bool SoftenFloatOperand(llvm::SDNode* N,
                        unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:582

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue SoftenFloatRes_ARITH_FENCE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:534

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_BITCAST(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:535

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_BUILD_PAIR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:536

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_Binary(
    llvm::SDNode* N,
    RTLIB::Libcall LC)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:532

Parameters

llvm::SDNode* N
RTLIB::Libcall LC

llvm::SDValue SoftenFloatRes_ConstantFP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:537

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_EXTRACT_VECTOR_ELT(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:538

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue SoftenFloatRes_FABS(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:539

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FADD(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:542

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FCBRT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:543

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FCEIL(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:544

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FCOPYSIGN(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:545

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FCOS(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:546

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FDIV(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:547

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FEXP(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:548

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FEXP2(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:549

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FFLOOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:550

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FLOG(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:551

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FLOG10(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:553

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FLOG2(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:552

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FMA(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:554

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FMAXNUM(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:541

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FMINNUM(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:540

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FMUL(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:555

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FNEARBYINT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:556

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FNEG(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:557

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FP16_TO_FP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:559

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FPOW(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:561

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FPOWI(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:562

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FP_EXTEND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:558

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FP_ROUND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:560

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FREEZE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:563

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FREM(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:564

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FRINT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:565

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FROUND(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:566

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FROUNDEVEN(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:567

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FSIN(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:568

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FSQRT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:569

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FSUB(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:570

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_FTRUNC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:571

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_LOAD(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:572

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_MERGE_VALUES(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:533

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue SoftenFloatRes_SELECT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:573

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_SELECT_CC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:574

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_UNDEF(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:575

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_Unary(
    llvm::SDNode* N,
    RTLIB::Libcall LC)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:531

Parameters

llvm::SDNode* N
RTLIB::Libcall LC

llvm::SDValue SoftenFloatRes_VAARG(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:576

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_VECREDUCE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:578

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_VECREDUCE_SEQ(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:579

Parameters

llvm::SDNode* N

llvm::SDValue SoftenFloatRes_XINT_TO_FP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:577

Parameters

llvm::SDNode* N

void SoftenFloatResult(llvm::SDNode* N,
                       unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:530

Parameters

llvm::SDNode* N
unsigned int ResNo

void SplitInteger(llvm::SDValue Op,
                  llvm::EVT LoVT,
                  llvm::EVT HiVT,
                  llvm::SDValue& Lo,
                  llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:236

Parameters

llvm::SDValue Op
llvm::EVT LoVT
llvm::EVT HiVT
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitInteger(llvm::SDValue Op,
                  llvm::SDValue& Lo,
                  llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:235

Parameters

llvm::SDValue Op
llvm::SDValue& Lo
llvm::SDValue& Hi

std::pair<SDValue, SDValue> SplitMask(
    llvm::SDValue Mask)

Description

Split mask operator of a VP intrinsic.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:830

Parameters

llvm::SDValue Mask

std::pair<SDValue, SDValue> SplitMask(
    llvm::SDValue Mask,
    const llvm::SDLoc& DL)

Description

Split mask operator of a VP intrinsic in a given location.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:833

Parameters

llvm::SDValue Mask
const llvm::SDLoc& DL

void SplitRes_ARITH_FENCE(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1067

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitRes_FREEZE(llvm::SDNode* N,
                     llvm::SDValue& Lo,
                     llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1071

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitRes_MERGE_VALUES(llvm::SDNode* N,
                           unsigned int ResNo,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1065

Parameters

llvm::SDNode* N
unsigned int ResNo
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitRes_SELECT_CC(llvm::SDNode* N,
                        llvm::SDValue& Lo,
                        llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1069

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitRes_Select(llvm::SDNode* N,
                     llvm::SDValue& Lo,
                     llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1068

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitRes_UNDEF(llvm::SDNode* N,
                    llvm::SDValue& Lo,
                    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1070

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

llvm::SDValue SplitVecOp_BITCAST(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:887

Parameters

llvm::SDNode* N

llvm::SDValue SplitVecOp_CONCAT_VECTORS(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:897

Parameters

llvm::SDNode* N

llvm::SDValue SplitVecOp_EXTRACT_SUBVECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:889

Parameters

llvm::SDNode* N

llvm::SDValue SplitVecOp_EXTRACT_VECTOR_ELT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:890

Parameters

llvm::SDNode* N

llvm::SDValue SplitVecOp_ExtVecInRegOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:891

Parameters

llvm::SDNode* N

llvm::SDValue SplitVecOp_FCOPYSIGN(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:900

Parameters

llvm::SDNode* N

llvm::SDValue SplitVecOp_FP_ROUND(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:899

Parameters

llvm::SDNode* N

llvm::SDValue SplitVecOp_FP_TO_XINT_SAT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:901

Parameters

llvm::SDNode* N

llvm::SDValue SplitVecOp_Gather(
    llvm::MemSDNode* MGT,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:896

Parameters

llvm::MemSDNode* MGT
unsigned int OpNo

llvm::SDValue SplitVecOp_INSERT_SUBVECTOR(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:888

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue SplitVecOp_MSTORE(
    llvm::MaskedStoreSDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:894

Parameters

llvm::MaskedStoreSDNode* N
unsigned int OpNo

llvm::SDValue SplitVecOp_STORE(
    llvm::StoreSDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:892

Parameters

llvm::StoreSDNode* N
unsigned int OpNo

llvm::SDValue SplitVecOp_Scatter(
    llvm::MemSDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:895

Parameters

llvm::MemSDNode* N
unsigned int OpNo

llvm::SDValue SplitVecOp_TruncateHelper(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:885

Parameters

llvm::SDNode* N

llvm::SDValue SplitVecOp_UnaryOp(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:884

Parameters

llvm::SDNode* N

llvm::SDValue SplitVecOp_VECREDUCE(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:881

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue SplitVecOp_VECREDUCE_SEQ(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:882

Parameters

llvm::SDNode* N

llvm::SDValue SplitVecOp_VP_REDUCE(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:883

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue SplitVecOp_VP_STORE(
    llvm::VPStoreSDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:893

Parameters

llvm::VPStoreSDNode* N
unsigned int OpNo

llvm::SDValue SplitVecOp_VSELECT(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:880

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue SplitVecOp_VSETCC(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:898

Parameters

llvm::SDNode* N

void SplitVecRes_BITCAST(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:854

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_BUILD_VECTOR(llvm::SDNode* N,
                              llvm::SDValue& Lo,
                              llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:855

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_BinOp(llvm::SDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:842

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_CONCAT_VECTORS(llvm::SDNode* N,
                                llvm::SDValue& Lo,
                                llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:856

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_EXTRACT_SUBVECTOR(
    llvm::SDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:857

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_ExtVecInRegOp(llvm::SDNode* N,
                               llvm::SDValue& Lo,
                               llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:847

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_ExtendOp(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:845

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_FCOPYSIGN(llvm::SDNode* N,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:860

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_FIX(llvm::SDNode* N,
                     llvm::SDValue& Lo,
                     llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:852

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_FPOWI(llvm::SDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:859

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_FP_TO_XINT_SAT(llvm::SDNode* N,
                                llvm::SDValue& Lo,
                                llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:876

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_Gather(llvm::MemSDNode* VPGT,
                        llvm::SDValue& Lo,
                        llvm::SDValue& Hi,
                        bool SplitSETCC = false)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:866

Parameters

llvm::MemSDNode* VPGT
llvm::SDValue& Lo
llvm::SDValue& Hi
bool SplitSETCC = false

void SplitVecRes_INSERT_SUBVECTOR(
    llvm::SDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:858

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_INSERT_VECTOR_ELT(
    llvm::SDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:862

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_IS_FPCLASS(llvm::SDNode* N,
                            llvm::SDValue& Lo,
                            llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:861

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_InregOp(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:846

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_LOAD(llvm::LoadSDNode* LD,
                      llvm::SDValue& Lo,
                      llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:863

Parameters

llvm::LoadSDNode* LD
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_MLOAD(
    llvm::MaskedLoadSDNode* MLD,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:865

Parameters

llvm::MaskedLoadSDNode* MLD
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_OverflowOp(llvm::SDNode* N,
                            unsigned int ResNo,
                            llvm::SDValue& Lo,
                            llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:849

Parameters

llvm::SDNode* N
unsigned int ResNo
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_SETCC(llvm::SDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:870

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_STEP_VECTOR(llvm::SDNode* N,
                             llvm::SDValue& Lo,
                             llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:869

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_ScalarOp(llvm::SDNode* N,
                          llvm::SDValue& Lo,
                          llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:868

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_StrictFPOp(llvm::SDNode* N,
                            llvm::SDValue& Lo,
                            llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:848

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_TernaryOp(llvm::SDNode* N,
                           llvm::SDValue& Lo,
                           llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:843

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_UnaryOp(llvm::SDNode* N,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:844

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_VAARG(llvm::SDNode* N,
                       llvm::SDValue& Lo,
                       llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:875

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_VECTOR_REVERSE(llvm::SDNode* N,
                                llvm::SDValue& Lo,
                                llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:871

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_VECTOR_SHUFFLE(
    llvm::ShuffleVectorSDNode* N,
    llvm::SDValue& Lo,
    llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:872

Parameters

llvm::ShuffleVectorSDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_VECTOR_SPLICE(llvm::SDNode* N,
                               llvm::SDValue& Lo,
                               llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:874

Parameters

llvm::SDNode* N
llvm::SDValue& Lo
llvm::SDValue& Hi

void SplitVecRes_VP_LOAD(llvm::VPLoadSDNode* LD,
                         llvm::SDValue& Lo,
                         llvm::SDValue& Hi)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:864

Parameters

llvm::VPLoadSDNode* LD
llvm::SDValue& Lo
llvm::SDValue& Hi

bool SplitVectorOperand(llvm::SDNode* N,
                        unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:879

Parameters

llvm::SDNode* N
unsigned int OpNo

void SplitVectorResult(llvm::SDNode* N,
                       unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:841

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue UnrollVectorOp_StrictFP(
    llvm::SDNode* N,
    unsigned int ResNE)

Description

Helper function to generate a set of operations to perform a vector operation for a wider type.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1006

Parameters

llvm::SDNode* N
unsigned int ResNE

llvm::SDValue WidenVSELECTMask(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:955

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_BITCAST(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:979

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_CONCAT_VECTORS(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:980

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_Convert(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:995

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_EXTEND(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:981

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_EXTRACT_SUBVECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:984

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_EXTRACT_VECTOR_ELT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:982

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_FCOPYSIGN(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:997

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_FP_TO_XINT_SAT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:996

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_INSERT_SUBVECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:983

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_IS_FPCLASS(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:998

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_MGATHER(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:988

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue WidenVecOp_MSCATTER(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:989

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue WidenVecOp_MSTORE(llvm::SDNode* N,
                                unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:987

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue WidenVecOp_SETCC(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:991

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_STORE(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:985

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_STRICT_FSETCC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:992

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_VECREDUCE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:999

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_VECREDUCE_SEQ(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1000

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_VP_REDUCE(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1001

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecOp_VP_SCATTER(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:990

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue WidenVecOp_VP_STORE(
    llvm::SDNode* N,
    unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:986

Parameters

llvm::SDNode* N
unsigned int OpNo

llvm::SDValue WidenVecOp_VSELECT(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:993

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_BITCAST(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:941

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_BUILD_VECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:942

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_Binary(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:963

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_BinaryCanTrap(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:964

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_BinaryWithExtraScalarOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:965

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_CONCAT_VECTORS(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:943

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_Convert(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:968

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_Convert_StrictFP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:969

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_EXTEND_VECTOR_INREG(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:944

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_EXTRACT_SUBVECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:945

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_FCOPYSIGN(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:971

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_FP_TO_XINT_SAT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:970

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_INSERT_SUBVECTOR(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:946

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_INSERT_VECTOR_ELT(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:947

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_IS_FPCLASS(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:972

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_InregOp(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:975

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_LOAD(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:948

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_MERGE_VALUES(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:940

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue WidenVecRes_MGATHER(
    llvm::MaskedGatherSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:951

Parameters

llvm::MaskedGatherSDNode* N

llvm::SDValue WidenVecRes_MLOAD(
    llvm::MaskedLoadSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:950

Parameters

llvm::MaskedLoadSDNode* N

llvm::SDValue WidenVecRes_OverflowOp(
    llvm::SDNode* N,
    unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:967

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue WidenVecRes_POWI(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:973

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_SELECT_CC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:956

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_SETCC(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:957

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_STRICT_FSETCC(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:958

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_ScalarOp(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:953

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_Select(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:954

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_StrictFP(
    llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:966

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_Ternary(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:962

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_UNDEF(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:959

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_Unary(llvm::SDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:974

Parameters

llvm::SDNode* N

llvm::SDValue WidenVecRes_VECTOR_SHUFFLE(
    llvm::ShuffleVectorSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:960

Parameters

llvm::ShuffleVectorSDNode* N

llvm::SDValue WidenVecRes_VP_GATHER(
    llvm::VPGatherSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:952

Parameters

llvm::VPGatherSDNode* N

llvm::SDValue WidenVecRes_VP_LOAD(
    llvm::VPLoadSDNode* N)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:949

Parameters

llvm::VPLoadSDNode* N

bool WidenVectorOperand(llvm::SDNode* N,
                        unsigned int OpNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:978

Parameters

llvm::SDNode* N
unsigned int OpNo

void WidenVectorResult(llvm::SDNode* N,
                       unsigned int ResNo)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:939

Parameters

llvm::SDNode* N
unsigned int ResNo

llvm::SDValue ZExtPromotedInteger(
    llvm::SDValue Op)

Description

Get a promoted operand and zero extend it to the final size.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:270

Parameters

llvm::SDValue Op

llvm::SDValue convertMask(llvm::SDValue InMask,
                          llvm::EVT MaskVT,
                          llvm::EVT ToMaskVT)

Description

Return a mask of vector type MaskVT to replace InMask. Also adjust MaskVT to ToMaskVT if needed with vector extension or truncation.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:1041

Parameters

llvm::SDValue InMask
llvm::EVT MaskVT
llvm::EVT ToMaskVT

llvm::SelectionDAG& getDAG() const

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:207

const llvm::SDValue& getSDValue(
    llvm::DAGTypeLegalizer::TableId& Id)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:158

Parameters

llvm::DAGTypeLegalizer::TableId& Id

llvm::EVT getSetCCResultType(llvm::EVT VT) const

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:75

Parameters

llvm::EVT VT

llvm::DAGTypeLegalizer::TableId getTableId(
    llvm::SDValue V)

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:139

Parameters

llvm::SDValue V

TargetLowering::LegalizeTypeAction getTypeAction(
    llvm::EVT VT) const

Description

Return how we should legalize values of this type.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:61

Parameters

llvm::EVT VT

bool isSimpleLegalType(llvm::EVT VT) const

Description

Return true if this is a simple legal type.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:71

Parameters

llvm::EVT VT

bool isTypeLegal(llvm::EVT VT) const

Description

Return true if this type is legal on this target.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:66

Parameters

llvm::EVT VT

bool run()

Description

This is the main entry point for the type legalizer. This does a top-down traversal of the dag, legalizing types as it goes. Returns "true" if it made any changes.

Declared at: llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h:177