LLVM  14.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::TargetLowering::DAGCombinerInfo Struct Reference

#include "llvm/CodeGen/TargetLowering.h"

Collaboration diagram for llvm::TargetLowering::DAGCombinerInfo:
Collaboration graph
[legend]

Public Member Functions

 DAGCombinerInfo (SelectionDAG &dag, CombineLevel level, bool cl, void *dc)
 
bool isBeforeLegalize () const
 
bool isBeforeLegalizeOps () const
 
bool isAfterLegalizeDAG () const
 
CombineLevel getDAGCombineLevel ()
 
bool isCalledByLegalizer () const
 
void AddToWorklist (SDNode *N)
 
SDValue CombineTo (SDNode *N, ArrayRef< SDValue > To, bool AddTo=true)
 
SDValue CombineTo (SDNode *N, SDValue Res, bool AddTo=true)
 
SDValue CombineTo (SDNode *N, SDValue Res0, SDValue Res1, bool AddTo=true)
 
bool recursivelyDeleteUnusedNodes (SDNode *N)
 
void CommitTargetLoweringOpt (const TargetLoweringOpt &TLO)
 

Public Attributes

void * DC
 
CombineLevel Level
 
bool CalledByLegalizer
 
SelectionDAGDAG
 

Detailed Description

Definition at line 3525 of file TargetLowering.h.

Constructor & Destructor Documentation

◆ DAGCombinerInfo()

llvm::TargetLowering::DAGCombinerInfo::DAGCombinerInfo ( SelectionDAG dag,
CombineLevel  level,
bool  cl,
void *  dc 
)
inline

Definition at line 3533 of file TargetLowering.h.

Member Function Documentation

◆ AddToWorklist()

void TargetLowering::DAGCombinerInfo::AddToWorklist ( SDNode N)

◆ CombineTo() [1/3]

SDValue TargetLowering::DAGCombinerInfo::CombineTo ( SDNode N,
ArrayRef< SDValue To,
bool  AddTo = true 
)

◆ CombineTo() [2/3]

SDValue TargetLowering::DAGCombinerInfo::CombineTo ( SDNode N,
SDValue  Res,
bool  AddTo = true 
)

Definition at line 842 of file DAGCombiner.cpp.

References DC, and N.

◆ CombineTo() [3/3]

SDValue TargetLowering::DAGCombinerInfo::CombineTo ( SDNode N,
SDValue  Res0,
SDValue  Res1,
bool  AddTo = true 
)

Definition at line 847 of file DAGCombiner.cpp.

References DC, and N.

◆ CommitTargetLoweringOpt()

void TargetLowering::DAGCombinerInfo::CommitTargetLoweringOpt ( const TargetLoweringOpt TLO)

◆ getDAGCombineLevel()

CombineLevel llvm::TargetLowering::DAGCombinerInfo::getDAGCombineLevel ( )
inline

◆ isAfterLegalizeDAG()

bool llvm::TargetLowering::DAGCombinerInfo::isAfterLegalizeDAG ( ) const
inline

◆ isBeforeLegalize()

bool llvm::TargetLowering::DAGCombinerInfo::isBeforeLegalize ( ) const
inline

◆ isBeforeLegalizeOps()

bool llvm::TargetLowering::DAGCombinerInfo::isBeforeLegalizeOps ( ) const
inline

◆ isCalledByLegalizer()

bool llvm::TargetLowering::DAGCombinerInfo::isCalledByLegalizer ( ) const
inline

◆ recursivelyDeleteUnusedNodes()

bool TargetLowering::DAGCombinerInfo::recursivelyDeleteUnusedNodes ( SDNode N)

Definition at line 852 of file DAGCombiner.cpp.

References DC, and N.

Referenced by combineCVTP2I_CVTTP2I(), combineCVTPH2PS(), combineTargetShuffle(), and combineX86INT_TO_FP().

Member Data Documentation

◆ CalledByLegalizer

bool llvm::TargetLowering::DAGCombinerInfo::CalledByLegalizer

Definition at line 3528 of file TargetLowering.h.

Referenced by isCalledByLegalizer().

◆ DAG

SelectionDAG& llvm::TargetLowering::DAGCombinerInfo::DAG

Definition at line 3531 of file TargetLowering.h.

