|
LLVM
3.7.0
|
#include "SystemZISelLowering.h"#include "SystemZCallingConv.h"#include "SystemZConstantPoolValue.h"#include "SystemZMachineFunctionInfo.h"#include "SystemZTargetMachine.h"#include "llvm/CodeGen/CallingConvLower.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"#include "llvm/IR/Intrinsics.h"#include <cctype>#include "SystemZGenCallingConv.inc"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "systemz-lower" |
| #define | CONV(X) |
| #define | OPCODE(NAME) case SystemZISD::NAME: return "SystemZISD::" #NAME |
Variables | |
| static const Permute | PermuteForms [] |
| #define CONV | ( | X | ) |
Referenced by CCMaskForCondCode().
| #define DEBUG_TYPE "systemz-lower" |
Definition at line 28 of file SystemZISelLowering.cpp.
| #define OPCODE | ( | NAME | ) | case SystemZISD::NAME: return "SystemZISD::" #NAME |
Referenced by llvm::SystemZTargetLowering::getTargetNodeName().
|
static |
Definition at line 1746 of file SystemZISelLowering.cpp.
References llvm::dyn_cast(), llvm::ISD::FNEG, llvm::SDNode::getOpcode(), I, N, and reverseCCMask().
Referenced by getCmp().
|
static |
Definition at line 1766 of file SystemZISelLowering.cpp.
References llvm::ISD::Constant, llvm::dyn_cast(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), I, llvm::MVT::i32, llvm::MVT::i64, N, llvm::ISD::SHL, llvm::ISD::SIGN_EXTEND_INREG, llvm::SDNode::use_begin(), and llvm::SDNode::use_end().
Referenced by getCmp().
|
static |
Definition at line 1726 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_CMP_EQ, llvm::SystemZ::CCMASK_CMP_NE, llvm::SelectionDAG::getConstant(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), llvm::SDNode::getValueType(), I, N, and llvm::ISD::SUB.
Referenced by getCmp().
|
static |
Definition at line 1922 of file SystemZISelLowering.cpp.
References llvm::ISD::AND, llvm::SystemZICMP::Any, llvm::SystemZ::CCMASK_CMP_EQ, llvm::SystemZ::CCMASK_CMP_GT, llvm::SystemZ::CCMASK_CMP_LE, llvm::SystemZ::CCMASK_CMP_NE, llvm::SystemZ::CCMASK_TM, llvm::dyn_cast(), llvm::SelectionDAG::getConstant(), getTestUnderMaskCond(), llvm::ConstantSDNode::getZExtValue(), llvm::MVT::i64, isSimpleShift(), llvm::ISD::SHL, llvm::SystemZICMP::SignedOnly, llvm::ISD::SRL, llvm::SystemZISD::TM, and llvm::SystemZICMP::UnsignedOnly.
Referenced by getCmp().
|
static |
Definition at line 1791 of file SystemZISelLowering.cpp.
References llvm::ISD::Constant, llvm::SelectionDAG::getConstant(), llvm::ISD::LOAD, llvm::ISD::SEXTLOAD, llvm::SystemZICMP::SignedOnly, llvm::ISD::TRUNCATE, llvm::SystemZICMP::UnsignedOnly, and llvm::ISD::ZEXTLOAD.
Referenced by getCmp().
|
static |
Definition at line 1565 of file SystemZISelLowering.cpp.
References llvm::SystemZICMP::Any, llvm::SystemZ::CCMASK_CMP_GE, llvm::SystemZ::CCMASK_CMP_GT, llvm::SystemZ::CCMASK_CMP_LT, llvm::ISD::Constant, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getExtLoad(), llvm::MVT::i32, llvm::SPII::Load, llvm::ISD::LOAD, llvm::ISD::SEXTLOAD, llvm::SystemZICMP::SignedOnly, llvm::SystemZICMP::UnsignedOnly, and llvm::ISD::ZEXTLOAD.
Referenced by getCmp().
|
static |
Definition at line 1545 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_CMP_EQ, llvm::SystemZ::CCMASK_CMP_GE, llvm::SystemZ::CCMASK_CMP_GT, llvm::SystemZ::CCMASK_CMP_LE, llvm::SystemZ::CCMASK_CMP_LT, llvm::dyn_cast(), llvm::SelectionDAG::getConstant(), and llvm::SystemZICMP::UnsignedOnly.
Referenced by getCmp().
|
static |
Definition at line 3763 of file SystemZISelLowering.cpp.
References buildScalarToVector(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SelectionDAG::getUNDEF(), llvm::SystemZISD::MERGE_HIGH, llvm::SystemZISD::REPLICATE, and llvm::ISD::UNDEF.
Referenced by buildVector().
|
static |
Definition at line 3747 of file SystemZISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::ISD::Constant, llvm::ISD::ConstantFP, llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SelectionDAG::getUNDEF(), llvm::EVT::getVectorNumElements(), llvm::ISD::SCALAR_TO_VECTOR, and llvm::ISD::UNDEF.
Referenced by buildMergeScalars().
|
static |
Definition at line 3916 of file SystemZISelLowering.cpp.
References llvm::ISD::BITCAST, llvm::ISD::BUILD_VECTOR, buildMergeScalars(), llvm::ISD::Constant, llvm::ISD::ConstantFP, llvm::SelectionDAG::getConstant(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SelectionDAG::getUNDEF(), I, llvm::MVT::i32, llvm::ISD::INSERT_VECTOR_ELT, joinDwords(), llvm::ISD::LOAD, llvm::SystemZISD::MERGE_HIGH, llvm::SystemZISD::REPLICATE, llvm::Single, llvm::SmallVectorTemplateCommon< T >::size(), llvm::ISD::UNDEF, llvm::MVT::v2f64, llvm::MVT::v2i64, and llvm::MVT::v4f32.
Definition at line 4496 of file SystemZISelLowering.cpp.
References llvm::EVT::getSizeInBits(), llvm::EVT::getVectorElementType(), and llvm::EVT::isVector().
|
static |
Definition at line 993 of file SystemZISelLowering.cpp.
References llvm::CCValAssign::getLocInfo(), llvm::CCValAssign::getLocReg(), I, llvm::CCValAssign::Indirect, llvm::CCValAssign::isRegLoc(), and llvm::SmallVectorTemplateCommon< T >::size().
Referenced by llvm::SystemZTargetLowering::LowerCall().
|
static |
Definition at line 1453 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_CMP_O, llvm::SystemZ::CCMASK_CMP_UO, CONV, EQ, llvm::AArch64CC::GE, llvm::AArch64CC::GT, llvm::AArch64CC::LE, llvm_unreachable, llvm::AArch64CC::LT, llvm::AArch64CC::NE, llvm::ISD::SETO, and llvm::ISD::SETUO.
Referenced by getCmp().
Definition at line 3362 of file SystemZISelLowering.cpp.
Referenced by isShlDoublePermute(), and matchPermute().
|
static |
Definition at line 805 of file SystemZISelLowering.cpp.
References llvm::ISD::AssertSext, llvm::ISD::AssertZext, llvm::CCValAssign::BCvt, llvm::ISD::BITCAST, llvm::ISD::BUILD_VECTOR, llvm::CCValAssign::Full, llvm::SelectionDAG::getLoad(), llvm::CCValAssign::getLocInfo(), llvm::CCValAssign::getLocVT(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getUNDEF(), llvm::SelectionDAG::getValueType(), llvm::CCValAssign::getValVT(), llvm::MVT::i64, llvm::CCValAssign::Indirect, llvm::CCValAssign::isExtInLoc(), llvm::MVT::isVector(), llvm::CCValAssign::SExt, llvm::ISD::TRUNCATE, llvm::MVT::v2i64, and llvm::CCValAssign::ZExt.
Referenced by llvm::SystemZTargetLowering::LowerCall(), and llvm::SystemZTargetLowering::LowerFormalArguments().
|
static |
Definition at line 838 of file SystemZISelLowering.cpp.
References llvm::CCValAssign::AExt, llvm::ISD::ANY_EXTEND, llvm::CCValAssign::BCvt, llvm::ISD::BITCAST, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::CCValAssign::Full, llvm::SelectionDAG::getConstant(), llvm::CCValAssign::getLocInfo(), llvm::CCValAssign::getLocVT(), llvm::SelectionDAG::getNode(), llvm::CCValAssign::getValVT(), llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::isVector(), llvm_unreachable, llvm::CCValAssign::SExt, llvm::ISD::SIGN_EXTEND, llvm::MVT::v2i64, llvm::ISD::ZERO_EXTEND, and llvm::CCValAssign::ZExt.
Referenced by llvm::SystemZTargetLowering::LowerCall(), and llvm::SystemZTargetLowering::LowerReturn().
|
static |
Definition at line 78 of file SystemZISelLowering.cpp.
References llvm::MachineOperand::isReg(), and llvm::MachineOperand::setIsKill().
|
static |
Definition at line 4792 of file SystemZISelLowering.cpp.
References llvm::MachineFunction::CreateMachineBasicBlock(), llvm::MachineBasicBlock::getBasicBlock(), llvm::MachineBasicBlock::getParent(), and llvm::MachineFunction::insert().
Referenced by splitBlockAfter(), and splitBlockBefore().
|
static |
Definition at line 2096 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_TM_MIXED_MSB_0, llvm::SystemZ::CCMASK_TM_MIXED_MSB_1, emitIntrinsicWithChainAndGlue(), emitIntrinsicWithGlue(), llvm::SelectionDAG::getConstant(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDNode::getNumValues(), llvm::MVT::Glue, llvm::MVT::i32, llvm::SystemZISD::ICMP, llvm::ISD::INTRINSIC_W_CHAIN, llvm::ISD::INTRINSIC_WO_CHAIN, llvm_unreachable, and llvm::SystemZISD::TM.
|
static |
Definition at line 1412 of file SystemZISelLowering.cpp.
References llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDValue::getNumOperands(), llvm::SDNode::getNumValues(), llvm::SDValue::getOperand(), llvm::SelectionDAG::getVTList(), llvm::MVT::Glue, I, llvm::MVT::Other, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SelectionDAG::ReplaceAllUsesOfValueWith(), and llvm::SmallVectorImpl< T >::reserve().
Referenced by emitCmp().
|
static |
Definition at line 1432 of file SystemZISelLowering.cpp.
References llvm::SelectionDAG::getNode(), llvm::SDValue::getNumOperands(), llvm::SDNode::getNumValues(), llvm::SDValue::getOperand(), llvm::SDNode::getValueType(), llvm::SelectionDAG::getVTList(), llvm::MVT::Glue, I, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SmallVectorImpl< T >::reserve().
Referenced by emitCmp().
|
static |
Definition at line 2158 of file SystemZISelLowering.cpp.
References llvm::ISD::ADD, llvm::ISD::AND, llvm::SelectionDAG::getConstant(), getIPMConversion(), llvm::SelectionDAG::getNode(), llvm::MVT::i32, llvm::SystemZISD::IPM, llvm::ISD::SRL, and llvm::ISD::XOR.
|
static |
Definition at line 2227 of file SystemZISelLowering.cpp.
References llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getUNDEF(), llvm::SelectionDAG::getVectorShuffle(), llvm::MVT::v2f64, llvm::MVT::v4f32, and llvm::SystemZISD::VEXTEND.
Referenced by getVectorCmp().
|
static |
Definition at line 4820 of file SystemZISelLowering.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::MachineInstr::getDebugLoc(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), and llvm::MachineOperand::isReg().
|
static |
Definition at line 2349 of file SystemZISelLowering.cpp.
References llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::SDValue::getValueType(), llvm::SystemZISD::IABS, and llvm::ISD::SUB.
|
static |
Definition at line 3217 of file SystemZISelLowering.cpp.
References llvm::DL, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::SDNode::getNumValues(), llvm::MVT::i32, llvm::SystemZISD::IPM, llvm::SystemZ::IPM_CC, and llvm::ISD::SRL.
|
static |
Definition at line 2042 of file SystemZISelLowering.cpp.
References adjustForFNeg(), adjustForLTGFR(), adjustForSubtraction(), adjustForTestUnderMask(), adjustICmpTruncate(), adjustSubwordCmp(), adjustZeroCmp(), llvm::SystemZICMP::Any, llvm::SystemZ::CCMASK_CMP_EQ, llvm::SystemZ::CCMASK_CMP_NE, llvm::SystemZ::CCMASK_CMP_UO, llvm::SystemZ::CCMASK_FCMP, llvm::SystemZ::CCMASK_ICMP, CCMaskForCondCode(), llvm::ISD::Constant, llvm::SystemZISD::FCMP, getIntrinsicCmp(), llvm::SDNode::getNumValues(), llvm::SDValue::getOpcode(), llvm::SDValue::getResNo(), llvm::SDNode::hasNUsesOfValue(), llvm::SystemZISD::ICMP, llvm::ISD::INTRINSIC_W_CHAIN, llvm::ISD::INTRINSIC_WO_CHAIN, isIntrinsicWithCC(), isIntrinsicWithCCAndChain(), reverseCCMask(), shouldSwapCmpOperands(), llvm::SelectionDAG::SignBitIsZero(), llvm::SystemZICMP::SignedOnly, std::swap(), and llvm::SystemZICMP::UnsignedOnly.
|
static |
Definition at line 3552 of file SystemZISelLowering.cpp.
References llvm::ISD::BITCAST, llvm::ISD::BUILD_VECTOR, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getUNDEF(), I, llvm::MVT::i32, isShlDoublePermute(), llvm::SystemZISD::PERMUTE, llvm::SystemZISD::SHL_DOUBLE, llvm::MVT::v16i8, and llvm::SystemZ::VectorBytes.
|
static |
Definition at line 2009 of file SystemZISelLowering.cpp.
References llvm_unreachable, llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, and llvm::ISD::SETULT.
Referenced by getCmp().
Definition at line 1479 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_0, llvm::SystemZ::CCMASK_1, llvm::SystemZ::CCMASK_2, llvm::SystemZ::CCMASK_3, llvm::SystemZ::IPM_CC, and llvm_unreachable.
Referenced by emitSETCC().
|
static |
Definition at line 3523 of file SystemZISelLowering.cpp.
References llvm::ISD::BITCAST, llvm::SelectionDAG::getConstant(), llvm::MVT::getIntegerVT(), llvm::SelectionDAG::getNode(), llvm::MVT::getVectorVT(), llvm::MVT::i32, llvm::SystemZISD::PACK, llvm::SystemZISD::PERMUTE_DWORDS, and llvm::SystemZ::VectorBytes.
|
static |
Definition at line 3472 of file SystemZISelLowering.cpp.
References I, and llvm::SmallVectorTemplateCommon< T, typename >::size().
|
static |
Definition at line 1830 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_ANY, llvm::SystemZ::CCMASK_CMP_EQ, llvm::SystemZ::CCMASK_CMP_GE, llvm::SystemZ::CCMASK_CMP_GT, llvm::SystemZ::CCMASK_CMP_LE, llvm::SystemZ::CCMASK_CMP_LT, llvm::SystemZ::CCMASK_CMP_NE, llvm::SystemZ::CCMASK_TM_ALL_0, llvm::SystemZ::CCMASK_TM_ALL_1, llvm::SystemZ::CCMASK_TM_MIXED_MSB_0, llvm::SystemZ::CCMASK_TM_MIXED_MSB_1, llvm::SystemZ::CCMASK_TM_MSB_0, llvm::SystemZ::CCMASK_TM_MSB_1, llvm::SystemZ::CCMASK_TM_SOME_0, llvm::SystemZ::CCMASK_TM_SOME_1, llvm::countLeadingZeros(), llvm::countTrailingZeros(), llvm::SystemZ::isImmHH(), llvm::SystemZ::isImmHL(), llvm::SystemZ::isImmLH(), llvm::SystemZ::isImmLL(), and llvm::SystemZICMP::SignedOnly.
Referenced by adjustForTestUnderMask().
|
static |
Definition at line 2236 of file SystemZISelLowering.cpp.
References expandV4F32ToV2F64(), llvm::SelectionDAG::getNode(), llvm::SDValue::getValueType(), llvm::SystemZISD::PACK, llvm::MVT::v2i64, and llvm::MVT::v4f32.
Referenced by lowerVectorSETCC().
|
static |
Definition at line 2183 of file SystemZISelLowering.cpp.
References llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETUGT, llvm::SystemZISD::VFCMPE, llvm::SystemZISD::VFCMPH, llvm::SystemZISD::VFCMPHE, llvm::SystemZISD::VICMPE, llvm::SystemZISD::VICMPH, and llvm::SystemZISD::VICMPHL.
Referenced by getVectorComparisonOrInvert().
|
static |
Definition at line 2209 of file SystemZISelLowering.cpp.
References llvm::ISD::getSetCCInverse(), and getVectorComparison().
Referenced by lowerVectorSETCC().
|
static |
Definition at line 3454 of file SystemZISelLowering.cpp.
References llvm::ShuffleVectorSDNode::getMaskElt(), llvm::EVT::getStoreSize(), llvm::SDNode::getValueType(), llvm::EVT::getVectorElementType(), llvm::EVT::getVectorNumElements(), I, and llvm::SmallVectorImpl< T >::resize().
Definition at line 65 of file SystemZISelLowering.cpp.
References llvm::EVT::getSimpleVT(), llvm::MVT::i32, llvm::MVT::i64, llvm_unreachable, and llvm::MVT::SimpleTy.
Referenced by lowerGR128Binary().
Definition at line 2338 of file SystemZISelLowering.cpp.
References llvm::ISD::Constant, llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::ISD::SIGN_EXTEND, and llvm::ISD::SUB.
Definition at line 1277 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_0, llvm::SystemZ::CCMASK_3, llvm::SystemZ::CCMASK_ANY, llvm::SystemZ::CCMASK_VCMP, llvm::SDValue::getOperand(), llvm::tgtok::Id, llvm::SystemZISD::PACKLS_CC, llvm::SystemZISD::PACKS_CC, llvm::SystemZISD::VFAE_CC, llvm::SystemZISD::VFAEZ_CC, llvm::SystemZISD::VFCMPES, llvm::SystemZISD::VFCMPHES, llvm::SystemZISD::VFCMPHS, llvm::SystemZISD::VFEE_CC, llvm::SystemZISD::VFEEZ_CC, llvm::SystemZISD::VFENE_CC, llvm::SystemZISD::VFENEZ_CC, llvm::SystemZISD::VFTCI, llvm::SystemZISD::VICMPES, llvm::SystemZISD::VICMPHLS, llvm::SystemZISD::VICMPHS, llvm::SystemZISD::VISTR_CC, llvm::SystemZISD::VSTRC_CC, llvm::SystemZISD::VSTRCZ_CC, and llvm::SystemZISD::VTM.
Referenced by getCmp().
Definition at line 1250 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_TBEGIN, llvm::SystemZ::CCMASK_TEND, llvm::SDValue::getOperand(), llvm::tgtok::Id, llvm::SystemZISD::TBEGIN, llvm::SystemZISD::TBEGIN_NOFLOAT, and llvm::SystemZISD::TEND.
Referenced by getCmp().
Definition at line 1635 of file SystemZISelLowering.cpp.
References llvm::dyn_cast(), llvm::SDValue::getNode(), llvm::MVT::i8, llvm::SPII::Load, llvm::ISD::NON_EXTLOAD, llvm::ISD::SEXTLOAD, llvm::SystemZICMP::SignedOnly, llvm::SystemZICMP::UnsignedOnly, and llvm::ISD::ZEXTLOAD.
Referenced by shouldSwapCmpOperands().
Definition at line 3738 of file SystemZISelLowering.cpp.
References llvm::SDValue::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), I, and llvm::ISD::UNDEF.
|
static |
Definition at line 3495 of file SystemZISelLowering.cpp.
References chooseShuffleOpNos(), I, and llvm::SystemZ::VectorBytes.
Referenced by getGeneralPermuteNode().
Definition at line 1811 of file SystemZISelLowering.cpp.
References llvm::dyn_cast(), llvm::SDValue::getOperand(), llvm::EVT::getSizeInBits(), llvm::SDValue::getValueType(), and llvm::ConstantSDNode::getZExtValue().
Referenced by adjustForTestUnderMask().
|
static |
Definition at line 3779 of file SystemZISelLowering.cpp.
References llvm::ISD::ANY_EXTEND, llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SelectionDAG::getUNDEF(), llvm::MVT::i64, llvm::SystemZISD::JOIN_DWORDS, llvm::ISD::UNDEF, and llvm::MVT::v2i64.
Referenced by buildVector().
|
static |
Definition at line 2143 of file SystemZISelLowering.cpp.
References llvm::SystemZ::even128(), llvm::SelectionDAG::getMachineNode(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getTargetExtractSubreg(), is32Bit(), llvm::SystemZ::odd128(), and llvm::MVT::Untyped.
|
static |
Definition at line 2126 of file SystemZISelLowering.cpp.
References llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::MVT::i32, llvm::MVT::i64, llvm::ISD::MUL, llvm::ISD::SRL, and llvm::ISD::TRUNCATE.
|
static |
Definition at line 2254 of file SystemZISelLowering.cpp.
References llvm::ISD::BITCAST, llvm::SystemZISD::BYTE_MASK, llvm::AArch64CC::GE, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::ISD::getSetCCSwappedOperands(), llvm::SDValue::getValueType(), getVectorCmp(), getVectorComparisonOrInvert(), llvm::AArch64CC::GT, llvm::MVT::i32, llvm::EVT::isFloatingPoint(), llvm_unreachable, llvm::AArch64CC::LT, llvm::ISD::OR, llvm::ISD::SETO, llvm::ISD::SETONE, llvm::ISD::SETUEQ, llvm::ISD::SETUO, llvm::MVT::v16i8, llvm::SystemZISD::VFCMPH, llvm::SystemZISD::VFCMPHE, and llvm::ISD::XOR.
|
static |
Definition at line 3422 of file SystemZISelLowering.cpp.
References llvm::SystemZ::VectorBytes.
Referenced by matchDoublePermute().
|
static |
Definition at line 3444 of file SystemZISelLowering.cpp.
References matchDoublePermute(), and P.
|
static |
Definition at line 3385 of file SystemZISelLowering.cpp.
References chooseShuffleOpNos(), I, and llvm::SystemZ::VectorBytes.
Referenced by matchPermute().
|
static |
Definition at line 3409 of file SystemZISelLowering.cpp.
References matchPermute(), and P.
|
static |
Definition at line 646 of file SystemZISelLowering.cpp.
References llvm::StringRef::end(), llvm::StringRef::size(), and llvm::StringRef::slice().
Referenced by llvm::SystemZTargetLowering::getRegForInlineAsmConstraint().
Definition at line 1716 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_CMP_EQ, llvm::SystemZ::CCMASK_CMP_GT, llvm::SystemZ::CCMASK_CMP_LT, and llvm::SystemZ::CCMASK_CMP_UO.
Referenced by adjustForFNeg(), and getCmp().
Definition at line 1657 of file SystemZISelLowering.cpp.
References llvm::ISD::AND, llvm::ISD::Constant, llvm::dyn_cast(), llvm::MVT::f128, llvm::isInt< 16 >(), isNaturalMemoryOperand(), llvm::isUInt< 16 >(), llvm::ISD::SIGN_EXTEND, llvm::SystemZICMP::SignedOnly, llvm::SystemZICMP::UnsignedOnly, and llvm::ISD::ZERO_EXTEND.
Referenced by getCmp().
|
static |
Definition at line 4801 of file SystemZISelLowering.cpp.
References llvm::MachineBasicBlock::begin(), emitBlockAfter(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::splice(), and llvm::MachineBasicBlock::transferSuccessorsAndUpdatePHIs().
|
static |
Definition at line 4811 of file SystemZISelLowering.cpp.
References llvm::MachineBasicBlock::begin(), emitBlockAfter(), llvm::MachineBasicBlock::end(), llvm::AArch64CC::MI, llvm::MachineBasicBlock::splice(), and llvm::MachineBasicBlock::transferSuccessorsAndUpdatePHIs().
|
static |
Definition at line 3799 of file SystemZISelLowering.cpp.
References llvm::ISD::Constant, llvm::ISD::ConstantFP, llvm::SDNode::getNumOperands(), llvm::SDValue::getOpcode(), llvm::SDNode::getOperand(), llvm::EVT::getStoreSize(), llvm::SDNode::getValueType(), llvm::EVT::getVectorElementType(), I, and llvm::ISD::UNDEF.
|
static |
Definition at line 3830 of file SystemZISelLowering.cpp.
References llvm::ISD::BITCAST, llvm::SelectionDAG::getConstant(), llvm::MVT::getIntegerVT(), llvm::SelectionDAG::getNode(), llvm::MVT::getVectorVT(), llvm::MVT::i32, llvm::isInt< 16 >(), llvm::SystemZInstrInfo::isRxSBGMask(), llvm::SystemZISD::REPLICATE, llvm::SystemZISD::ROTATE_MASK, llvm::SignExtend64(), and llvm::SystemZ::VectorBits.
|
static |
Definition at line 3868 of file SystemZISelLowering.cpp.
References llvm::ISD::BUILD_VECTOR, llvm::ISD::Constant, llvm::SmallVectorBase::empty(), llvm::ISD::EXTRACT_VECTOR_ELT, llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SDNode::getOperand(), llvm::SelectionDAG::getUNDEF(), llvm::SDNode::getValueType(), llvm::EVT::getVectorElementType(), llvm::EVT::getVectorNumElements(), llvm::GS, I, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::ISD::TRUNCATE, and llvm::ISD::UNDEF.
Definition at line 787 of file SystemZISelLowering.cpp.
References llvm::EVT::isVector(), llvm::MVT::isVector(), and llvm::report_fatal_error().
Referenced by VerifyVectorTypes().
|
static |
Definition at line 792 of file SystemZISelLowering.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::size(), and VerifyVectorType().
Referenced by llvm::SystemZTargetLowering::CanLowerReturn(), llvm::SystemZTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerFormalArguments(), and llvm::SystemZTargetLowering::LowerReturn().
|
static |
Definition at line 797 of file SystemZISelLowering.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::size(), and VerifyVectorType().
|
static |
Definition at line 3313 of file SystemZISelLowering.cpp.
1.8.6