LLVM API Documentation
#include <SelectionDAG.h>
The representation used by the SelectionDAG is a target-independent representation, which has some similarities to the GCC RTL representation, but is significantly more simple, powerful, and is a graph form instead of a linear form.
Definition at line 75 of file SelectionDAG.h.
| typedef ilist<SDNode>::const_iterator llvm::SelectionDAG::allnodes_const_iterator |
Definition at line 170 of file SelectionDAG.h.
| typedef ilist<SDNode>::iterator llvm::SelectionDAG::allnodes_iterator |
Definition at line 173 of file SelectionDAG.h.
| SelectionDAG::SelectionDAG | ( | TargetLowering & | tli, | |
| FunctionLoweringInfo & | fli | |||
| ) |
Definition at line 789 of file SelectionDAG.cpp.
| SelectionDAG::~SelectionDAG | ( | ) |
Definition at line 803 of file SelectionDAG.cpp.
| void SelectionDAG::init | ( | MachineFunction & | mf, | |
| MachineModuleInfo * | mmi, | |||
| DwarfWriter * | dw | |||
| ) |
init - Prepare this SelectionDAG to process code in the given MachineFunction.
Definition at line 796 of file SelectionDAG.cpp.
Referenced by llvm::SelectionDAGISel::runOnFunction().
| void SelectionDAG::clear | ( | ) |
clear - Clear state and free memory necessary to make this SelectionDAG ready to process a new block.
Definition at line 814 of file SelectionDAG.cpp.
References getEntryNode(), llvm::BumpPtrAllocator::Reset(), Root, and llvm::SDNode::UseList.
Referenced by llvm::SelectionDAGLowering::clear().
| MachineFunction& llvm::SelectionDAG::getMachineFunction | ( | ) | const [inline] |
Definition at line 134 of file SelectionDAG.h.
Referenced by CalculateParameterAndLinkageAreaSize(), CalculateTailCallSPDiff(), CheckDAGForTailCallsAndFixThem(), CreateStackTemporary(), llvm::PIC16TargetLowering::ExpandFrameIndex(), llvm::SelectionDAGLowering::FindMergedConditions(), llvm::DOTGraphTraits< SelectionDAG * >::getGraphName(), llvm::SelectionDAGLowering::GetRegistersForValue(), llvm::X86TargetLowering::getReturnAddressFrameIndex(), InferAlignment(), llvm::X86TargetLowering::IsEligibleForTailCallOptimization(), llvm::PPCTargetLowering::IsEligibleForTailCallOptimization(), llvm::SparcTargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerCallTo(), LowerCTPOP(), LowerFORMAL_ARGUMENT(), LowerFORMAL_ARGUMENTS(), LowerLOAD(), LowerRET(), LowerSTORE(), LowerVECTOR_SHUFFLE(), MeetsMaxMemopRequirement(), PerformShuffleCombine(), llvm::X86InstrInfo::unfoldMemoryOperand(), and viewGraph().
| const TargetMachine & SelectionDAG::getTarget | ( | ) | const |
Definition at line 310 of file SelectionDAG.cpp.
References llvm::MachineFunction::getTarget(), and MF.
Referenced by llvm::SDNode::getOperationName(), llvm::SelectionDAGLowering::GetRegistersForValue(), InferAlignment(), llvm::SelectionDAGLowering::init(), LowerCALL(), LowerConstantPool(), LowerGlobalAddress(), LowerJumpTable(), and LowerRET().
| TargetLowering& llvm::SelectionDAG::getTargetLoweringInfo | ( | ) | const [inline] |
Definition at line 136 of file SelectionDAG.h.
Referenced by llvm::RegsForValue::AddInlineAsmOperands(), getCopyFromParts(), getCopyToParts(), getMemcpyLoadsAndStores(), getMemmoveLoadsAndStores(), getMemsetStores(), getMemsetValue(), llvm::SDNode::getOperationName(), isBLACompatibleAddress(), LowerCALL(), LowerFORMAL_ARGUMENTS(), LowerINSERT_VECTOR_ELT(), LowerINTRINSIC_WO_CHAIN(), LowerLOAD(), LowerMemOpCallTo(), LowerSTORE(), LowerVASTART(), LowerVECTOR_SHUFFLE(), PerformBTCombine(), and llvm::SelectionDAGISel::SelectInlineAsmMemoryOperands().
| FunctionLoweringInfo& llvm::SelectionDAG::getFunctionLoweringInfo | ( | ) | const [inline] |
| MachineModuleInfo* llvm::SelectionDAG::getMachineModuleInfo | ( | ) | const [inline] |
Definition at line 138 of file SelectionDAG.h.
Referenced by isVerifiedDebugInfoDesc(), and llvm::SelectionDAGLowering::LowerCallTo().
| DwarfWriter* llvm::SelectionDAG::getDwarfWriter | ( | ) | const [inline] |
| void SelectionDAG::viewGraph | ( | const std::string & | Title | ) |
viewGraph - Pop up a GraphViz/gv window with the DAG rendered using 'dot'.
viewGraph - Pop up a ghostview window with the reachable parts of the DAG rendered using 'dot'.
Definition at line 261 of file SelectionDAGPrinter.cpp.
References llvm::cerr(), getMachineFunction(), llvm::Intrinsic::getName(), and llvm::ViewGraph().
| void SelectionDAG::viewGraph | ( | ) |
Definition at line 274 of file SelectionDAGPrinter.cpp.
| void SelectionDAG::clearGraphAttrs | ( | ) |
clearGraphAttrs - Clear all previously defined node graph attributes. Intended to be used from a debugging tool (eg. gdb).
clearGraphAttrs - Clear all previously defined node graph attributes. Intended to be used from a debugging tool (eg. gdb).
Definition at line 280 of file SelectionDAGPrinter.cpp.
References llvm::cerr(), and NodeGraphAttrs.
| void SelectionDAG::setGraphAttrs | ( | const SDNode * | N, | |
| const char * | Attrs | |||
| ) |
setGraphAttrs - Set graph attributes for a node. (eg. "color=red".)
Definition at line 292 of file SelectionDAGPrinter.cpp.
References llvm::cerr(), and NodeGraphAttrs.
| const std::string SelectionDAG::getGraphAttrs | ( | const SDNode * | N | ) | const |
getGraphAttrs - Get graph attributes for a node. (eg. "color=red".) Used from getNodeAttributes.
getGraphAttrs - Get graph attributes for a node. (eg. "color=red".) Used from getNodeAttributes.
Definition at line 304 of file SelectionDAGPrinter.cpp.
References llvm::cerr(), and NodeGraphAttrs.
Referenced by llvm::DOTGraphTraits< SelectionDAG * >::getNodeAttributes().
| void SelectionDAG::setGraphColor | ( | const SDNode * | N, | |
| const char * | Color | |||
| ) |
setGraphColor - Convenience for setting node color attribute.
Definition at line 322 of file SelectionDAGPrinter.cpp.
References llvm::cerr(), and NodeGraphAttrs.
| void SelectionDAG::setSubgraphColor | ( | SDNode * | N, | |
| const char * | Color | |||
| ) |
setGraphColor - Convenience for setting subgraph color attribute.
setSubgraphColor - Convenience for setting subgraph color attribute.
Definition at line 366 of file SelectionDAGPrinter.cpp.
References llvm::cerr().
| allnodes_const_iterator llvm::SelectionDAG::allnodes_begin | ( | ) | const [inline] |
Definition at line 171 of file SelectionDAG.h.
Referenced by AssignTopologicalOrder(), CheckDAGForTailCallsAndFixThem(), llvm::GraphTraits< SelectionDAG * >::nodes_begin(), RemoveDeadNodes(), and llvm::DAGTypeLegalizer::run().
| allnodes_const_iterator llvm::SelectionDAG::allnodes_end | ( | ) | const [inline] |
Definition at line 172 of file SelectionDAG.h.
Referenced by AssignTopologicalOrder(), CheckDAGForTailCallsAndFixThem(), llvm::GraphTraits< SelectionDAG * >::nodes_end(), RemoveDeadNodes(), and llvm::DAGTypeLegalizer::run().
| allnodes_iterator llvm::SelectionDAG::allnodes_begin | ( | ) | [inline] |
Definition at line 174 of file SelectionDAG.h.
| allnodes_iterator llvm::SelectionDAG::allnodes_end | ( | ) | [inline] |
Definition at line 175 of file SelectionDAG.h.
| const SDValue& llvm::SelectionDAG::getRoot | ( | ) | const [inline] |
getRoot - Return the root tag of the SelectionDAG.
Definition at line 182 of file SelectionDAG.h.
Referenced by llvm::DOTGraphTraits< SelectionDAG * >::addCustomGraphFeatures(), CheckDAGForTailCallsAndFixThem(), llvm::SelectionDAGLowering::getControlRoot(), llvm::ScheduleDAGSDNodes::getCustomGraphFeatures(), llvm::SelectionDAGLowering::getRoot(), llvm::SparcTargetLowering::LowerArguments(), llvm::TargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), LowerSTORE(), RemoveDeadNodes(), and llvm::DAGTypeLegalizer::run().
| SDValue llvm::SelectionDAG::getEntryNode | ( | ) | const [inline] |
getEntryNode - Return the token chain corresponding to the entry of the function.
Definition at line 186 of file SelectionDAG.h.
Referenced by clear(), ExpandConstantFP(), ExpandLibCall(), llvm::SelectionDAGLowering::getValue(), llvm::IA64TargetLowering::LowerArguments(), LowerCALL(), LowerToTLSExecModel(), LowerToTLSGeneralDynamicModel32(), LowerToTLSGeneralDynamicModel64(), and LowerVECTOR_SHUFFLE().
setRoot - Set the current root tag of the SelectionDAG.
Definition at line 192 of file SelectionDAG.h.
References llvm::SDValue::getNode(), llvm::SDValue::getValueType(), and llvm::MVT::Other.
Referenced by llvm::SelectionDAGLowering::getControlRoot(), llvm::SelectionDAGLowering::getRoot(), llvm::SparcTargetLowering::LowerArguments(), llvm::TargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), llvm::SelectionDAGLowering::LowerCallTo(), LowerSTORE(), RemoveDeadNodes(), llvm::DAGTypeLegalizer::run(), llvm::SelectionDAGLowering::visitBitTestCase(), llvm::SelectionDAGLowering::visitBitTestHeader(), llvm::SelectionDAGLowering::visitJumpTable(), llvm::SelectionDAGLowering::visitJumpTableHeader(), and llvm::SelectionDAGLowering::visitSwitchCase().
| void SelectionDAG::Combine | ( | CombineLevel | Level, | |
| AliasAnalysis & | AA, | |||
| bool | Fast | |||
| ) |
Combine - This iterates over the nodes in the SelectionDAG, folding certain types of nodes together, or eliminating superfluous nodes. The Level argument controls whether Combine is allowed to produce nodes and types that are illegal on the target.
run - This is the main entry point to this class.
Definition at line 6104 of file DAGCombiner.cpp.
| bool SelectionDAG::LegalizeTypes | ( | ) |
LegalizeTypes - This transforms the SelectionDAG into a SelectionDAG that only uses types natively supported by the target. Returns "true" if it made any changes.
Note that this is an involved process that may invalidate pointers into the graph.
LegalizeTypes - This transforms the SelectionDAG into a SelectionDAG that only uses types natively supported by the target. Returns "true" if it made any changes.
Note that this is an involved process that may invalidate pointers into the graph.
Definition at line 1062 of file LegalizeTypes.cpp.
| void SelectionDAG::Legalize | ( | bool | TypesNeedLegalizing | ) |
Legalize - This transforms the SelectionDAG into a SelectionDAG that is compatible with the target instruction selector, as indicated by the TargetLowering object.
Note that this is an involved process that may invalidate pointers into the graph.
run - This is the main entry point to this class.
Definition at line 8630 of file LegalizeDAG.cpp.
| void SelectionDAG::RemoveDeadNodes | ( | ) |
RemoveDeadNodes - This method deletes all unreachable nodes in the SelectionDAG.
RemoveDeadNodes - This method deletes all unreachable nodes in the SelectionDAG.
Definition at line 521 of file SelectionDAG.cpp.
References allnodes_begin(), allnodes_end(), llvm::PIC16ISD::Dummy, E, getRoot(), llvm::HandleSDNode::getValue(), llvm::SmallVectorImpl< T >::push_back(), and setRoot().
Referenced by MorphNodeTo(), RemoveDeadNode(), and llvm::DAGTypeLegalizer::run().
| void SelectionDAG::DeleteNode | ( | SDNode * | N | ) |
DeleteNode - Remove the specified node from the system. This node must have no referrers.
Definition at line 576 of file SelectionDAG.cpp.
getVTList - Return an SDVTList that represents the list of values specified.
Definition at line 4300 of file SelectionDAG.cpp.
References makeVTList().
Referenced by llvm::TargetLowering::BuildSDIV(), llvm::TargetLowering::BuildUDIV(), ExpandBIT_CONVERT(), llvm::PIC16TargetLowering::ExpandLoad(), ExpandSRx(), getArgFlags(), getAtomic(), getBasicBlock(), getCALLSEQ_END(), getConstant(), getConstantFP(), getConstantPool(), llvm::RegsForValue::getCopyFromRegs(), getFrameIndex(), getGlobalAddress(), getIndexedStore(), getJumpTable(), getLabel(), getLoad(), getMemOperand(), getMergeValues(), getNode(), getNodeValueTypes(), llvm::PIC16TargetLowering::getPIC16Cmp(), getRegister(), getSrcValue(), getStore(), getTruncStore(), getVAArg(), getVTList(), llvm::PIC16TargetLowering::LowerADD(), llvm::TargetLowering::LowerArguments(), LowerBR_CC(), LowerCALL(), llvm::PIC16TargetLowering::LowerCALL(), llvm::PIC16TargetLowering::LowerCallArguments(), llvm::PIC16TargetLowering::LowerCallReturn(), llvm::TargetLowering::LowerCallTo(), LowerLOAD(), LowerRET(), llvm::PIC16TargetLowering::LowerSUB(), LowerToTLSGeneralDynamicModel32(), LowerToTLSGeneralDynamicModel64(), MorphNodeTo(), PerformBuildVectorCombine(), llvm::X86TargetLowering::ReplaceNodeResults(), and SelectNodeTo().
Definition at line 4304 of file SelectionDAG.cpp.
References llvm::BumpPtrAllocator::Allocate(), E, and makeVTList().
Definition at line 4318 of file SelectionDAG.cpp.
References llvm::BumpPtrAllocator::Allocate(), E, and makeVTList().
Definition at line 4334 of file SelectionDAG.cpp.
References llvm::BumpPtrAllocator::Allocate(), E, and makeVTList().
Definition at line 4351 of file SelectionDAG.cpp.
References llvm::BumpPtrAllocator::Allocate(), E, getVTList(), and makeVTList().
getNodeValueTypes - These are obsolete, use getVTList instead.
Definition at line 237 of file SelectionDAG.h.
References getVTList(), and llvm::SDVTList::VTs.
Referenced by getCALLSEQ_START(), getCopyFromReg(), getCopyToReg(), getNode(), and getTargetNode().
Definition at line 864 of file SelectionDAG.cpp.
References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorElementType(), and llvm::MVT::isVector().
Referenced by BuildGetId(), BuildIntrinsicOp(), llvm::TargetLowering::BuildSDIV(), BuildSplatI(), llvm::TargetLowering::BuildUDIV(), BuildVSLDOI(), CommuteVectorShuffle(), CommuteVectorShuffleMask(), CreateCopyOfByValArgument(), ExpandBIT_CONVERT(), ExpandConstantFP(), ExpandFCOPYSIGNToBitwiseOps(), llvm::PIC16TargetLowering::ExpandLoad(), ExpandSRx(), llvm::PIC16TargetLowering::ExpandStore(), ExpandUnalignedLoad(), ExpandUnalignedStore(), FoldConstantArithmetic(), FoldSetCC(), GeneratePerfectShuffle(), getARMCmp(), llvm::SPU::getBorrowGenerateShufMask(), llvm::SPU::getCarryGenerateShufMask(), getConstant(), getCopyFromParts(), getCopyToParts(), GetExponent(), getIndexedAddressParts(), getIntPtrConstant(), getMemBasePlusOffset(), getMemsetStringVal(), getMemsetValue(), getMOVLMask(), getNode(), getNOT(), llvm::PIC16TargetLowering::getPIC16Cmp(), getShuffleVectorZeroOrUndef(), GetSignificand(), getSwapEltZeroMask(), getTargetConstant(), getUnpackhMask(), getUnpacklMask(), llvm::SelectionDAGLowering::getValue(), getVShift(), getZeroExtendInReg(), isBLACompatibleAddress(), isLSAAddress(), llvm::SparcTargetLowering::LowerArguments(), llvm::TargetLowering::LowerArguments(), LowerBR_CC(), LowerBUILD_VECTOR(), LowerBuildVectorv16i8(), LowerCALL(), llvm::PIC16TargetLowering::LowerCALL(), llvm::PIC16TargetLowering::LowerCallArguments(), llvm::PIC16TargetLowering::LowerCallReturn(), llvm::IA64TargetLowering::LowerCallTo(), LowerConstantFP(), LowerConstantPool(), LowerCTPOP(), LowerDYNAMIC_STACKALLOC(), LowerEXTRACT_VECTOR_ELT(), LowerFCOPYSIGN(), LowerGlobalAddress(), LowerI8Math(), LowerINSERT_VECTOR_ELT(), LowerJumpTable(), LowerLOAD(), LowerMemOpCallTo(), llvm::IA64TargetLowering::LowerOperation(), llvm::AlphaTargetLowering::LowerOperation(), LowerRET(), LowerSCALAR_TO_VECTOR(), LowerSELECT_CC(), LowerSETCC(), llvm::SPU::LowerSplat_v2i64(), LowerSTORE(), LowerTRUNCATE(), LowerVAARG(), LowerVASTART(), LowerVECTOR_SHUFFLE(), LowerVECTOR_SHUFFLE_4wide(), LowerVECTOR_SHUFFLEv8i16(), NormalizeMask(), llvm::SPUTargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), PerformShiftCombine(), PerformSTORECombine(), PromoteSplat(), llvm::X86TargetLowering::ReplaceNodeResults(), llvm::PPCTargetLowering::ReplaceNodeResults(), RewriteAsNarrowerShuffle(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedConstant(), llvm::TargetLowering::SimplifyDemandedBits(), llvm::TargetLowering::SimplifySetCC(), TranslateX86CC(), llvm::SelectionDAGLowering::visitBitTestCase(), llvm::SelectionDAGLowering::visitBitTestHeader(), llvm::SelectionDAGLowering::visitJumpTableHeader(), and llvm::SelectionDAGLowering::visitSwitchCase().
Definition at line 872 of file SelectionDAG.cpp.
References llvm::ConstantInt::get(), and getConstant().
| SDValue SelectionDAG::getConstant | ( | const ConstantInt & | Val, | |
| MVT | VT, | |||
| bool | isTarget = false | |||
| ) |
Definition at line 876 of file SelectionDAG.cpp.
References AddNodeIDNode(), llvm::FoldingSetNodeID::AddPointer(), llvm::SmallVectorImpl< T >::assign(), llvm::ISD::BUILD_VECTOR, llvm::ISD::Constant, llvm::ConstantInt::getBitWidth(), getNode(), llvm::MVT::getVectorElementType(), llvm::MVT::getVectorNumElements(), getVTList(), llvm::MVT::isInteger(), llvm::MVT::isVector(), llvm::SmallVectorImpl< T >::size(), and llvm::ISD::TargetConstant.
| SDValue SelectionDAG::getIntPtrConstant | ( | uint64_t | Val, | |
| bool | isTarget = false | |||
| ) |
Definition at line 908 of file SelectionDAG.cpp.
References getConstant(), llvm::TargetLowering::getPointerTy(), and TLI.
Referenced by getCopyFromParts(), llvm::IA64TargetLowering::LowerArguments(), LowerBuildVectorv16i8(), LowerBuildVectorv8i16(), LowerCALL(), llvm::IA64TargetLowering::LowerCallTo(), llvm::AlphaTargetLowering::LowerCallTo(), llvm::PPCTargetLowering::PerformDAGCombine(), PerformShiftCombine(), and llvm::PPCTargetLowering::ReplaceNodeResults().
Definition at line 261 of file SelectionDAG.h.
References getConstant().
Referenced by llvm::RegsForValue::AddInlineAsmOperands(), CanonicalizeMovddup(), llvm::SPU::get_ILHUvec_imm(), llvm::SPU::get_v2i64_imm(), llvm::SPU::get_v4i32_imm(), llvm::SPU::get_vec_i10imm(), llvm::SPU::get_vec_i16imm(), llvm::SPU::get_vec_i8imm(), llvm::SPU::get_vec_u18imm(), llvm::PPC::get_VSPLTI_elt(), getAL(), getOnesVector(), getZeroVector(), llvm::X86TargetLowering::LowerAsmOperandForConstraint(), llvm::TargetLowering::LowerAsmOperandForConstraint(), llvm::PPCTargetLowering::LowerAsmOperandForConstraint(), LowerByteImmed(), llvm::SPU::LowerSplat_v2i64(), LowerVECTOR_SHUFFLE(), llvm::PPCTargetLowering::SelectAddressRegImm(), llvm::PPCTargetLowering::SelectAddressRegImmShift(), and llvm::SelectionDAGISel::SelectInlineAsmMemoryOperands().
| SDValue llvm::SelectionDAG::getTargetConstant | ( | const ConstantInt & | Val, | |
| MVT | VT | |||
| ) | [inline] |
Definition at line 951 of file SelectionDAG.cpp.
References llvm::lltok::APFloat, llvm::MVT::f32, llvm::MVT::getVectorElementType(), and llvm::MVT::isVector().
Referenced by ExpandFCOPYSIGNToBitwiseOps(), getConstantFP(), getF32Constant(), getMemsetValue(), GetNegatedExpression(), getNode(), getTargetConstantFP(), llvm::SelectionDAGLowering::getValue(), LowerFCOPYSIGN(), and LowerSETCC().
Definition at line 913 of file SelectionDAG.cpp.
References llvm::ConstantFP::get(), and getConstantFP().
| SDValue SelectionDAG::getConstantFP | ( | const ConstantFP & | CF, | |
| MVT | VT, | |||
| bool | isTarget = false | |||
| ) |
Definition at line 917 of file SelectionDAG.cpp.
References AddNodeIDNode(), llvm::FoldingSetNodeID::AddPointer(), llvm::SmallVectorImpl< T >::assign(), llvm::ISD::BUILD_VECTOR, llvm::ISD::ConstantFP, getNode(), llvm::MVT::getVectorElementType(), llvm::MVT::getVectorNumElements(), getVTList(), llvm::MVT::isFloatingPoint(), llvm::MVT::isVector(), llvm::SmallVectorImpl< T >::size(), and llvm::ISD::TargetConstantFP.
Definition at line 273 of file SelectionDAG.h.
References getConstantFP().
Referenced by getZeroVector().
| SDValue llvm::SelectionDAG::getTargetConstantFP | ( | const ConstantFP & | Val, | |
| MVT | VT | |||
| ) | [inline] |
| SDValue SelectionDAG::getGlobalAddress | ( | const GlobalValue * | GV, | |
| MVT | VT, | |||
| int64_t | offset = 0, |
|||
| bool | isTargetGA = false | |||
| ) |
Definition at line 960 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::FoldingSetNodeID::AddPointer(), llvm::dyn_cast(), E, llvm::TargetLowering::getPointerTy(), llvm::MVT::getSizeInBits(), getVTList(), llvm::ISD::GlobalAddress, llvm::ISD::GlobalTLSAddress, llvm::GlobalVariable::isThreadLocal(), llvm::ISD::TargetGlobalAddress, llvm::ISD::TargetGlobalTLSAddress, and TLI.
Referenced by getTargetGlobalAddress(), and llvm::SelectionDAGLowering::getValue().
| SDValue llvm::SelectionDAG::getTargetGlobalAddress | ( | const GlobalValue * | GV, | |
| MVT | VT, | |||
| int64_t | offset = 0 | |||
| ) | [inline] |
Definition at line 284 of file SelectionDAG.h.
References getGlobalAddress(), and offset.
Referenced by llvm::PIC16TargetLowering::ExpandGlobalAddress(), llvm::X86TargetLowering::LowerAsmOperandForConstraint(), llvm::TargetLowering::LowerAsmOperandForConstraint(), LowerCALL(), llvm::PIC16TargetLowering::LowerCALL(), LowerGlobalAddress(), LowerGLOBALADDRESS(), llvm::AlphaTargetLowering::LowerOperation(), LowerToTLSExecModel(), LowerToTLSGeneralDynamicModel32(), and LowerToTLSGeneralDynamicModel64().
Definition at line 996 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), E, llvm::ISD::FrameIndex, getVTList(), and llvm::ISD::TargetFrameIndex.
Referenced by CalculateTailCallArgDest(), CreateStackTemporary(), EmitTailCallStoreFPAndRetAddr(), EmitTailCallStoreRetAddr(), llvm::X86TargetLowering::getReturnAddressFrameIndex(), getTargetFrameIndex(), llvm::SelectionDAGLowering::getValue(), llvm::SparcTargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), LowerFORMAL_ARGUMENT(), LowerFORMAL_ARGUMENTS(), llvm::IA64TargetLowering::LowerOperation(), llvm::AlphaTargetLowering::LowerOperation(), and LowerVASTART().
Definition at line 289 of file SelectionDAG.h.
References getFrameIndex().
Referenced by llvm::PIC16TargetLowering::ExpandFrameIndex(), llvm::PPCTargetLowering::SelectAddressRegImm(), and llvm::PPCTargetLowering::SelectAddressRegImmShift().
Definition at line 1011 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), E, getVTList(), llvm::ISD::JumpTable, and llvm::ISD::TargetJumpTable.
Referenced by getTargetJumpTable(), and llvm::SelectionDAGLowering::visitJumpTable().
Definition at line 293 of file SelectionDAG.h.
References getJumpTable().
Referenced by LowerJumpTable().
| SDValue SelectionDAG::getConstantPool | ( | Constant * | C, | |
| MVT | VT, | |||
| unsigned | Align = 0, |
|||
| int | Offs = 0, |
|||
| bool | isT = false | |||
| ) |
Definition at line 1026 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::FoldingSetNodeID::AddPointer(), llvm::ISD::ConstantPool, E, llvm::TargetData::getPreferredTypeAlignmentShift(), llvm::TargetLowering::getTargetData(), llvm::Value::getType(), getVTList(), llvm::ISD::TargetConstantPool, and TLI.
Referenced by ExpandConstantFP(), and getTargetConstantPool().
| SDValue llvm::SelectionDAG::getTargetConstantPool | ( | Constant * | C, | |
| MVT | VT, | |||
| unsigned | Align = 0, |
|||
| int | Offset = 0 | |||
| ) | [inline] |
Definition at line 298 of file SelectionDAG.h.
References Align, getConstantPool(), and Offset.
Referenced by LowerCONSTANTPOOL(), LowerConstantPool(), and llvm::AlphaTargetLowering::LowerOperation().
| SDValue SelectionDAG::getConstantPool | ( | MachineConstantPoolValue * | C, | |
| MVT | VT, | |||
| unsigned | Align = 0, |
|||
| int | Offs = 0, |
|||
| bool | isT = false | |||
| ) |
Definition at line 1049 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::MachineConstantPoolValue::AddSelectionDAGCSEId(), llvm::ISD::ConstantPool, E, llvm::TargetData::getPreferredTypeAlignmentShift(), llvm::TargetLowering::getTargetData(), llvm::MachineConstantPoolValue::getType(), getVTList(), llvm::ISD::TargetConstantPool, and TLI.
| SDValue llvm::SelectionDAG::getTargetConstantPool | ( | MachineConstantPoolValue * | C, | |
| MVT | VT, | |||
| unsigned | Align = 0, |
|||
| int | Offset = 0 | |||
| ) | [inline] |
| SDValue SelectionDAG::getBasicBlock | ( | MachineBasicBlock * | MBB | ) |
Definition at line 1072 of file SelectionDAG.cpp.
References AddNodeIDNode(), llvm::FoldingSetNodeID::AddPointer(), llvm::ISD::BasicBlock, E, getVTList(), and llvm::MVT::Other.
Referenced by AddNodeIDCustom(), llvm::SelectionDAGLowering::visitBitTestCase(), llvm::SelectionDAGLowering::visitBitTestHeader(), llvm::SelectionDAGLowering::visitJumpTableHeader(), and llvm::SelectionDAGLowering::visitSwitchCase().
| SDValue SelectionDAG::getBasicBlock | ( | MachineBasicBlock * | MBB, | |
| DebugLoc | dl | |||
| ) |
Definition at line 1086 of file SelectionDAG.cpp.
References AddNodeIDNode(), llvm::FoldingSetNodeID::AddPointer(), llvm::ISD::BasicBlock, E, getVTList(), and llvm::MVT::Other.
Definition at line 1128 of file SelectionDAG.cpp.
Referenced by ExpandLibCall(), getMemcpy(), getMemmove(), getMemset(), and llvm::AlphaTargetLowering::LowerOperation().
Definition at line 1137 of file SelectionDAG.cpp.
Definition at line 1146 of file SelectionDAG.cpp.
Referenced by llvm::PIC16TargetLowering::ExpandExternalSymbol(), LowerCALL(), llvm::PIC16TargetLowering::LowerCALL(), llvm::AlphaTargetLowering::LowerOperation(), LowerToTLSGeneralDynamicModel32(), and LowerToTLSGeneralDynamicModel64().
Definition at line 1155 of file SelectionDAG.cpp.
| SDValue SelectionDAG::getArgFlags | ( | ISD::ArgFlagsTy | Flags | ) |
Definition at line 1100 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::ISD::ARG_FLAGS, E, llvm::ISD::ArgFlagsTy::getRawBits(), getVTList(), and llvm::MVT::Other.
Referenced by AddNodeIDCustom(), llvm::TargetLowering::LowerArguments(), and llvm::TargetLowering::LowerCallTo().
Definition at line 1114 of file SelectionDAG.cpp.
References llvm::MVT::getSimpleVT(), llvm::MVT::isExtended(), and llvm::MVT::isSimple().
Referenced by getCopyFromParts(), llvm::RegsForValue::getCopyFromRegs(), getNode(), llvm::SparcTargetLowering::LowerArguments(), llvm::AlphaTargetLowering::LowerCallTo(), and llvm::PPCTargetLowering::PerformDAGCombine().
Definition at line 1197 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), E, getVTList(), and llvm::ISD::Register.
Referenced by llvm::RegsForValue::AddInlineAsmOperands(), getCopyFromReg(), getCopyToReg(), LowerBR_CC(), LowerCALL(), llvm::IA64TargetLowering::LowerCallTo(), LowerFCOPYSIGN(), LowerFORMAL_ARGUMENTS(), LowerINSERT_VECTOR_ELT(), LowerMemOpCallTo(), LowerRET(), LowerSELECT_CC(), LowerToTLSGeneralDynamicModel32(), LowerToTLSGeneralDynamicModel64(), LowerVASTART(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::SelectAddressRegImm(), llvm::PPCTargetLowering::SelectAddressRegImmShift(), and llvm::PPCTargetLowering::SelectAddressRegRegOnly().
Definition at line 1211 of file SelectionDAG.cpp.
Definition at line 1220 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), E, getVTList(), and llvm::MVT::Other.
Referenced by llvm::SelectionDAGLowering::LowerCallTo().
Definition at line 1237 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), E, getVTList(), and llvm::MVT::Other.
Definition at line 324 of file SelectionDAG.h.
References llvm::ISD::CopyToReg, getNode(), getRegister(), llvm::SDValue::getValueType(), and llvm::MVT::Other.
Referenced by CheckDAGForTailCallsAndFixThem(), llvm::RegsForValue::getCopyToRegs(), LowerCALL(), llvm::IA64TargetLowering::LowerCallTo(), LowerCTPOP(), LowerDYNAMIC_STACKALLOC(), LowerLOAD(), llvm::IA64TargetLowering::LowerOperation(), LowerRET(), LowerSTORE(), LowerToTLSGeneralDynamicModel32(), LowerToTLSGeneralDynamicModel64(), LowerVECTOR_SHUFFLE(), llvm::X86TargetLowering::ReplaceNodeResults(), llvm::SelectionDAGLowering::visitBitTestHeader(), and llvm::SelectionDAGLowering::visitJumpTableHeader().
| SDValue llvm::SelectionDAG::getCopyToReg | ( | SDValue | Chain, | |
| unsigned | Reg, | |||
| SDValue | N, | |||
| SDValue | Flag | |||
| ) | [inline] |
Definition at line 332 of file SelectionDAG.h.
References llvm::ISD::CopyToReg, llvm::MVT::Flag, llvm::SDValue::getNode(), getNode(), getNodeValueTypes(), getRegister(), llvm::SDValue::getValueType(), and llvm::MVT::Other.
| SDValue llvm::SelectionDAG::getCopyToReg | ( | SDValue | Chain, | |
| SDValue | Reg, | |||
| SDValue | N, | |||
| SDValue | Flag | |||
| ) | [inline] |
Definition at line 340 of file SelectionDAG.h.
References llvm::ISD::CopyToReg, llvm::MVT::Flag, llvm::SDValue::getNode(), getNode(), getNodeValueTypes(), and llvm::MVT::Other.
Definition at line 347 of file SelectionDAG.h.
References llvm::ISD::CopyFromReg, getNode(), getNodeValueTypes(), getRegister(), and llvm::MVT::Other.
Referenced by CheckDAGForTailCallsAndFixThem(), llvm::RegsForValue::getCopyFromRegs(), llvm::SparcTargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), LowerCALL(), llvm::IA64TargetLowering::LowerCallTo(), LowerCTPOP(), LowerDYNAMIC_STACKALLOC(), LowerFORMAL_ARGUMENT(), LowerFORMAL_ARGUMENTS(), LowerLOAD(), llvm::IA64TargetLowering::LowerOperation(), LowerSTORE(), LowerToTLSGeneralDynamicModel32(), LowerToTLSGeneralDynamicModel64(), LowerVECTOR_SHUFFLE(), llvm::X86TargetLowering::ReplaceNodeResults(), llvm::SelectionDAGLowering::visitBitTestCase(), and llvm::SelectionDAGLowering::visitJumpTable().
| SDValue llvm::SelectionDAG::getCopyFromReg | ( | SDValue | Chain, | |
| unsigned | Reg, | |||
| MVT | VT, | |||
| SDValue | Flag | |||
| ) | [inline] |
Definition at line 356 of file SelectionDAG.h.
References llvm::ISD::CopyFromReg, llvm::MVT::Flag, llvm::SDValue::getNode(), getNode(), getNodeValueTypes(), getRegister(), and llvm::MVT::Other.
| SDValue SelectionDAG::getCondCode | ( | ISD::CondCode | Cond | ) |
Definition at line 1165 of file SelectionDAG.cpp.
Referenced by getSelectCC(), getSetCC(), and getVSetCC().
| SDValue SelectionDAG::getConvertRndSat | ( | MVT | VT, | |
| SDValue | Val, | |||
| SDValue | DTy, | |||
| SDValue | STy, | |||
| SDValue | Rnd, | |||
| SDValue | Sat, | |||
| ISD::CvtCode | Code | |||
| ) |
Returns the ConvertRndSat Note: Avoid using this node because it may disappear in the future and most targets don't support it.
Definition at line 1178 of file SelectionDAG.cpp.
References E.
getZeroExtendInReg - Return the expression required to zero extend the Op value assuming it was the smaller SrcTy value.
Definition at line 832 of file SelectionDAG.cpp.
References llvm::ISD::AND, getConstant(), llvm::APInt::getLowBitsSet(), getNode(), llvm::MVT::getSizeInBits(), llvm::SDValue::getValueSizeInBits(), llvm::SDValue::getValueType(), and Imm.
Definition at line 840 of file SelectionDAG.cpp.
References llvm::ISD::AND, getConstant(), llvm::APInt::getLowBitsSet(), getNode(), llvm::MVT::getSizeInBits(), llvm::SDValue::getValueSizeInBits(), llvm::SDValue::getValueType(), and Imm.
getNOT - Create a bitwise NOT operation as (XOR Val, -1).
getNOT - Create a bitwise NOT operation as (XOR Val, -1).
Definition at line 850 of file SelectionDAG.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::APInt::getAllOnesValue(), getConstant(), getNode(), llvm::MVT::getSizeInBits(), llvm::MVT::getVectorElementType(), llvm::MVT::getVectorNumElements(), llvm::MVT::isVector(), and llvm::ISD::XOR.
Referenced by llvm::TargetLowering::SimplifySetCC().
getCALLSEQ_START - Return a new CALLSEQ_START node, which always must have a flag result (to ensure it's not CSE'd).
Definition at line 380 of file SelectionDAG.h.
References llvm::ISD::CALLSEQ_START, llvm::MVT::Flag, getNode(), getNodeValueTypes(), and llvm::MVT::Other.
Referenced by LowerCALL(), llvm::PIC16TargetLowering::LowerCALL(), llvm::IA64TargetLowering::LowerCallTo(), and llvm::AlphaTargetLowering::LowerCallTo().
| SDValue llvm::SelectionDAG::getCALLSEQ_END | ( | SDValue | Chain, | |
| SDValue | Op1, | |||
| SDValue | Op2, | |||
| SDValue | InFlag | |||
| ) | [inline] |
getCALLSEQ_END - Return a new CALLSEQ_END node, which always must have a flag result (to ensure it's not CSE'd).
Definition at line 388 of file SelectionDAG.h.
References llvm::ISD::CALLSEQ_END, llvm::MVT::Flag, llvm::SDValue::getNode(), getNode(), getVTList(), llvm::MVT::Other, llvm::SmallVectorImpl< T >::push_back(), and llvm::SmallVectorImpl< T >::size().
Referenced by LowerCALL(), llvm::PIC16TargetLowering::LowerCALL(), llvm::IA64TargetLowering::LowerCallTo(), and llvm::AlphaTargetLowering::LowerCallTo().
getNode - Gets or creates the specified node.
Definition at line 2181 of file SelectionDAG.cpp.
References llvm::DebugLoc::getUnknownLoc().
Referenced by BuildGetId(), BuildIntrinsicOp(), llvm::TargetLowering::BuildSDIV(), BuildSplatI(), llvm::TargetLowering::BuildUDIV(), BuildVSLDOI(), CanonicalizeMovddup(), combineSelectAndUse(), combineShlAddConstant(), CommuteVectorShuffle(), CommuteVectorShuffleMask(), ExpandBIT_CONVERT(), llvm::PIC16TargetLowering::ExpandExternalSymbol(), ExpandFCOPYSIGNToBitwiseOps(), llvm::PIC16TargetLowering::ExpandFrameIndex(), llvm::PIC16TargetLowering::ExpandGlobalAddress(), llvm::PIC16TargetLowering::ExpandLoad(), ExpandSRx(), llvm::PIC16TargetLowering::ExpandStore(), ExpandUnalignedLoad(), ExpandUnalignedStore(), FoldSetCC(), GeneratePerfectShuffle(), getARMCmp(), llvm::SPU::getBorrowGenerateShufMask(), getCALLSEQ_END(), getCALLSEQ_START(), llvm::SPU::getCarryGenerateShufMask(), getConstant(), getConstantFP(), llvm::SelectionDAGLowering::getControlRoot(), getCopyFromParts(), getCopyFromReg(), llvm::RegsForValue::getCopyFromRegs(), getCopyToParts(), getCopyToReg(), llvm::RegsForValue::getCopyToRegs(), GetExponent(), getExtLoad(), getLoad(), getMemBasePlusOffset(), getMemcpyLoadsAndStores(), getMemmoveLoadsAndStores(), getMemset(), getMemsetStringVal(), getMemsetValue(), getMergeValues(), getMOVLMask(), GetNegatedExpression(), getNode(), getNOT(), getOnesVector(), llvm::PIC16TargetLowering::getPIC16Cmp(), llvm::X86TargetLowering::getPICJumpTableRelocBase(), llvm::TargetLowering::getPICJumpTableRelocBase(), llvm::SelectionDAGLowering::GetRegistersForValue(), llvm::SelectionDAGLowering::getRoot(), getSelectCC(), getSetCC(), getShiftAmountOperand(), getShuffleScalarElt(), getShuffleVectorZeroOrUndef(), GetSignificand(), getStore(), getSwapEltZeroMask(), getTargetNode(), getTruncStore(), getUnpackhMask(), getUnpacklMask(), getVAArg(), llvm::SelectionDAGLowering::getValue(), getVFPCmp(), getVSetCC(), getVShift(), getVZextMovL(), getZeroExtendInReg(), getZeroVector(), llvm::PIC16TargetLowering::LowerADD(), llvm::SparcTargetLowering::LowerArguments(), llvm::TargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), llvm::PIC16TargetLowering::LowerBinOp(), llvm::PIC16TargetLowering::LowerBR_CC(), LowerBR_CC(), LowerBUILD_VECTOR(), LowerBuildVectorv16i8(), LowerBuildVectorv8i16(), LowerByteImmed(), LowerCALL(), llvm::PIC16TargetLowering::LowerCALL(), llvm::PIC16TargetLowering::LowerCallArguments(), llvm::PIC16TargetLowering::LowerCallReturn(), llvm::TargetLowering::LowerCallTo(), llvm::IA64TargetLowering::LowerCallTo(), llvm::AlphaTargetLowering::LowerCallTo(), LowerConstantFP(), LowerCONSTANTPOOL(), LowerConstantPool(), LowerCTPOP(), LowerDYNAMIC_STACKALLOC(), LowerEXTRACT_VECTOR_ELT(), LowerFCOPYSIGN(), LowerFORMAL_ARGUMENT(), llvm::PIC16TargetLowering::LowerFORMAL_ARGUMENTS(), LowerFORMAL_ARGUMENTS(), LowerFP_TO_INT(), LowerFP_TO_SINT(), LowerGlobalAddress(), LowerGLOBALADDRESS(), LowerI8Math(), LowerINSERT_VECTOR_ELT(), LowerINT_TO_FP(), LowerINTRINSIC_WO_CHAIN(), LowerJumpTable(), LowerLOAD(), LowerMemOpCallTo(), llvm::IA64TargetLowering::LowerOperation(), llvm::AlphaTargetLowering::LowerOperation(), LowerRET(), LowerSCALAR_TO_VECTOR(), llvm::PIC16TargetLowering::LowerSELECT_CC(), LowerSELECT_CC(), LowerSETCC(), LowerSINT_TO_FP(), llvm::SPU::LowerSplat_v2i64(), LowerSTORE(), llvm::PIC16TargetLowering::LowerSUB(), LowerToTLSExecModel(), LowerToTLSGeneralDynamicModel32(), LowerToTLSGeneralDynamicModel64(), LowerTRUNCATE(), LowerVAARG(), LowerVASTART(), LowerVECTOR_SHUFFLE(), LowerVECTOR_SHUFFLE_4wide(), LowerVECTOR_SHUFFLEv8i16(), MoveBelowCallSeqStart(), NormalizeMask(), PerformBuildVectorCombine(), llvm::SPUTargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), PerformSELECTCombine(), PerformShiftCombine(), PerformSTORECombine(), PromoteSplat(), llvm::X86TargetLowering::ReplaceNodeResults(), llvm::PPCTargetLowering::ReplaceNodeResults(), RewriteAsNarrowerShuffle(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedConstant(), llvm::TargetLowering::SimplifyDemandedBits(), llvm::TargetLowering::SimplifySetCC(), llvm::SelectionDAGLowering::visitBitTestCase(), llvm::SelectionDAGLowering::visitBitTestHeader(), llvm::SelectionDAGLowering::visitJumpTable(), llvm::SelectionDAGLowering::visitJumpTableHeader(), and llvm::SelectionDAGLowering::visitSwitchCase().
Definition at line 2185 of file SelectionDAG.cpp.
References AddNodeIDNode(), E, llvm::SDNode::getSDVTList(), and getVTList().
Definition at line 2202 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
Definition at line 2206 of file SelectionDAG.cpp.
References AddNodeIDNode(), llvm::ISD::ANY_EXTEND, llvm::lltok::APFloat, llvm::ISD::BIT_CONVERT, llvm::APFloat::bitcastToAPInt(), llvm::MVT::bitsGT(), llvm::MVT::bitsLT(), llvm::APInt::bitsToDouble(), llvm::APInt::bitsToFloat(), llvm::ISD::BSWAP, llvm::APInt::byteSwap(), llvm::CallingConv::C, llvm::APFloat::changeSign(), llvm::APFloat::clearSign(), llvm::ISD::CONCAT_VECTORS, llvm::APFloat::convert(), llvm::APFloat::convertFromAPInt(), llvm::APFloat::convertToInteger(), llvm::APInt::countLeadingZeros(), llvm::APInt::countPopulation(), llvm::APInt::countTrailingZeros(), llvm::ISD::CTLZ, llvm::ISD::CTPOP, llvm::ISD::CTTZ, E, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::MVT::f32, llvm::MVT::f64, llvm::ISD::FABS, llvm::MVT::Flag, llvm::ISD::FNEG, llvm::ISD::FP_EXTEND, llvm::ISD::FP_ROUND, llvm::ISD::FP_TO_SINT, llvm::ISD::FP_TO_UINT, llvm::ISD::FSUB, getConstant(), getConstantFP(), llvm::SDValue::getConstantOperandVal(), getNode(), llvm::SDValue::getNode(), llvm::SDValue::getOpcode(), llvm::SDNode::getOpcode(), llvm::SDValue::getOperand(), llvm::SDNode::getOperand(), llvm::MVT::getSizeInBits(), llvm::SDValue::getValueType(), llvm::MVT::getVectorElementType(), getVTList(), llvm::APInt::getZExtValue(), llvm::MVT::i32, llvm::MVT::i64, llvm::integerPartWidth, llvm::MVT::isFloatingPoint(), llvm::MVT::isInteger(), llvm::MVT::isVector(), llvm::ISD::MERGE_VALUES, MVTToAPFloatSemantics(), llvm::APFloat::opInvalidOp, llvm::MVT::ppcf128, llvm::APFloat::rmNearestTiesToEven, llvm::APFloat::rmTowardZero, llvm::ISD::SCALAR_TO_VECTOR, llvm::ISD::SIGN_EXTEND, llvm::ISD::SINT_TO_FP, llvm::ISD::TokenFactor, llvm::ISD::TRUNCATE, llvm::ISD::UINT_TO_FP, llvm::ISD::UNDEF, llvm::UnsafeFPMath, V, Val, and llvm::ISD::ZERO_EXTEND.
Definition at line 2451 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
Definition at line 2456 of file SelectionDAG.cpp.
References llvm::APFloat::add(), llvm::ISD::ADD, llvm::ISD::ADDC, llvm::ISD::ADDE, AddNodeIDNode(), llvm::ISD::AND, llvm::APInt::ashr(), llvm::ISD::AssertSext, llvm::ISD::AssertZext, llvm::MVT::bitsLE(), llvm::ISD::BUILD_PAIR, llvm::ISD::BUILD_VECTOR, llvm::CallingConv::C, llvm::ISD::CONCAT_VECTORS, llvm::APFloat::copySign(), llvm::APFloat::divide(), llvm::dyn_cast(), E, llvm::ISD::EntryToken, llvm::ISD::EXTRACT_ELEMENT, llvm::ISD::EXTRACT_SUBVECTOR, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::ISD::FADD, llvm::ISD::FCOPYSIGN, llvm::ISD::FDIV, llvm::MVT::Flag, llvm::ISD::FMUL, FoldConstantArithmetic(), llvm::ISD::FP_ROUND, llvm::ISD::FP_ROUND_INREG, llvm::ISD::FREM, llvm::ISD::FSUB, llvm::APInt::getAllOnesValue(), llvm::ConstantSDNode::getAPIntValue(), llvm::APInt::getBitWidth(), getConstant(), getConstantFP(), getNode(), llvm::SDValue::getNode(), llvm::SDValue::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::MVT::getSizeInBits(), llvm::ConstantFPSDNode::getValueAPF(), llvm::SDValue::getValueType(), llvm::MVT::getVectorNumElements(), getVTList(), llvm::MVT::i1, llvm::ISD::INSERT_VECTOR_ELT, isCommutativeBinOp(), llvm::MVT::isFloatingPoint(), llvm::MVT::isInteger(), llvm::MVT::isVector(), llvm::APFloat::mod(), llvm::ISD::MUL, llvm::ISD::MULHS, llvm::ISD::MULHU, llvm::APFloat::multiply(), llvm::SDNode::op_begin(), llvm::SDNode::op_end(), llvm::APFloat::opDivByZero, llvm::APFloat::opInvalidOp, llvm::ISD::OR, llvm::MVT::Other, llvm::MVT::ppcf128, llvm::APFloat::rmNearestTiesToEven, llvm::ISD::ROTL, llvm::ISD::ROTR, llvm::ISD::SDIV, llvm::ISD::SHL, llvm::ISD::SIGN_EXTEND_INREG, llvm::ISD::SRA, llvm::ISD::SREM, llvm::ISD::SRL, llvm::ISD::SUB, llvm::APFloat::subtract(), std::swap(), llvm::ISD::TokenFactor, llvm::APInt::trunc(), llvm::ISD::UDIV, llvm::ISD::UNDEF, llvm::UnsafeFPMath, llvm::ISD::UREM, V1, Val, and llvm::ISD::XOR.
Definition at line 2816 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
| SDValue SelectionDAG::getNode | ( | unsigned | Opcode, | |
| DebugLoc | DL, | |||
| MVT | VT, | |||
| SDValue | N1, | |||
| SDValue | N2, | |||
| SDValue | N3 | |||
| ) |
Definition at line 2821 of file SelectionDAG.cpp.
References AddNodeIDNode(), llvm::ISD::BIT_CONVERT, llvm::ISD::BR, llvm::ISD::BRCOND, llvm::ISD::BUILD_VECTOR, llvm::ISD::CONCAT_VECTORS, llvm::dyn_cast(), E, llvm::MVT::Flag, FoldSetCC(), getNode(), llvm::SDValue::getNode(), llvm::SDValue::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDValue::getValueType(), llvm::MVT::getVectorNumElements(), getVTList(), llvm::ConstantSDNode::getZExtValue(), llvm::MVT::isVector(), llvm::SDNode::op_begin(), llvm::SDNode::op_end(), llvm::MVT::Other, llvm::ISD::SELECT, llvm::ISD::SETCC, and llvm::ISD::VECTOR_SHUFFLE.
| SDValue SelectionDAG::getNode | ( | unsigned | Opcode, | |
| MVT | VT, | |||
| SDValue | N1, | |||
| SDValue | N2, | |||
| SDValue | N3, | |||
| SDValue | N4 | |||
| ) |
Definition at line 2902 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
| SDValue SelectionDAG::getNode | ( | unsigned | Opcode, | |
| MVT | VT, | |||
| SDValue | N1, | |||
| SDValue | N2, | |||
| SDValue | N3, | |||
| SDValue | N4, | |||
| SDValue | N5 | |||
| ) |
Definition at line 2915 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
Definition at line 4046 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
Definition at line 4067 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
| SDValue SelectionDAG::getNode | ( | unsigned | Opcode, | |
| DebugLoc | DL, | |||
| MVT | VT, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4072 of file SelectionDAG.cpp.
References AddNodeIDNode(), llvm::ISD::BR_CC, E, llvm::MVT::Flag, getNode(), getValueType(), getVTList(), and llvm::ISD::SELECT_CC.
| SDValue SelectionDAG::getNode | ( | unsigned | Opcode, | |
| const std::vector< MVT > & | ResultTys, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4129 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
| SDValue SelectionDAG::getNode | ( | unsigned | Opcode, | |
| const MVT * | VTs, | |||
| unsigned | NumVTs, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4142 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
| SDValue SelectionDAG::getNode | ( | unsigned | Opcode, | |
| SDVTList | VTs, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4156 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
| SDValue SelectionDAG::getNode | ( | unsigned | Opcode, | |
| DebugLoc | DL, | |||
| SDVTList | VTs, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4161 of file SelectionDAG.cpp.
References AddNodeIDNode(), llvm::ISD::AND, E, llvm::MVT::Flag, getNode(), llvm::MVT::getSizeInBits(), llvm::MVT::i1, llvm::SDVTList::NumVTs, llvm::ISD::SHL_PARTS, llvm::ISD::SIGN_EXTEND_INREG, llvm::ISD::SRA_PARTS, llvm::ISD::SRL_PARTS, and llvm::SDVTList::VTs.
Definition at line 4233 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
Definition at line 4241 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
Definition at line 4252 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
Definition at line 4263 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
| SDValue SelectionDAG::getNode | ( | unsigned | Opcode, | |
| SDVTList | VTs, | |||
| SDValue | N1, | |||
| SDValue | N2, | |||
| SDValue | N3, | |||
| SDValue | N4 | |||
| ) |
Definition at line 4274 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
| SDValue SelectionDAG::getNode | ( | unsigned | Opcode, | |
| SDVTList | VTs, | |||
| SDValue | N1, | |||
| SDValue | N2, | |||
| SDValue | N3, | |||
| SDValue | N4, | |||
| SDValue | N5 | |||
| ) |
Definition at line 4287 of file SelectionDAG.cpp.
References getNode(), and llvm::DebugLoc::getUnknownLoc().
| SDValue SelectionDAG::getMemcpy | ( | SDValue | Chain, | |
| SDValue | Dst, | |||
| SDValue | Src, | |||
| SDValue | Size, | |||
| unsigned | Align, | |||
| bool | AlwaysInline, | |||
| const Value * | DstSV, | |||
| uint64_t | DstSVOff, | |||
| const Value * | SrcSV, | |||
| uint64_t | SrcSVOff | |||
| ) |
Definition at line 3258 of file SelectionDAG.cpp.
References llvm::CallingConv::C, llvm::dyn_cast(), llvm::TargetLowering::EmitTargetCodeForMemcpy(), Entry, getExternalSymbol(), llvm::TargetData::getIntPtrType(), getMemcpyLoadsAndStores(), llvm::SDValue::getNode(), llvm::TargetLowering::getPointerTy(), llvm::TargetLowering::getTargetData(), llvm::DebugLoc::getUnknownLoc(), llvm::ConstantSDNode::getZExtValue(), llvm::ConstantSDNode::isNullValue(), llvm::TargetLowering::LowerCallTo(), llvm::TargetLowering::ArgListEntry::Node, TLI, llvm::TargetLowering::ArgListEntry::Ty, and llvm::Type::VoidTy.
Referenced by CreateCopyOfByValArgument().
| SDValue SelectionDAG::getMemmove | ( | SDValue | Chain, | |
| SDValue | Dst, | |||
| SDValue | Src, | |||
| SDValue | Size, | |||
| unsigned | Align, | |||
| const Value * | DstSV, | |||
| uint64_t | DstOSVff, | |||
| const Value * | SrcSV, | |||
| uint64_t | SrcSVOff | |||
| ) |
Definition at line 3314 of file SelectionDAG.cpp.
References llvm::CallingConv::C, llvm::dyn_cast(), llvm::TargetLowering::EmitTargetCodeForMemmove(), Entry, getExternalSymbol(), llvm::TargetData::getIntPtrType(), getMemmoveLoadsAndStores(), llvm::SDValue::getNode(), llvm::TargetLowering::getPointerTy(), llvm::TargetLowering::getTargetData(), llvm::DebugLoc::getUnknownLoc(), llvm::ConstantSDNode::getZExtValue(), llvm::ConstantSDNode::isNullValue(), llvm::TargetLowering::LowerCallTo(), llvm::TargetLowering::ArgListEntry::Node, TLI, llvm::TargetLowering::ArgListEntry::Ty, and llvm::Type::VoidTy.
| SDValue SelectionDAG::getMemset | ( | SDValue | Chain, | |
| SDValue | Dst, | |||
| SDValue | Src, | |||
| SDValue | Size, | |||
| unsigned | Align, | |||
| const Value * | DstSV, | |||
| uint64_t | DstSVOff | |||
| ) |
Definition at line 3360 of file SelectionDAG.cpp.
References llvm::MVT::bitsGT(), llvm::CallingConv::C, llvm::dyn_cast(), llvm::TargetLowering::EmitTargetCodeForMemset(), Entry, getExternalSymbol(), llvm::TargetData::getIntPtrType(), getMemsetStores(), getNode(), llvm::SDValue::getNode(), llvm::TargetLowering::getPointerTy(), llvm::TargetLowering::getTargetData(), llvm::DebugLoc::getUnknownLoc(), llvm::SDValue::getValueType(), llvm::ConstantSDNode::getZExtValue(), llvm::MVT::i32, llvm::Type::Int32Ty, llvm::ConstantSDNode::isNullValue(), llvm::TargetLowering::ArgListEntry::isSExt, llvm::TargetLowering::LowerCallTo(), llvm::TargetLowering::ArgListEntry::Node, TLI, llvm::ISD::TRUNCATE, llvm::TargetLowering::ArgListEntry::Ty, llvm::Type::VoidTy, and llvm::ISD::ZERO_EXTEND.
| SDValue llvm::SelectionDAG::getSetCC | ( | MVT | VT, | |
| SDValue | LHS, | |||
| SDValue | RHS, | |||
| ISD::CondCode | Cond | |||
| ) | [inline] |
getSetCC - Helper function to make it easier to build SetCC's if you just have an ISD::CondCode instead of an SDValue.
Definition at line 483 of file SelectionDAG.h.
References getCondCode(), getNode(), llvm::DebugLoc::getUnknownLoc(), and llvm::ISD::SETCC.
Referenced by combineSelectAndUse(), FoldSetCC(), llvm::IA64TargetLowering::LowerCallTo(), LowerSETCC(), llvm::TargetLowering::SimplifySetCC(), llvm::SelectionDAGLowering::visitBitTestCase(), llvm::SelectionDAGLowering::visitBitTestHeader(), llvm::SelectionDAGLowering::visitJumpTableHeader(), and llvm::SelectionDAGLowering::visitSwitchCase().
| SDValue llvm::SelectionDAG::getSetCC | ( | DebugLoc | DL, | |
| MVT | VT, | |||
| SDValue | LHS, | |||
| SDValue | RHS, | |||
| ISD::CondCode | Cond | |||
| ) | [inline] |
Definition at line 488 of file SelectionDAG.h.
References getCondCode(), getNode(), and llvm::ISD::SETCC.
| SDValue llvm::SelectionDAG::getVSetCC | ( | MVT | VT, | |
| SDValue | LHS, | |||
| SDValue | RHS, | |||
| ISD::CondCode | Cond | |||
| ) | [inline] |
getVSetCC - Helper function to make it easier to build VSetCC's nodes if you just have an ISD::CondCode instead of an SDValue.
Definition at line 496 of file SelectionDAG.h.
References getCondCode(), getNode(), llvm::DebugLoc::getUnknownLoc(), and llvm::ISD::VSETCC.
| SDValue llvm::SelectionDAG::getVSetCC | ( | DebugLoc | DL, | |
| MVT | VT, | |||
| SDValue | LHS, | |||
| SDValue | RHS, | |||
| ISD::CondCode | Cond | |||
| ) | [inline] |
Definition at line 501 of file SelectionDAG.h.
References getCondCode(), getNode(), and llvm::ISD::VSETCC.
| SDValue llvm::SelectionDAG::getSelectCC | ( | SDValue | LHS, | |
| SDValue | RHS, | |||
| SDValue | True, | |||
| SDValue | False, | |||
| ISD::CondCode | Cond | |||
| ) | [inline] |
getSelectCC - Helper function to make it easier to build SelectCC's if you just have an ISD::CondCode instead of an SDValue.
Definition at line 509 of file SelectionDAG.h.
References getCondCode(), getNode(), llvm::DebugLoc::getUnknownLoc(), llvm::SDValue::getValueType(), and llvm::ISD::SELECT_CC.
Referenced by combineSelectAndUse().
| SDValue llvm::SelectionDAG::getSelectCC | ( | DebugLoc | DL, | |
| SDValue | LHS, | |||
| SDValue | RHS, | |||
| SDValue | True, | |||
| SDValue | False, | |||
| ISD::CondCode | Cond | |||
| ) | [inline] |
Definition at line 514 of file SelectionDAG.h.
References getCondCode(), getNode(), llvm::SDValue::getValueType(), and llvm::ISD::SELECT_CC.
getVAArg - VAArg produces a result and token chain, and takes a pointer and a source value as input.
Definition at line 4039 of file SelectionDAG.cpp.
References getNode(), getVTList(), llvm::MVT::Other, and llvm::ISD::VAARG.
| SDValue SelectionDAG::getAtomic | ( | unsigned | Opcode, | |
| MVT | MemVT, | |||
| SDValue | Chain, | |||
| SDValue | Ptr, | |||
| SDValue | Cmp, | |||
| SDValue | Swp, | |||
| const Value * | PtrVal, | |||
| unsigned | Alignment = 0 | |||
| ) |
getAtomic - Gets a node for an atomic op, produces result and chain and takes 3 operands
Definition at line 3412 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::ISD::ATOMIC_CMP_SWAP, E, llvm::MVT::getRawBits(), llvm::SDValue::getValueType(), getVTList(), and llvm::MVT::Other.
| SDValue SelectionDAG::getAtomic | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | MemVT, | |||
| SDValue | Chain, | |||
| SDValue | Ptr, | |||
| SDValue | Cmp, | |||
| SDValue | Swp, | |||
| const Value * | PtrVal, | |||
| unsigned | Alignment = 0 | |||
| ) |
Definition at line 3441 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::ISD::ATOMIC_CMP_SWAP, E, llvm::MVT::getRawBits(), llvm::SDValue::getValueType(), getVTList(), and llvm::MVT::Other.
| SDValue SelectionDAG::getAtomic | ( | unsigned | Opcode, | |
| MVT | MemVT, | |||
| SDValue | Chain, | |||
| SDValue | Ptr, | |||
| SDValue | Val, | |||
| const Value * | PtrVal, | |||
| unsigned | Alignment = 0 | |||
| ) |
getAtomic - Gets a node for an atomic op, produces result and chain and takes 2 operands.
Definition at line 3470 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::ISD::ATOMIC_LOAD_ADD, llvm::ISD::ATOMIC_LOAD_AND, llvm::ISD::ATOMIC_LOAD_MAX, llvm::ISD::ATOMIC_LOAD_MIN, llvm::ISD::ATOMIC_LOAD_NAND, llvm::ISD::ATOMIC_LOAD_OR, llvm::ISD::ATOMIC_LOAD_SUB, llvm::ISD::ATOMIC_LOAD_UMAX, llvm::ISD::ATOMIC_LOAD_UMIN, llvm::ISD::ATOMIC_LOAD_XOR, llvm::ISD::ATOMIC_SWAP, E, llvm::MVT::getRawBits(), llvm::SDValue::getValueType(), getVTList(), and llvm::MVT::Other.
| SDValue SelectionDAG::getAtomic | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | MemVT, | |||
| SDValue | Chain, | |||
| SDValue | Ptr, | |||
| SDValue | Val, | |||
| const Value * | PtrVal, | |||
| unsigned | Alignment = 0 | |||
| ) |
Definition at line 3509 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::ISD::ATOMIC_LOAD_ADD, llvm::ISD::ATOMIC_LOAD_AND, llvm::ISD::ATOMIC_LOAD_MAX, llvm::ISD::ATOMIC_LOAD_MIN, llvm::ISD::ATOMIC_LOAD_NAND, llvm::ISD::ATOMIC_LOAD_OR, llvm::ISD::ATOMIC_LOAD_SUB, llvm::ISD::ATOMIC_LOAD_UMAX, llvm::ISD::ATOMIC_LOAD_UMIN, llvm::ISD::ATOMIC_LOAD_XOR, llvm::ISD::ATOMIC_SWAP, E, llvm::MVT::getRawBits(), llvm::SDValue::getValueType(), getVTList(), and llvm::MVT::Other.
| SDValue SelectionDAG::getMemIntrinsicNode | ( | unsigned | Opcode, | |
| const MVT * | VTs, | |||
| unsigned | NumVTs, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps, | |||
| MVT | MemVT, | |||
| const Value * | srcValue, | |||
| int | SVOff, | |||
| unsigned | Align = 0, |
|||
| bool | Vol = false, |
|||
| bool | ReadMem = true, |
|||
| bool | WriteMem = true | |||
| ) |
getMemIntrinsicNode - Creates a MemIntrinsicNode that may produce a result and takes a list of operands.
Definition at line 3576 of file SelectionDAG.cpp.
References makeVTList().
Referenced by getMemIntrinsicNode().
| SDValue SelectionDAG::getMemIntrinsicNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| const MVT * | VTs, | |||
| unsigned | NumVTs, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps, | |||
| MVT | MemVT, | |||
| const Value * | srcValue, | |||
| int | SVOff, | |||
| unsigned | Align = 0, |
|||
| bool | Vol = false, |
|||
| bool | ReadMem = true, |
|||
| bool | WriteMem = true | |||
| ) |
Definition at line 3588 of file SelectionDAG.cpp.
References getMemIntrinsicNode(), and makeVTList().
| SDValue SelectionDAG::getMemIntrinsicNode | ( | unsigned | Opcode, | |
| SDVTList | VTList, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps, | |||
| MVT | MemVT, | |||
| const Value * | srcValue, | |||
| int | SVOff, | |||
| unsigned | Align = 0, |
|||
| bool | Vol = false, |
|||
| bool | ReadMem = true, |
|||
| bool | WriteMem = true | |||
| ) |
Definition at line 3600 of file SelectionDAG.cpp.
References AddNodeIDNode(), E, llvm::MVT::Flag, llvm::SDVTList::NumVTs, and llvm::SDVTList::VTs.
| SDValue SelectionDAG::getMemIntrinsicNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| SDVTList | VTList, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps, | |||
| MVT | MemVT, | |||
| const Value * | srcValue, | |||
| int | SVOff, | |||
| unsigned | Align = 0, |
|||
| bool | Vol = false, |
|||
| bool | ReadMem = true, |
|||
| bool | WriteMem = true | |||
| ) |
Definition at line 3628 of file SelectionDAG.cpp.
References AddNodeIDNode(), E, llvm::MVT::Flag, llvm::SDVTList::NumVTs, and llvm::SDVTList::VTs.
getMergeValues - Create a MERGE_VALUES node from the given operands.
getMergeValues - Create a MERGE_VALUES node from the given operands. Allowed to return something different (and simpler) if Simplify is true.
Definition at line 3550 of file SelectionDAG.cpp.
References getNode(), llvm::SDValue::getValueType(), getVTList(), llvm::ISD::MERGE_VALUES, llvm::SmallVectorImpl< T >::push_back(), and llvm::SmallVectorImpl< T >::reserve().
Referenced by ExpandUnalignedLoad(), llvm::SelectionDAGLowering::getValue(), LowerCALL(), llvm::PIC16TargetLowering::LowerCallReturn(), LowerDYNAMIC_STACKALLOC(), and LowerVAARG().
DebugLoc-aware version.
Definition at line 3562 of file SelectionDAG.cpp.
References getNode(), llvm::SDValue::getValueType(), getVTList(), llvm::ISD::MERGE_VALUES, llvm::SmallVectorImpl< T >::push_back(), and llvm::SmallVectorImpl< T >::reserve().
| SDValue SelectionDAG::getCall | ( | unsigned | CallingConv, | |
| bool | IsVarArgs, | |||
| bool | IsTailCall, | |||
| bool | isInreg, | |||
| SDVTList | VTs, | |||
| const SDValue * | Operands, | |||
| unsigned | NumOperands | |||
| ) |
getCall - Create a CALL node from the given information.
Definition at line 3656 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::ISD::CALL, and E.
Referenced by llvm::PIC16TargetLowering::LowerCALL(), and llvm::TargetLowering::LowerCallTo().
| SDValue SelectionDAG::getCall | ( | unsigned | CallingConv, | |
| DebugLoc | dl, | |||
| bool | IsVarArgs, | |||
| bool | IsTailCall, | |||
| bool | isInreg, | |||
| SDVTList | VTs, | |||
| const SDValue * | Operands, | |||
| unsigned | NumOperands | |||
| ) |
Definition at line 3681 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::ISD::CALL, and E.
| SDValue SelectionDAG::getLoad | ( | MVT | VT, | |
| SDValue | Chain, | |||
| SDValue | Ptr, | |||
| const Value * | SV, | |||
| int | SVOffset, | |||
| bool | isVolatile = false, |
|||
| unsigned | Alignment = 0 | |||
| ) |
getLoad - Loads are not normal binary operators: their result type is not determined by their operands, and they produce a value AND a token chain.
Definition at line 3803 of file SelectionDAG.cpp.
References getNode(), llvm::SDValue::getValueType(), llvm::ISD::NON_EXTLOAD, llvm::ISD::UNDEF, and llvm::ISD::UNINDEXED.
Referenced by ExpandConstantFP(), ExpandUnalignedLoad(), ExpandUnalignedStore(), getExtLoad(), getIndexedLoad(), getLoad(), getMemcpyLoadsAndStores(), getMemmoveLoadsAndStores(), llvm::SparcTargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), LowerCALL(), LowerFORMAL_ARGUMENT(), LowerFORMAL_ARGUMENTS(), LowerLOAD(), llvm::IA64TargetLowering::LowerOperation(), llvm::AlphaTargetLowering::LowerOperation(), LowerSTORE(), LowerToTLSExecModel(), LowerVAARG(), PerformShuffleCombine(), PerformSTORECombine(), llvm::X86TargetLowering::ReplaceNodeResults(), llvm::AlphaTargetLowering::ReplaceNodeResults(), and llvm::TargetLowering::SimplifySetCC().
| SDValue SelectionDAG::getLoad | ( | MVT | VT, | |
| DebugLoc | dl, | |||
| SDValue | Chain, | |||
| SDValue | Ptr, | |||
| const Value * | SV, | |||
| int | SVOffset, | |||
| bool | isVolatile = false, |
|||
| unsigned | Alignment = 0 | |||
| ) |
Definition at line 3812 of file SelectionDAG.cpp.
References getLoad(), getNode(), llvm::SDValue::getValueType(), llvm::ISD::NON_EXTLOAD, llvm::ISD::UNDEF, and llvm::ISD::UNINDEXED.
| SDValue SelectionDAG::getExtLoad | ( | ISD::LoadExtType | ExtType, | |
| MVT | VT, | |||
| SDValue | Chain, | |||
| SDValue | Ptr, | |||
| const Value * | SV, | |||
| int | SVOffset, | |||
| MVT | EVT, | |||
| bool | isVolatile = false, |
|||
| unsigned | Alignment = 0 | |||
| ) |
Definition at line 3821 of file SelectionDAG.cpp.
References getLoad(), getNode(), llvm::SDValue::getValueType(), llvm::ISD::UNDEF, and llvm::ISD::UNINDEXED.
Referenced by ExpandConstantFP(), ExpandUnalignedLoad(), ExpandUnalignedStore(), llvm::SparcTargetLowering::LowerArguments(), and llvm::AlphaTargetLowering::LowerOperation().
| SDValue SelectionDAG::getExtLoad | ( | ISD::LoadExtType | ExtType, | |
| DebugLoc | dl, | |||
| MVT | VT, | |||
| SDValue | Chain, | |||
| SDValue | Ptr, | |||
| const Value * | SV, | |||
| int | SVOffset, | |||
| MVT | EVT, | |||
| bool | isVolatile = false, |
|||
| unsigned | Alignment = 0 | |||
| ) |
Definition at line 3831 of file SelectionDAG.cpp.
References getLoad(), getNode(), llvm::SDValue::getValueType(), llvm::ISD::UNDEF, and llvm::ISD::UNINDEXED.
| SDValue SelectionDAG::getIndexedLoad | ( | SDValue | OrigLoad, | |
| SDValue | Base, | |||
| SDValue | Offset, | |||
| ISD::MemIndexedMode | AM | |||
| ) |
Definition at line 3842 of file SelectionDAG.cpp.
References llvm::MemSDNode::getAlignment(), llvm::MemSDNode::getChain(), llvm::LoadSDNode::getExtensionType(), getLoad(), llvm::MemSDNode::getMemoryVT(), llvm::LoadSDNode::getOffset(), llvm::SDValue::getOpcode(), llvm::MemSDNode::getSrcValue(), llvm::MemSDNode::getSrcValueOffset(), llvm::SDValue::getValueType(), llvm::MemSDNode::isVolatile(), and llvm::ISD::UNDEF.
| SDValue SelectionDAG::getIndexedLoad | ( | SDValue | OrigLoad, | |
| DebugLoc | dl, | |||
| SDValue | Base, | |||
| SDValue | Offset, | |||
| ISD::MemIndexedMode | AM | |||
| ) |
Definition at line 3854 of file SelectionDAG.cpp.
References llvm::MemSDNode::getAlignment(), llvm::MemSDNode::getChain(), llvm::LoadSDNode::getExtensionType(), getLoad(), llvm::MemSDNode::getMemoryVT(), llvm::LoadSDNode::getOffset(), llvm::SDValue::getOpcode(), llvm::MemSDNode::getSrcValue(), llvm::MemSDNode::getSrcValueOffset(), llvm::SDValue::getValueType(), llvm::MemSDNode::isVolatile(), and llvm::ISD::UNDEF.
| SDValue SelectionDAG::getLoad | ( | ISD::MemIndexedMode | AM, | |
| ISD::LoadExtType | ExtType, | |||
| MVT | VT, | |||
| SDValue | Chain, | |||
| SDValue | Ptr, | |||
| SDValue | Offset, | |||
| const Value * | SV, | |||
| int | SVOffset, | |||
| MVT | EVT, | |||
| bool | isVolatile = false, |
|||
| unsigned | Alignment = 0 | |||
| ) |
Definition at line 3706 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::MVT::bitsLT(), E, encodeMemSDNodeFlags(), llvm::ISD::EXTLOAD, llvm::SDValue::getOpcode(), llvm::MVT::getRawBits(), llvm::SDValue::getValueType(), llvm::MVT::getVectorNumElements(), getVTList(), llvm::MVT::isInteger(), llvm::MVT::isVector(), llvm::ISD::LOAD, llvm::ISD::NON_EXTLOAD, llvm::MVT::Other, llvm::ISD::UNDEF, and llvm::ISD::UNINDEXED.
| SDValue SelectionDAG::getLoad | ( | ISD::MemIndexedMode | AM, | |
| DebugLoc | dl, | |||
| ISD::LoadExtType | ExtType, | |||
| MVT | VT, | |||
| SDValue | Chain, | |||
| SDValue | Ptr, | |||
| SDValue | Offset, | |||
| const Value * | SV, | |||
| int | SVOffset, | |||
| MVT | EVT, | |||
| bool | isVolatile = false, |
|||
| unsigned | Alignment = 0 | |||
| ) |
Definition at line 3755 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::MVT::bitsLT(), E, encodeMemSDNodeFlags(), llvm::ISD::EXTLOAD, llvm::SDValue::getOpcode(), llvm::MVT::getRawBits(), llvm::SDValue::getValueType(), llvm::MVT::getVectorNumElements(), getVTList(), llvm::MVT::isInteger(), llvm::MVT::isVector(), llvm::ISD::LOAD, llvm::ISD::NON_EXTLOAD, llvm::MVT::Other, llvm::ISD::UNDEF, and llvm::ISD::UNINDEXED.
| SDValue SelectionDAG::getStore | ( | SDValue | Chain, | |
| SDValue | Val, | |||
| SDValue | Ptr, | |||
| const Value * | SV, | |||
| int | SVOffset, | |||
| bool | isVolatile = false, |
|||
| unsigned | Alignment = 0 | |||
| ) |
getStore - Helper function to build ISD::STORE nodes.
Definition at line 3865 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), E, encodeMemSDNodeFlags(), getNode(), llvm::MVT::getRawBits(), llvm::SDValue::getValueType(), getVTList(), llvm::MVT::Other, llvm::ISD::STORE, llvm::ISD::UNDEF, and llvm::ISD::UNINDEXED.
Referenced by EmitTailCallStoreFPAndRetAddr(), EmitTailCallStoreRetAddr(), ExpandUnalignedLoad(), ExpandUnalignedStore(), getMemcpyLoadsAndStores(), getMemmoveLoadsAndStores(), getTruncStore(), llvm::SparcTargetLowering::LowerArguments(), LowerCALL(), llvm::IA64TargetLowering::LowerCallTo(), LowerFORMAL_ARGUMENTS(), LowerMemOpCallTo(), llvm::IA64TargetLowering::LowerOperation(), llvm::AlphaTargetLowering::LowerOperation(), LowerSTORE(), LowerVAARG(), LowerVASTART(), PerformSTORECombine(), and StoreTailCallArgumentsToStackSlot().
| SDValue SelectionDAG::getStore | ( | SDValue | Chain, | |
| DebugLoc | dl, | |||
| SDValue | Val, | |||
| SDValue | Ptr, | |||
| const Value * | SV, | |||
| int | SVOffset, | |||
| bool | isVolatile = false, |
|||
| unsigned | Alignment = 0 | |||
| ) |
Definition at line 3892 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), E, encodeMemSDNodeFlags(), getNode(), llvm::MVT::getRawBits(), llvm::SDValue::getValueType(), getVTList(), llvm::MVT::Other, llvm::ISD::STORE, llvm::ISD::UNDEF, and llvm::ISD::UNINDEXED.
| SDValue SelectionDAG::getTruncStore | ( | SDValue | Chain, | |
| SDValue | Val, | |||
| SDValue | Ptr, | |||
| const Value * | SV, | |||
| int | SVOffset, | |||
| MVT | TVT, | |||
| bool | isVolatile = false, |
|||
| unsigned | Alignment = 0 | |||
| ) |
Definition at line 3919 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::MVT::bitsGT(), E, encodeMemSDNodeFlags(), getNode(), llvm::MVT::getRawBits(), getStore(), llvm::SDValue::getValueType(), getVTList(), llvm::MVT::isInteger(), llvm::MVT::Other, llvm::ISD::STORE, llvm::ISD::UNDEF, and llvm::ISD::UNINDEXED.
Referenced by ExpandUnalignedLoad(), ExpandUnalignedStore(), and llvm::AlphaTargetLowering::LowerOperation().
| SDValue SelectionDAG::getTruncStore | ( | SDValue | Chain, | |
| DebugLoc | dl, | |||
| SDValue | Val, | |||
| SDValue | Ptr, | |||
| const Value * | SV, | |||
| int | SVOffset, | |||
| MVT | TVT, | |||
| bool | isVolatile = false, |
|||
| unsigned | Alignment = 0 | |||
| ) |
Definition at line 3954 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), llvm::MVT::bitsGT(), E, encodeMemSDNodeFlags(), getNode(), llvm::MVT::getRawBits(), getStore(), llvm::SDValue::getValueType(), getVTList(), llvm::MVT::isInteger(), llvm::MVT::Other, llvm::ISD::STORE, llvm::ISD::UNDEF, and llvm::ISD::UNINDEXED.
| SDValue SelectionDAG::getIndexedStore | ( | SDValue | OrigStoe, | |
| SDValue | Base, | |||
| SDValue | Offset, | |||
| ISD::MemIndexedMode | AM | |||
| ) |
Definition at line 3990 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), E, llvm::MemSDNode::getAlignment(), llvm::MemSDNode::getChain(), llvm::MemSDNode::getMemoryVT(), llvm::StoreSDNode::getOffset(), llvm::SDValue::getOpcode(), llvm::MVT::getRawBits(), llvm::MemSDNode::getRawSubclassData(), llvm::MemSDNode::getSrcValue(), llvm::MemSDNode::getSrcValueOffset(), llvm::StoreSDNode::getValue(), llvm::SDValue::getValueType(), getVTList(), llvm::StoreSDNode::isTruncatingStore(), llvm::MemSDNode::isVolatile(), llvm::MVT::Other, llvm::ISD::STORE, and llvm::ISD::UNDEF.
| SDValue SelectionDAG::getIndexedStore | ( | SDValue | OrigStoe, | |
| DebugLoc | dl, | |||
| SDValue | Base, | |||
| SDValue | Offset, | |||
| ISD::MemIndexedMode | AM | |||
| ) |
Definition at line 4015 of file SelectionDAG.cpp.
References llvm::FoldingSetNodeID::AddInteger(), AddNodeIDNode(), E, llvm::MemSDNode::getAlignment(), llvm::MemSDNode::getChain(), llvm::MemSDNode::getMemoryVT(), llvm::StoreSDNode::getOffset(), llvm::SDValue::getOpcode(), llvm::MVT::getRawBits(), llvm::MemSDNode::getRawSubclassData(), llvm::MemSDNode::getSrcValue(), llvm::MemSDNode::getSrcValueOffset(), llvm::StoreSDNode::getValue(), llvm::SDValue::getValueType(), getVTList(), llvm::StoreSDNode::isTruncatingStore(), llvm::MemSDNode::isVolatile(), llvm::MVT::Other, llvm::ISD::STORE, and llvm::ISD::UNDEF.
getSrcValue - Construct a node to track a Value* through the backend.
Definition at line 1254 of file SelectionDAG.cpp.
References AddNodeIDNode(), E, llvm::Value::getType(), getVTList(), llvm::MVT::Other, and llvm::ISD::SRCVALUE.
| SDValue SelectionDAG::getMemOperand | ( | const MachineMemOperand & | MO | ) |
getMemOperand - Construct a node to track a memory reference through the backend.
Definition at line 1273 of file SelectionDAG.cpp.
References AddNodeIDNode(), E, llvm::Value::getType(), llvm::MachineMemOperand::getValue(), getVTList(), llvm::ISD::MEMOPERAND, llvm::MVT::Other, and llvm::MachineMemOperand::Profile().
Referenced by llvm::PPCTargetLowering::PerformDAGCombine().
getShiftAmountOperand - Return the specified value casted to the target's desired shift amount type.
getShiftAmountOperand - Return the specified value casted to the target's desired shift amount type.
Definition at line 1297 of file SelectionDAG.cpp.
References llvm::MVT::bitsGT(), getNode(), llvm::TargetLowering::getShiftAmountTy(), llvm::SDValue::getValueType(), llvm::MVT::isVector(), TLI, llvm::ISD::TRUNCATE, and llvm::ISD::ZERO_EXTEND.
UpdateNodeOperands - *Mutate* the specified node in-place to have the specified operands. If the resultant node already exists in the DAG, this does not modify the specified node, instead it returns the node that already exists. If the resultant node does not exist in the DAG, the input node is returned. As a degenerate case, if you specify the same input operands as the node already has, the input node is returned.
UpdateNodeOperands - *Mutate* the specified node in-place to have the specified operands. If the resultant node already exists in the DAG, this does not modify the specified node, instead it returns the node that already exists. If the resultant node does not exist in the DAG, the input node is returned. As a degenerate case, if you specify the same input operands as the node already has, the input node is returned.
Definition at line 4389 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), llvm::SDNode::getNumOperands(), llvm::SDNode::getOperand(), llvm::SDValue::getResNo(), llvm::SDNode::OperandList, and llvm::SDUse::set().
Referenced by CheckDAGForTailCallsAndFixThem(), MoveBelowCallSeqStart(), MoveBelowTokenFactor(), and UpdateNodeOperands().
Definition at line 4415 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), llvm::SDNode::getNumOperands(), llvm::SDNode::getOperand(), llvm::SDValue::getResNo(), llvm::SDNode::OperandList, and llvm::SDUse::set().
Definition at line 4465 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), llvm::SDNode::getNumOperands(), llvm::SDNode::getOperand(), llvm::SDValue::getResNo(), llvm::SDNode::OperandList, and llvm::SDUse::set().
SelectNodeTo - These are used for target selectors to *mutate* the specified node to have the specified return type, Target opcode, and operands. Note that target opcodes are stored as ~TargetOpcode in the node opcode field. The resultant node is returned.
SelectNodeTo - These are wrappers around MorphNodeTo that accept a machine opcode.
Definition at line 4516 of file SelectionDAG.cpp.
References getVTList().
Referenced by SelectNodeTo().
MorphNodeTo - These *mutate* the specified node to have the specified return type, opcode, and operands.
Definition at line 4619 of file SelectionDAG.cpp.
References getVTList().
Referenced by MorphNodeTo(), and SelectNodeTo().
| SDNode * SelectionDAG::MorphNodeTo | ( | SDNode * | N, | |
| unsigned | Opc, | |||
| SDVTList | VTs, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
MorphNodeTo - These *mutate* the specified node to have the specified return type, opcode, and operands.
Note that MorphNodeTo returns the resultant node. If there is already a node of the specified opcode and operands, it returns that node instead of the current one.
Using MorphNodeTo is faster than creating a new node and swapping it in with ReplaceAllUsesWith both because it often avoids allocating a new node, and because it doesn't require CSE recalculation for any of the node's users.
Definition at line 4712 of file SelectionDAG.cpp.
References AddNodeIDNode(), llvm::BumpPtrAllocator::Allocate(), llvm::SmallPtrSet< PtrType, SmallSize >::begin(), E, llvm::SmallPtrSet< PtrType, SmallSize >::end(), llvm::MVT::Flag, llvm::SDUse::getNode(), llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::SDNode::isMachineOpcode(), llvm::SDNode::NodeType, llvm::SDNode::NumOperands, llvm::SDNode::NumValues, llvm::SDVTList::NumVTs, llvm::SDNode::op_begin(), llvm::SDNode::op_end(), llvm::SDNode::OperandList, llvm::SDNode::OperandsNeedDelete, llvm::SmallVectorImpl< T >::push_back(), RemoveDeadNodes(), llvm::SDUse::set(), llvm::SDUse::setInitial(), llvm::SDUse::setUser(), llvm::SDNode::use_empty(), llvm::SDNode::ValueList, and llvm::SDVTList::VTs.
getTargetNode - These are used for target selectors to create a new node with specified return type(s), target opcode, and operands.
Note that getTargetNode returns the resultant node. If there is already a node of the specified opcode and operands, it returns that node instead of the current one.
getTargetNode - These are used for target selectors to create a new node with specified return type(s), target opcode, and operands.
Note that getTargetNode returns the resultant node. If there is already a node of the specified opcode and operands, it returns that node instead of the current one.
Definition at line 4789 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), and getNode().
Referenced by llvm::PPCTargetLowering::SelectAddressRegImm(), llvm::PPCTargetLowering::SelectAddressRegImmShift(), and llvm::X86InstrInfo::unfoldMemoryOperand().
Definition at line 4792 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), and getNode().
Definition at line 4796 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), and getNode().
Definition at line 4799 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), and getNode().
Definition at line 4804 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), and getNode().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | VT, | |||
| SDValue | Op1, | |||
| SDValue | Op2 | |||
| ) |
Definition at line 4808 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), and getNode().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| MVT | VT, | |||
| SDValue | Op1, | |||
| SDValue | Op2, | |||
| SDValue | Op3 | |||
| ) |
Definition at line 4813 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), and getNode().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | VT, | |||
| SDValue | Op1, | |||
| SDValue | Op2, | |||
| SDValue | Op3 | |||
| ) |
Definition at line 4818 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), and getNode().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| MVT | VT, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4824 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), and getNode().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | VT, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4828 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), and getNode().
Definition at line 4833 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
Definition at line 4838 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
Definition at line 4845 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | VT1, | |||
| MVT | VT2, | |||
| SDValue | Op1 | |||
| ) |
Definition at line 4850 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| MVT | VT1, | |||
| MVT | VT2, | |||
| SDValue | Op1, | |||
| SDValue | Op2 | |||
| ) |
Definition at line 4856 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | VT1, | |||
| MVT | VT2, | |||
| SDValue | Op1, | |||
| SDValue | Op2 | |||
| ) |
Definition at line 4863 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| MVT | VT1, | |||
| MVT | VT2, | |||
| SDValue | Op1, | |||
| SDValue | Op2, | |||
| SDValue | Op3 | |||
| ) |
Definition at line 4871 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | VT1, | |||
| MVT | VT2, | |||
| SDValue | Op1, | |||
| SDValue | Op2, | |||
| SDValue | Op3 | |||
| ) |
Definition at line 4878 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| MVT | VT1, | |||
| MVT | VT2, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4886 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | VT1, | |||
| MVT | VT2, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4891 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| MVT | VT1, | |||
| MVT | VT2, | |||
| MVT | VT3, | |||
| SDValue | Op1, | |||
| SDValue | Op2 | |||
| ) |
Definition at line 4898 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | VT1, | |||
| MVT | VT2, | |||
| MVT | VT3, | |||
| SDValue | Op1, | |||
| SDValue | Op2 | |||
| ) |
Definition at line 4904 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| MVT | VT1, | |||
| MVT | VT2, | |||
| MVT | VT3, | |||
| SDValue | Op1, | |||
| SDValue | Op2, | |||
| SDValue | Op3 | |||
| ) |
Definition at line 4912 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | VT1, | |||
| MVT | VT2, | |||
| MVT | VT3, | |||
| SDValue | Op1, | |||
| SDValue | Op2, | |||
| SDValue | Op3 | |||
| ) |
Definition at line 4919 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| MVT | VT1, | |||
| MVT | VT2, | |||
| MVT | VT3, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4928 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | VT1, | |||
| MVT | VT2, | |||
| MVT | VT3, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4933 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| MVT | VT1, | |||
| MVT | VT2, | |||
| MVT | VT3, | |||
| MVT | VT4, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4940 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getTargetNode | ( | unsigned | Opcode, | |
| DebugLoc | dl, | |||
| MVT | VT1, | |||
| MVT | VT2, | |||
| MVT | VT3, | |||
| MVT | VT4, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
Definition at line 4951 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), getNode(), and getNodeValueTypes().
| SDNode * SelectionDAG::getNodeIfExists | ( | unsigned | Opcode, | |
| SDVTList | VTList, | |||
| const SDValue * | Ops, | |||
| unsigned | NumOps | |||
| ) |
getNodeIfExists - Get the specified node if it's already available, or else return NULL.
getNodeIfExists - Get the specified node if it's already available, or else return NULL.
Definition at line 4980 of file SelectionDAG.cpp.
References AddNodeIDNode(), E, llvm::MVT::Flag, llvm::SDVTList::NumVTs, and llvm::SDVTList::VTs.
| void SelectionDAG::RemoveDeadNode | ( | SDNode * | N, | |
| DAGUpdateListener * | UpdateListener = 0 | |||
| ) |
RemoveDeadNode - Remove the specified node from the system. If any of its operands then becomes dead, remove them as well. Inform UpdateListener for each node deleted.
Definition at line 571 of file SelectionDAG.cpp.
References RemoveDeadNodes().
Referenced by llvm::TargetLowering::LowerArguments().
| void SelectionDAG::RemoveDeadNodes | ( | SmallVectorImpl< SDNode * > & | DeadNodes, | |
| DAGUpdateListener * | UpdateListener = 0 | |||
| ) |
RemoveDeadNodes - This method deletes the unreachable nodes in the given list, and any nodes that become unreachable as a result.
RemoveDeadNodes - This method deletes the unreachable nodes in the given list, and any nodes that become unreachable as a result.
Definition at line 541 of file SelectionDAG.cpp.
References E, llvm::SmallVectorImpl< T >::empty(), llvm::SDUse::getNode(), llvm::SelectionDAG::DAGUpdateListener::NodeDeleted(), llvm::SDNode::op_begin(), llvm::SDNode::op_end(), Operand, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorImpl< T >::push_back(), llvm::SDUse::set(), and llvm::SDNode::use_empty().
| void SelectionDAG::ReplaceAllUsesWith | ( | SDValue | FromN, | |
| SDValue | To, | |||
| DAGUpdateListener * | UpdateListener = 0 | |||
| ) |
ReplaceAllUsesWith - Modify anything using 'From' to use 'To' instead. This can cause recursive merging of nodes in the DAG. Use the first version if 'From' is known to have a single result, use the second if you have two nodes with identical results, use the third otherwise.
These methods all take an optional UpdateListener, which (if not null) is informed about nodes that are deleted and modified due to recursive changes in the dag.
These functions only replace all existing uses. It's possible that as these replacements are being performed, CSE may cause the From node to be given new uses. These new uses of From are left in place, and not automatically transfered to To.
ReplaceAllUsesWith - Modify anything using 'From' to use 'To' instead. This can cause recursive merging of nodes in the DAG.
This version assumes From has a single result value.
Definition at line 4997 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), llvm::SDNode::getNumValues(), llvm::SDValue::getResNo(), llvm::SDUse::set(), llvm::SDNode::use_begin(), and llvm::SDNode::use_end().
Referenced by ReplaceAllUsesOfValueWith(), and ReplaceAllUsesWith().
| void SelectionDAG::ReplaceAllUsesWith | ( | SDNode * | From, | |
| SDNode * | To, | |||
| DAGUpdateListener * | UpdateListener = 0 | |||
| ) |
ReplaceAllUsesWith - Modify anything using 'From' to use 'To' instead. This can cause recursive merging of nodes in the DAG.
This version assumes From/To have matching types and numbers of result values.
Definition at line 5040 of file SelectionDAG.cpp.
References llvm::SDNode::getNumValues(), llvm::SDNode::use_iterator::getUse(), llvm::SDNode::getVTList(), llvm::SDUse::setNode(), llvm::SDNode::use_begin(), llvm::SDNode::use_end(), and llvm::SDVTList::VTs.
| void SelectionDAG::ReplaceAllUsesWith | ( | SDNode * | From, | |
| const SDValue * | To, | |||
| DAGUpdateListener * | UpdateListener = 0 | |||
| ) |
ReplaceAllUsesWith - Modify anything using 'From' to use 'To' instead. This can cause recursive merging of nodes in the DAG.
This version can replace From with any result values. To must match the number and types of values returned by From.
Definition at line 5080 of file SelectionDAG.cpp.
References llvm::SDNode::getNumValues(), llvm::SDUse::getResNo(), llvm::SDNode::use_iterator::getUse(), ReplaceAllUsesWith(), llvm::SDUse::set(), llvm::SDNode::use_begin(), and llvm::SDNode::use_end().
| void SelectionDAG::ReplaceAllUsesOfValueWith | ( | SDValue | From, | |
| SDValue | To, | |||
| DAGUpdateListener * | UpdateListener = 0 | |||
| ) |
ReplaceAllUsesOfValueWith - Replace any uses of From with To, leaving uses of other values produced by From.Val alone.
ReplaceAllUsesOfValueWith - Replace any uses of From with To, leaving uses of other values produced by From.getNode() alone. The Deleted vector is handled the same way as for ReplaceAllUsesWith.
Definition at line 5115 of file SelectionDAG.cpp.
References llvm::SDValue::getNode(), llvm::SDNode::getNumValues(), llvm::SDValue::getResNo(), llvm::SDUse::getResNo(), llvm::SDNode::use_iterator::getUse(), ReplaceAllUsesWith(), llvm::SDUse::set(), llvm::SDNode::use_begin(), and llvm::SDNode::use_end().
Referenced by llvm::PIC16TargetLowering::PerformPIC16LoadCombine(), and ReplaceAllUsesOfValuesWith().
| void SelectionDAG::ReplaceAllUsesOfValuesWith | ( | const SDValue * | From, | |
| const SDValue * | To, | |||
| unsigned | Num, | |||
| DAGUpdateListener * | UpdateListener = 0 | |||
| ) |
ReplaceAllUsesOfValuesWith - Like ReplaceAllUsesOfValueWith, but for multiple values at once. This correctly handles the case where there is an overlap between the From values and the To values.
ReplaceAllUsesOfValuesWith - Replace any uses of From with To, leaving uses of other values produced by From.getNode() alone. The same value may appear in both the From and To list. The Deleted vector is handled the same way as for ReplaceAllUsesWith.
Definition at line 5188 of file SelectionDAG.cpp.
References llvm::SmallVectorImpl< T >::begin(), E, llvm::SmallVectorImpl< T >::end(), llvm::SDValue::getNode(), llvm::SDUse::getResNo(), llvm::SDValue::getResNo(), llvm::SmallVectorImpl< T >::push_back(), ReplaceAllUsesOfValueWith(), llvm::SDUse::set(), llvm::SmallVectorImpl< T >::size(), llvm::SDNode::use_begin(), llvm::SDNode::use_end(), and Uses.
| unsigned SelectionDAG::AssignTopologicalOrder | ( | ) |
AssignTopologicalOrder - Topological-sort the AllNodes list and a assign a unique node id for each node in the DAG based on their topological order. Returns the number of nodes.
AssignTopologicalOrder - Assign a unique node id for each node in the DAG based on their topological order. It returns the maximum id and a vector of the SDNodes* in assigned order by reference.
Definition at line 5246 of file SelectionDAG.cpp.
References allnodes_begin(), allnodes_end(), allnodes_size(), E, llvm::ISD::EntryToken, llvm::SDNode::getNodeId(), llvm::SDNode::getNumOperands(), Q, llvm::SDNode::setNodeId(), llvm::SDNode::use_begin(), and llvm::SDNode::use_end().
Referenced by llvm::SelectionDAGISel::SelectRootInit().
| void llvm::SelectionDAG::RepositionNode | ( | allnodes_iterator | Position, | |
| SDNode * | N | |||
| ) | [inline] |
RepositionNode - Move node N in the AllNodes list to be immediately before the given iterator Position. This may be used to update the topological ordering when the list of nodes is modified.
Definition at line 861 of file SelectionDAG.h.
| static bool llvm::SelectionDAG::isCommutativeBinOp | ( | unsigned | Opcode | ) | [inline, static] |
isCommutativeBinOp - Returns true if the opcode is a commutative binary operation.
Definition at line 867 of file SelectionDAG.h.
References llvm::ISD::ADD, llvm::ISD::ADDC, llvm::ISD::ADDE, llvm::ISD::AND, llvm::ISD::FADD, llvm::ISD::FMUL, llvm::ISD::MUL, llvm::ISD::MULHS, llvm::ISD::MULHU, llvm::ISD::OR, llvm::ISD::SMUL_LOHI, llvm::ISD::UMUL_LOHI, and llvm::ISD::XOR.
Referenced by getNode(), and llvm::TargetLowering::SimplifySetCC().
| void SelectionDAG::dump | ( | ) | const |
CreateStackTemporary - Create a stack temporary, suitable for holding the specified value type. If minAlign is specified, the slot size will have at least that alignment.
CreateStackTemporary - Create a stack temporary, suitable for holding the specified value type.
Definition at line 1308 of file SelectionDAG.cpp.
References llvm::MachineFrameInfo::CreateStackObject(), FrameIdx, getFrameIndex(), llvm::MachineFunction::getFrameInfo(), getMachineFunction(), llvm::TargetLowering::getPointerTy(), llvm::TargetData::getPrefTypeAlignment(), llvm::MVT::getStoreSizeInBits(), llvm::TargetLowering::getTargetData(), llvm::MVT::getTypeForMVT(), and TLI.
Referenced by ExpandUnalignedLoad(), ExpandUnalignedStore(), and LowerCALL().
CreateStackTemporary - Create a stack temporary suitable for holding either of the specified value types.
CreateStackTemporary - Create a stack temporary suitable for holding either of the specified value types.
Definition at line 1321 of file SelectionDAG.cpp.
References Align, FrameIdx, getFrameIndex(), llvm::MachineFunction::getFrameInfo(), getMachineFunction(), llvm::TargetLowering::getPointerTy(), llvm::TargetData::getPrefTypeAlignment(), llvm::MVT::getStoreSizeInBits(), llvm::TargetLowering::getTargetData(), llvm::MVT::getTypeForMVT(), TD, and TLI.
| SDValue SelectionDAG::FoldConstantArithmetic | ( | unsigned | Opcode, | |
| MVT | VT, | |||
| ConstantSDNode * | Cst1, | |||
| ConstantSDNode * | Cst2 | |||
| ) |
FoldConstantArithmetic -.
Definition at line 2415 of file SelectionDAG.cpp.
References llvm::ISD::ADD, llvm::ISD::AND, llvm::APInt::ashr(), C2, llvm::ConstantSDNode::getAPIntValue(), getConstant(), llvm::APInt::lshr(), llvm::ISD::MUL, llvm::ISD::OR, llvm::APInt::rotl(), llvm::ISD::ROTL, llvm::APInt::rotr(), llvm::ISD::ROTR, llvm::APInt::sdiv(), llvm::ISD::SDIV, llvm::ISD::SHL, llvm::ISD::SRA, llvm::APInt::srem(), llvm::ISD::SREM, llvm::ISD::SRL, llvm::ISD::SUB, llvm::APInt::udiv(), llvm::ISD::UDIV, llvm::APInt::urem(), llvm::ISD::UREM, and llvm::ISD::XOR.
Referenced by getNode().
FoldSetCC - Constant fold a setcc to true or false.
Definition at line 1335 of file SelectionDAG.cpp.
References C2, llvm::APFloat::cmpEqual, llvm::APFloat::cmpGreaterThan, llvm::APFloat::cmpLessThan, llvm::APFloat::cmpUnordered, getConstant(), getNode(), llvm::SDValue::getNode(), getSetCC(), llvm::ISD::getSetCCSwappedOperands(), llvm::SDValue::getValueType(), llvm::MVT::isInteger(), llvm::MVT::ppcf128, R, llvm::ISD::SETEQ, llvm::ISD::SETFALSE, llvm::ISD::SETFALSE2, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETO, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETTRUE, llvm::ISD::SETTRUE2, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, llvm::ISD::SETUNE, llvm::ISD::SETUO, llvm::APInt::sge(), llvm::APInt::sgt(), llvm::APInt::sle(), llvm::APInt::slt(), llvm::APInt::uge(), llvm::APInt::ugt(), llvm::APInt::ule(), llvm::APInt::ult(), and llvm::ISD::UNDEF.
Referenced by getNode(), and llvm::TargetLowering::SimplifySetCC().
SignBitIsZero - Return true if the sign bit of Op is known to be zero. We use this predicate to simplify operations downstream.
SignBitIsZero - Return true if the sign bit of Op is known to be zero. We use this predicate to simplify operations downstream.
Definition at line 1439 of file SelectionDAG.cpp.
References llvm::APInt::getSignBit(), llvm::SDValue::getValueSizeInBits(), and MaskedValueIsZero().
MaskedValueIsZero - Return true if 'Op & Mask' is known to be zero. We use this predicate to simplify operations downstream. Op and Mask are known to be the same type.
MaskedValueIsZero - Return true if 'V & Mask' is known to be zero. We use this predicate to simplify operations downstream. Mask is known to be zero for bits that V cannot have.
Definition at line 1447 of file SelectionDAG.cpp.
References ComputeMaskedBits().
Referenced by llvm::SelectionDAGISel::CheckAndMask(), SignBitIsZero(), and llvm::TargetLowering::SimplifySetCC().
| void SelectionDAG::ComputeMaskedBits | ( | SDValue | Op, | |
| const APInt & | Mask, | |||
| APInt & | KnownZero, | |||
| APInt & | KnownOne, | |||
| unsigned | Depth = 0 | |||
| ) | const |
ComputeMaskedBits - Determine which of the bits specified in Mask are known to be either zero or one and return them in the KnownZero/KnownOne bitsets. This code only analyzes bits in Mask, in order to short-circuit processing. Targets can implement the computeMaskedBitsForTargetNode method in the TargetLowering class to allow target nodes to be understood.
ComputeMaskedBits - Determine which of the bits specified in Mask are known to be either zero or one and return them in the KnownZero/KnownOne bitsets. This code only analyzes bits in Mask, in order to short-circuit processing.
Definition at line 1459 of file SelectionDAG.cpp.
References llvm::ISD::ADD, llvm::ISD::AND, llvm::ISD::ANY_EXTEND, llvm::ISD::AssertZext, llvm::ISD::BUILTIN_OP_END, llvm::TargetLowering::computeMaskedBitsForTargetNode(), llvm::ISD::Constant, llvm::ISD::CTLZ, llvm::ISD::CTPOP, llvm::ISD::CTTZ, llvm::ISD::FGETSIGN, llvm::APInt::getAllOnesValue(), llvm::APInt::getBitWidth(), llvm::TargetLowering::getBooleanContents(), llvm::APInt::getBoolValue(), llvm::APInt::getHighBitsSet(), llvm::APInt::getLowBitsSet(), llvm::MemSDNode::getMemoryVT(), llvm::SDValue::getNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SDValue::getResNo(), llvm::APInt::getSignBit(), llvm::MVT::getSizeInBits(), llvm::SDValue::getValueType(), llvm::ISD::INTRINSIC_VOID, llvm::ISD::INTRINSIC_W_CHAIN, llvm::ISD::INTRINSIC_WO_CHAIN, llvm::APInt::isPowerOf2(), llvm::APInt::isStrictlyPositive(), llvm::ISD::isZEXTLoad(), llvm::ISD::LOAD, llvm::Log2_32(), llvm::APInt::lshr(), llvm::ISD::MUL, llvm::ISD::OR, llvm::ISD::SADDO, llvm::ISD::SELECT, llvm::ISD::SELECT_CC, llvm::ISD::SETCC, llvm::ISD::SHL, llvm::ISD::SIGN_EXTEND, llvm::ISD::SIGN_EXTEND_INREG, llvm::ISD::SMULO, llvm::ISD::SRA, llvm::ISD::SREM, llvm::ISD::SRL, llvm::ISD::SSUBO, llvm::ISD::SUB, TLI, llvm::APInt::trunc(), llvm::ISD::TRUNCATE, llvm::ISD::UADDO, llvm::ISD::UDIV, llvm::ISD::UMULO, llvm::ISD::UREM, llvm::ISD::USUBO, llvm::ISD::XOR, llvm::ISD::ZERO_EXTEND, llvm::TargetLowering::ZeroOrOneBooleanContent, and llvm::APInt::zext().
Referenced by llvm::SelectionDAGISel::CheckOrMask(), llvm::SparcTargetLowering::computeMaskedBitsForTargetNode(), llvm::ARMTargetLowering::computeMaskedBitsForTargetNode(), ComputeNumSignBits(), MaskedValueIsZero(), llvm::PPCTargetLowering::SelectAddressRegImm(), llvm::PPCTargetLowering::SelectAddressRegImmShift(), llvm::PPCTargetLowering::SelectAddressRegReg(), llvm::TargetLowering::SimplifyDemandedBits(), and ValueHasExactlyOneBitSet().
ComputeNumSignBits - Return the number of times the sign bit of the register is replicated into the other bits. We know that at least 1 bit is always equal to the sign bit (itself), but other cases can give us information. For example, immediately after an "SRA X, 2", we know that the top 3 bits are all equal to each other, so we return 3. Targets can implement the ComputeNumSignBitsForTarget method in the TargetLowering class to allow target nodes to be understood.
ComputeNumSignBits - Return the number of times the sign bit of the register is replicated into the other bits. We know that at least 1 bit is always equal to the sign bit (itself), but other cases can give us information. For example, immediately after an "SRA X, 2", we know that the top 3 bits are all equal to each other, so we return 3.
Definition at line 1916 of file SelectionDAG.cpp.
References llvm::ISD::ADD, llvm::ISD::AND, llvm::ISD::AssertSext, llvm::ISD::AssertZext, llvm::ISD::BUILTIN_OP_END, llvm::CallingConv::C, ComputeMaskedBits(), llvm::TargetLowering::ComputeNumSignBitsForTargetNode(), llvm::ISD::Constant, llvm::APInt::countLeadingOnes(), llvm::APInt::countLeadingZeros(), llvm::APInt::getAllOnesValue(), llvm::APInt::getBitWidth(), llvm::TargetLowering::getBooleanContents(), llvm::LoadSDNode::getExtensionType(), llvm::MemSDNode::getMemoryVT(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SDValue::getResNo(), llvm::MVT::getSizeInBits(), llvm::SDValue::getValueType(), llvm::ISD::INTRINSIC_VOID, llvm::ISD::INTRINSIC_W_CHAIN, llvm::ISD::INTRINSIC_WO_CHAIN, llvm::MVT::isInteger(), llvm::APInt::isNegative(), llvm::ISD::LOAD, llvm::ISD::OR, llvm::ISD::ROTL, llvm::ISD::ROTR, llvm::ISD::SADDO, llvm::ISD::SELECT, llvm::ISD::SETCC, llvm::ISD::SEXTLOAD, llvm::ISD::SHL, llvm::ISD::SIGN_EXTEND, llvm::ISD::SIGN_EXTEND_INREG, llvm::ISD::SMULO, llvm::ISD::SRA, llvm::ISD::SSUBO, llvm::ISD::SUB, TLI, llvm::ISD::TRUNCATE, llvm::ISD::UADDO, llvm::ISD::UMULO, llvm::ISD::USUBO, Val, llvm::ISD::XOR, llvm::TargetLowering::ZeroOrNegativeOneBooleanContent, and llvm::ISD::ZEXTLOAD.
| bool SelectionDAG::isVerifiedDebugInfoDesc | ( | SDValue | Op | ) | const |
isVerifiedDebugInfoDesc - Returns true if the specified SDValue has been verified as a debug information descriptor.
Definition at line 2137 of file SelectionDAG.cpp.
References llvm::dyn_cast(), llvm::GlobalAddressSDNode::getGlobal(), getMachineModuleInfo(), llvm::GlobalAddressSDNode::getOffset(), GV, llvm::MachineModuleInfo::hasDebugInfo(), and MMI.
getShuffleScalarElt - Returns the scalar element that will make up the ith element of the result of the vector shuffle.
getShuffleScalarElt - Returns the scalar element that will make up the ith element of the result of the vector shuffle.
Definition at line 2150 of file SelectionDAG.cpp.
References llvm::ISD::BIT_CONVERT, llvm::ISD::BUILD_VECTOR, llvm::SDNode::getDebugLoc(), llvm::SDValue::getNode(), getNode(), llvm::SDValue::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SDNode::getOperand(), llvm::SDValue::getValueType(), llvm::SDNode::getValueType(), llvm::MVT::getVectorElementType(), llvm::MVT::getVectorNumElements(), Idx, Index, llvm::MVT::isVector(), llvm::ISD::SCALAR_TO_VECTOR, llvm::ISD::UNDEF, V, and llvm::ISD::VECTOR_SHUFFLE.
Referenced by EltsFromConsecutiveLoads(), and getNumOfConsecutiveZeros().
| std::map<const SDNode *, std::string> llvm::SelectionDAG::NodeGraphAttrs |
Definition at line 147 of file SelectionDAG.h.
Referenced by clearGraphAttrs(), getGraphAttrs(), setGraphAttrs(), and setGraphColor().