Referenced by AddCombineBUILD_VECTORToVPADDL(), AddCombineTo64bitMLAL(), AddCombineTo64BitSMLAL16(), AddCombineTo64bitUMAAL(), AddCombineToVPADD(), AddCombineVUZPToVPADDL(), CombineANDShift(), CombineBaseUpdate(), llvm::AMDGPUTargetLowering::combineFMinMaxLegacy(), combineSelectAndUse(), llvm::VETargetLowering::combineTRUNCATE(), CombineVLDDUP(), distributeOpThroughSelect(), llvm::PPCTargetLowering::expandVSXLoadForLE(), llvm::PPCTargetLowering::expandVSXStoreForLE(), foldFreeOpFromSelect(), PerformABSCombine(), PerformADDCombine(), PerformADDCombineWithOperands(), PerformAddcSubcCombine(), PerformAddeSubeCombine(), performANDCombine(), PerformANDCombine(), performANY_EXTENDCombine(), PerformARMBUILD_VECTORCombine(), llvm::AMDGPUTargetLowering::performAssertSZExtCombine(), llvm::SparcTargetLowering::PerformBITCASTCombine(), PerformBITCASTCombine(), PerformBUILD_VECTORCombine(), llvm::AMDGPUTargetLowering::performCtlz_CttzCombine(), llvm::R600TargetLowering::PerformDAGCombine(), llvm::MipsSETargetLowering::PerformDAGCombine(), llvm::AMDGPUTargetLowering::PerformDAGCombine(), llvm::HexagonTargetLowering::PerformDAGCombine(), llvm::MipsTargetLowering::PerformDAGCombine(), llvm::RISCVTargetLowering::PerformDAGCombine(), llvm::SITargetLowering::PerformDAGCombine(), llvm::ARMTargetLowering::PerformDAGCombine(), llvm::AArch64TargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::X86TargetLowering::PerformDAGCombine(), PerformExtractEltCombine(), PerformExtractEltToVMOVRRD(), llvm::AMDGPUTargetLowering::performFAbsCombine(), llvm::AMDGPUTargetLowering::performFNegCombine(), PerformHWLoopCombine(), PerformInsertEltCombine(), llvm::ARMTargetLowering::PerformIntrinsicCombine(), performIntrinsicCombine(), llvm::AMDGPUTargetLowering::performLoadCombine(), PerformLOADCombine(), llvm::AMDGPUTargetLowering::performMulCombine(), PerformMULCombine(), llvm::AMDGPUTargetLowering::performMulhsCombine(), llvm::AMDGPUTargetLowering::performMulhuCombine(), llvm::ARMTargetLowering::PerformMVEExtCombine(), llvm::ARMTargetLowering::PerformMVETruncCombine(), PerformMVEVLDCombine(), performORCombine(), PerformORCombine(), PerformORCombineToBFI(), PerformORCombineToSMULWBT(), performPostLD1Combine(), PerformPREDICATE_CASTCombine(), llvm::AMDGPUTargetLowering::performRcpCombine(), PerformREMCombine(), llvm::AMDGPUTargetLowering::performSelectCombine(), PerformSELECTCombine(), performSelectCombine(), PerformSETCCCombine(), PerformShiftCombine(), llvm::AMDGPUTargetLowering::performShlCombine(), PerformSHLSimplify(), llvm::AMDGPUTargetLowering::performSraCombine(), llvm::AMDGPUTargetLowering::performSrlCombine(), performSRLCombine(), llvm::AMDGPUTargetLowering::performStoreCombine(), PerformSTORECombine(), PerformSUBCombine(), performSVEAndCombine(), llvm::AMDGPUTargetLowering::performTruncateCombine(), PerformVDUPLANECombine(), performVECTOR_SHUFFLECombine(), performVectorConvertLowCombine(), performVectorExtendCombine(), performVectorTruncZeroCombine(), PerformVMOVhrCombine(), PerformVMOVNCombine(), PerformVMOVRRDCombine(), PerformVMULCombine(), PerformVQMOVNCombine(), PerformVSELECTCombine(), performXORCombine(), PerformXORCombine(), llvm::TargetLowering::SimplifyDemandedBits(), llvm::TargetLowering::SimplifyDemandedVectorElts(), simplifyMul24(), llvm::TargetLowering::SimplifySetCC(), llvm::AMDGPUTargetLowering::splitBinaryBitConstantOpImpl(), tryCombineToBSL(), tryCombineToEXTR(), and TryMULWIDECombine().

◆ DC

void* llvm::TargetLowering::DAGCombinerInfo::DC

Definition at line 3526 of file TargetLowering.h.

Referenced by AddToWorklist().

◆ Level

CombineLevel llvm::TargetLowering::DAGCombinerInfo::Level

The documentation for this struct was generated from the following files: