LLVM
15.0.0git
|
#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/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsS390.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/KnownBits.h"
#include <cctype>
#include "SystemZGenCallingConv.inc"
Go to the source code of this file.
Classes | |
struct | AddressingMode |
Macros | |
#define | DEBUG_TYPE "systemz-lower" |
#define | CONV(X) |
#define | OPCODE(NAME) case SystemZISD::NAME: return "SystemZISD::" #NAME |
Enumerations | |
enum | CmpMode { CmpMode::Int, CmpMode::FP, CmpMode::StrictFP, CmpMode::SignalingFP } |
Variables | |
static const Permute | PermuteForms [] |
#define CONV | ( | X | ) |
#define DEBUG_TYPE "systemz-lower" |
Definition at line 31 of file SystemZISelLowering.cpp.
|
strong |
Enumerator | |
---|---|
Int | |
FP | |
StrictFP | |
SignalingFP |
Definition at line 2896 of file SystemZISelLowering.cpp.
|
static |
Definition at line 2436 of file SystemZISelLowering.cpp.
References C1, llvm::ISD::FNEG, N, and llvm::SystemZ::reverseCCMask().
Referenced by getCmp().
|
static |
Definition at line 2459 of file SystemZISelLowering.cpp.
References C1, llvm::ISD::Constant, llvm::SDValue::getOperand(), llvm::MVT::i32, llvm::MVT::i64, N, llvm::ISD::SHL, llvm::ISD::SIGN_EXTEND_INREG, and llvm::SDNode::uses().
Referenced by getCmp().
|
static |
Definition at line 2706 of file SystemZISelLowering.cpp.
References llvm::ISD::AND, llvm::SelectionDAG::computeKnownBits(), llvm::BitmaskEnumDetail::Mask(), and llvm::KnownBits::Zero.
Referenced by getCmp().
|
static |
Definition at line 2416 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_CMP_EQ, llvm::SystemZ::CCMASK_CMP_NE, DL, llvm::SelectionDAG::getConstant(), N, and llvm::ISD::SUB.
Referenced by getCmp().
|
static |
Definition at line 2615 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, DL, llvm::SelectionDAG::getConstant(), getTestUnderMaskCond(), llvm::MVT::i64, isSimpleShift(), llvm::BitmaskEnumDetail::Mask(), llvm::ISD::SHL, llvm::SystemZICMP::SignedOnly, llvm::ISD::SRL, llvm::SystemZISD::TM, and llvm::SystemZICMP::UnsignedOnly.
Referenced by getCmp().
|
static |
Definition at line 2483 of file SystemZISelLowering.cpp.
References llvm::ISD::Constant, DL, 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 2260 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, DL, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getExtLoad(), llvm::SDValue::getValue(), llvm::MVT::i32, llvm::SPII::Load, llvm::ISD::LOAD, llvm::BitmaskEnumDetail::Mask(), llvm::SelectionDAG::ReplaceAllUsesOfValueWith(), llvm::ISD::SEXTLOAD, llvm::SystemZICMP::SignedOnly, llvm::SystemZICMP::UnsignedOnly, and llvm::ISD::ZEXTLOAD.
Referenced by getCmp().
|
static |
Definition at line 2240 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, DL, llvm::SelectionDAG::getConstant(), and llvm::SystemZICMP::UnsignedOnly.
Referenced by getCmp().
|
static |
Definition at line 5184 of file SystemZISelLowering.cpp.
References buildScalarToVector(), DL, llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getUNDEF(), llvm::SDValue::isUndef(), llvm::SystemZISD::MERGE_HIGH, and llvm::SystemZISD::REPLICATE.
|
static |
Definition at line 5168 of file SystemZISelLowering.cpp.
References llvm::ISD::Constant, llvm::ISD::ConstantFP, DL, llvm::SelectionDAG::getBuildVector(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getUNDEF(), llvm::EVT::getVectorNumElements(), and llvm::ISD::SCALAR_TO_VECTOR.
Referenced by buildMergeScalars().
|
static |
Definition at line 1636 of file SystemZISelLowering.cpp.
References E, llvm::CCValAssign::getLocInfo(), llvm::CCValAssign::getLocReg(), I, llvm::CCValAssign::Indirect, and llvm::CCValAssign::isRegLoc().
Referenced by llvm::SystemZTargetLowering::LowerCall().
|
static |
Definition at line 2215 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().
|
static |
Definition at line 7490 of file SystemZISelLowering.cpp.
References llvm::MachineInstr::definesRegister(), llvm::MachineBasicBlock::end(), MBB, MI, llvm::MachineInstr::readsRegister(), and llvm::MachineBasicBlock::successors().
|
static |
Definition at line 4581 of file SystemZISelLowering.cpp.
Referenced by isShlDoublePermute(), and matchPermute().
Definition at line 6893 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_CMP_EQ, llvm::SystemZ::CCMASK_CMP_NE, llvm::SystemZ::CCMASK_ICMP, llvm::tgtok::FalseVal, llvm::SDValue::getNode(), llvm::SDNode::getOperand(), llvm::SystemZISD::ICMP, llvm::SystemZISD::IPM, llvm::SystemZ::IPM_CC, llvm::SystemZ::reverseCCMask(), llvm::SystemZISD::SELECT_CCMASK, llvm::ISD::SHL, llvm::ISD::SRA, and llvm::tgtok::TrueVal.
|
static |
Definition at line 7254 of file SystemZISelLowering.cpp.
References llvm::KnownBits::commonBits(), llvm::SelectionDAG::computeKnownBits(), llvm::Depth, and getDemandedSrcElements().
Referenced by llvm::SystemZTargetLowering::computeKnownBitsForTargetNode().
|
static |
Definition at line 7362 of file SystemZISelLowering.cpp.
References assert(), llvm::SelectionDAG::ComputeNumSignBits(), llvm::Depth, getDemandedSrcElements(), llvm::EVT::getScalarSizeInBits(), LHS, llvm::min(), and RHS.
Referenced by llvm::SystemZTargetLowering::ComputeNumSignBitsForTargetNode().
|
static |
Definition at line 1367 of file SystemZISelLowering.cpp.
References assert(), llvm::ISD::AssertSext, llvm::ISD::AssertZext, llvm::CCValAssign::BCvt, llvm::ISD::BITCAST, DL, llvm::CCValAssign::Full, llvm::SelectionDAG::getBuildVector(), llvm::CCValAssign::getLocInfo(), llvm::CCValAssign::getLocVT(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getUNDEF(), llvm::SelectionDAG::getValueType(), llvm::CCValAssign::getValVT(), llvm::MVT::i64, 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 1396 of file SystemZISelLowering.cpp.
References llvm::CCValAssign::AExt, llvm::ISD::ANY_EXTEND, assert(), llvm::CCValAssign::BCvt, llvm::ISD::BITCAST, DL, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::MVT::f128, llvm::MVT::f64, llvm::CCValAssign::Full, llvm::SelectionDAG::getConstant(), llvm::CCValAssign::getLocInfo(), llvm::CCValAssign::getLocVT(), llvm::SelectionDAG::getNode(), llvm::CCValAssign::getValVT(), llvm::MVT::i128, 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 7535 of file SystemZISelLowering.cpp.
References llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), DL, llvm::DenseMapBase< DenseMap< KeyT, ValueT, DenseMapInfo< KeyT >, llvm::detail::DenseMapPair< KeyT, ValueT > >, KeyT, ValueT, DenseMapInfo< KeyT >, llvm::detail::DenseMapPair< KeyT, ValueT > >::end(), llvm::DenseMapBase< DenseMap< KeyT, ValueT, DenseMapInfo< KeyT >, llvm::detail::DenseMapPair< KeyT, ValueT > >, KeyT, ValueT, DenseMapInfo< KeyT >, llvm::detail::DenseMapPair< KeyT, ValueT > >::find(), llvm::MachineOperand::getImm(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getProperties(), llvm::MachineFunction::getSubtarget(), MI, llvm::MachineFunctionProperties::NoPHIs, llvm::MachineFunctionProperties::reset(), std::swap(), and TII.
|
static |
Definition at line 5060 of file SystemZISelLowering.cpp.
References llvm::dbgs(), i, and llvm::AMDGPU::SendMsg::Msg.
|
static |
Definition at line 74 of file SystemZISelLowering.cpp.
|
static |
Definition at line 2821 of file SystemZISelLowering.cpp.
|
static |
Definition at line 2197 of file SystemZISelLowering.cpp.
References llvm::SelectionDAG::getNode(), I, Intr, and llvm::SmallVectorImpl< T >::reserve().
|
static |
Definition at line 2177 of file SystemZISelLowering.cpp.
References assert(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getVTList(), I, llvm::MVT::i32, Intr, llvm::MVT::Other, llvm::SelectionDAG::ReplaceAllUsesOfValueWith(), and llvm::SmallVectorImpl< T >::reserve().
|
static |
Definition at line 2882 of file SystemZISelLowering.cpp.
References DL, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getTargetConstant(), llvm::MVT::i32, and llvm::SystemZISD::SELECT_CCMASK.
Referenced by llvm::SystemZTargetLowering::LowerOperationWrapper().
|
static |
Definition at line 2964 of file SystemZISelLowering.cpp.
References DL, llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getUNDEF(), llvm::SelectionDAG::getVectorShuffle(), llvm::SelectionDAG::getVTList(), llvm::BitmaskEnumDetail::Mask(), llvm::MVT::Other, llvm::SystemZISD::STRICT_VEXTEND, llvm::MVT::v2f64, llvm::MVT::v4f32, and llvm::SystemZISD::VEXTEND.
Definition at line 4792 of file SystemZISelLowering.cpp.
References I, and isZeroVector().
Referenced by getGeneralPermuteNode().
|
static |
Definition at line 7464 of file SystemZISelLowering.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::sampleprof::Base, llvm::BuildMI(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), llvm::RISCVISD::LA, MBB, MI, MRI, and TII.
|
static |
Definition at line 3162 of file SystemZISelLowering.cpp.
References llvm::ISD::ABS, DL, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), and llvm::ISD::SUB.
|
static |
Definition at line 4435 of file SystemZISelLowering.cpp.
References DL, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::MVT::i32, llvm::SystemZISD::IPM, llvm::SystemZ::IPM_CC, and llvm::ISD::SRL.
|
static |
Definition at line 2757 of file SystemZISelLowering.cpp.
References adjustForFNeg(), adjustForLTGFR(), adjustForRedundantAnd(), adjustForSubtraction(), adjustForTestUnderMask(), adjustICmpTruncate(), adjustSubwordCmp(), adjustZeroCmp(), llvm::SystemZICMP::Any, assert(), llvm::SystemZ::CCMASK_CMP_EQ, llvm::SystemZ::CCMASK_CMP_NE, llvm::SystemZ::CCMASK_CMP_UO, llvm::SystemZ::CCMASK_FCMP, llvm::SystemZ::CCMASK_ICMP, CCMaskForCondCode(), Cond, llvm::ISD::Constant, DL, 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(), llvm::SystemZ::reverseCCMask(), shouldSwapCmpOperands(), llvm::SelectionDAG::SignBitIsZero(), llvm::SystemZICMP::SignedOnly, llvm::SystemZISD::STRICT_FCMP, llvm::SystemZISD::STRICT_FCMPS, std::swap(), and llvm::SystemZICMP::UnsignedOnly.
|
static |
Definition at line 7157 of file SystemZISelLowering.cpp.
References assert(), llvm::EVT::getVectorNumElements(), llvm::APInt::insertBits(), llvm::ISD::INTRINSIC_WO_CHAIN, llvm::EVT::isVector(), llvm::SystemZISD::JOIN_DWORDS, llvm_unreachable, llvm::APInt::lshr(), llvm::APInt::lshrInPlace(), llvm::BitmaskEnumDetail::Mask(), llvm::SystemZISD::SELECT_CCMASK, llvm::APInt::setBit(), llvm::APInt::trunc(), and llvm::MVT::v16i8.
Referenced by computeKnownBitsBinOp(), llvm::SystemZTargetLowering::computeKnownBitsForTargetNode(), computeNumSignBitsBinOp(), and llvm::SystemZTargetLowering::ComputeNumSignBitsForTargetNode().
|
static |
Definition at line 4802 of file SystemZISelLowering.cpp.
References llvm::ISD::BITCAST, DL, findZeroVectorIdx(), llvm::SelectionDAG::getBuildVector(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getTargetConstant(), llvm::SelectionDAG::getUNDEF(), I, llvm::MVT::i32, isShlDoublePermute(), isUndef(), llvm::BitmaskEnumDetail::Mask(), llvm::SystemZISD::PERMUTE, llvm::SystemZISD::SHL_DOUBLE, llvm::MVT::v16i8, and llvm::SystemZ::VectorBytes.
|
static |
Definition at line 2724 of file SystemZISelLowering.cpp.
References Cond, 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().
|
static |
Definition at line 887 of file SystemZISelLowering.cpp.
References llvm::Type::isIntegerTy(), and llvm::SystemZISD::MVC.
Referenced by supportedAddressingMode().
|
static |
Definition at line 4756 of file SystemZISelLowering.cpp.
References llvm::ISD::BITCAST, DL, llvm::MVT::getIntegerVT(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getTargetConstant(), llvm::MVT::getVectorVT(), llvm::MVT::i32, P, llvm::SystemZISD::PACK, llvm::SystemZISD::PERMUTE_DWORDS, and llvm::SystemZ::VectorBytes.
|
static |
Definition at line 4705 of file SystemZISelLowering.cpp.
References llvm::sampleprof::Base, and I.
|
static |
Definition at line 2523 of file SystemZISelLowering.cpp.
References assert(), 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(), High, llvm::SystemZ::isImmHH(), llvm::SystemZ::isImmHL(), llvm::SystemZ::isImmLH(), llvm::SystemZ::isImmLL(), llvm::Low, llvm::BitmaskEnumDetail::Mask(), and llvm::SystemZICMP::SignedOnly.
Referenced by adjustForTestUnderMask().
|
static |
Definition at line 2897 of file SystemZISelLowering.cpp.
References FP, Int, llvm_unreachable, Mode, llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETUGT, SignalingFP, llvm::SystemZISD::STRICT_VFCMPE, llvm::SystemZISD::STRICT_VFCMPES, llvm::SystemZISD::STRICT_VFCMPH, llvm::SystemZISD::STRICT_VFCMPHE, llvm::SystemZISD::STRICT_VFCMPHES, llvm::SystemZISD::STRICT_VFCMPHS, StrictFP, 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 2946 of file SystemZISelLowering.cpp.
References llvm::MVT::f32, llvm::ISD::getSetCCInverse(), getVectorComparison(), llvm::MVT::i32, Int, and Mode.
|
static |
Definition at line 4673 of file SystemZISelLowering.cpp.
References llvm::SDValue::getConstantOperandVal(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::EVT::getStoreSize(), llvm::SDValue::getValueType(), llvm::EVT::getVectorElementType(), llvm::EVT::getVectorNumElements(), I, llvm::SmallVectorImpl< T >::resize(), and llvm::SystemZISD::SPLAT.
|
static |
Definition at line 61 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 3151 of file SystemZISelLowering.cpp.
References llvm::ISD::Constant, llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::ISD::SIGN_EXTEND, and llvm::ISD::SUB.
|
static |
Definition at line 3989 of file SystemZISelLowering.cpp.
References llvm::ISD::ADDCARRY, llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), and llvm::ISD::UADDO.
|
static |
Definition at line 2019 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_0, llvm::SystemZ::CCMASK_3, llvm::SystemZ::CCMASK_ANY, llvm::SystemZ::CCMASK_TDC, llvm::SystemZ::CCMASK_VCMP, llvm::SystemZISD::PACKLS_CC, llvm::SystemZISD::PACKS_CC, llvm::SystemZISD::TDC, 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, llvm::SystemZISD::VSTRS_CC, llvm::SystemZISD::VSTRSZ_CC, and llvm::SystemZISD::VTM.
Referenced by llvm::SystemZTargetLowering::computeKnownBitsForTargetNode(), and getCmp().
|
static |
Definition at line 1992 of file SystemZISelLowering.cpp.
References llvm::SystemZ::CCMASK_TBEGIN, llvm::SystemZ::CCMASK_TEND, llvm::SystemZISD::TBEGIN, llvm::SystemZISD::TBEGIN_NOFLOAT, and llvm::SystemZISD::TEND.
Referenced by getCmp().
|
static |
Definition at line 2334 of file SystemZISelLowering.cpp.
References 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().
|
static |
Definition at line 6364 of file SystemZISelLowering.cpp.
References llvm::EVT::getStoreSize(), llvm::EVT::isRound(), llvm::SelectionDAG::isSplatValue(), llvm::ARM_MB::ST, and llvm::SDNode::uses().
|
static |
Definition at line 5159 of file SystemZISelLowering.cpp.
|
static |
Definition at line 7515 of file SystemZISelLowering.cpp.
References MI.
|
static |
Definition at line 4728 of file SystemZISelLowering.cpp.
References chooseShuffleOpNos(), I, Shift, and llvm::SystemZ::VectorBytes.
Referenced by getGeneralPermuteNode().
|
static |
Definition at line 2504 of file SystemZISelLowering.cpp.
Referenced by adjustForTestUnderMask().
|
static |
Definition at line 3995 of file SystemZISelLowering.cpp.
References llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::ISD::SUBCARRY, and llvm::ISD::USUBO.
Definition at line 6348 of file SystemZISelLowering.cpp.
References llvm::EVT::getScalarSizeInBits(), llvm::EVT::getSizeInBits(), llvm::EVT::getVectorNumElements(), i, llvm::EVT::isSimple(), llvm::EVT::isVector(), and M.
|
static |
Definition at line 4782 of file SystemZISelLowering.cpp.
References llvm::ISD::BITCAST, llvm::ISD::isBuildVectorAllZeros(), N, and llvm::ISD::SPLAT_VECTOR.
Referenced by findZeroVectorIdx().
Definition at line 5200 of file SystemZISelLowering.cpp.
References llvm::ISD::ANY_EXTEND, DL, llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getUNDEF(), llvm::MVT::i64, llvm::SDValue::isUndef(), llvm::SystemZISD::JOIN_DWORDS, and llvm::MVT::v2i64.
|
static |
Definition at line 2870 of file SystemZISelLowering.cpp.
References DL, llvm::SystemZ::even128(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getTargetExtractSubreg(), is32Bit(), llvm::SystemZ::odd128(), and llvm::MVT::Untyped.
|
static |
Definition at line 1438 of file SystemZISelLowering.cpp.
References llvm::ISD::BUILD_PAIR, DL, llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getTargetExtractSubreg(), llvm::MVT::i128, llvm::MVT::i64, and llvm::tgtok::In.
Referenced by llvm::SystemZTargetLowering::joinRegisterPartsIntoValue(), and llvm::SystemZTargetLowering::LowerOperationWrapper().
|
static |
Definition at line 1427 of file SystemZISelLowering.cpp.
References DL, llvm::ISD::EXTRACT_ELEMENT, llvm::SelectionDAG::getIntPtrConstant(), llvm::SelectionDAG::getMachineNode(), llvm::SelectionDAG::getNode(), llvm::MVT::i64, llvm::tgtok::In, and llvm::MVT::Untyped.
Referenced by llvm::SystemZTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerOperationWrapper(), and llvm::SystemZTargetLowering::splitValueIntoRegisterParts().
|
static |
Definition at line 2854 of file SystemZISelLowering.cpp.
References DL, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::MVT::i32, llvm::MVT::i64, Mul, llvm::ISD::MUL, llvm::ISD::SRL, and llvm::ISD::TRUNCATE.
|
static |
Definition at line 4641 of file SystemZISelLowering.cpp.
References From, P, and llvm::SystemZ::VectorBytes.
Referenced by matchDoublePermute().
|
static |
Definition at line 4663 of file SystemZISelLowering.cpp.
References matchDoublePermute(), P, and PermuteForms.
|
static |
Definition at line 4604 of file SystemZISelLowering.cpp.
References chooseShuffleOpNos(), I, P, and llvm::SystemZ::VectorBytes.
Referenced by matchPermute().
|
static |
Definition at line 4628 of file SystemZISelLowering.cpp.
References matchPermute(), P, and PermuteForms.
Definition at line 6608 of file SystemZISelLowering.cpp.
References llvm::SDNode::getOperand().
|
static |
Definition at line 1157 of file SystemZISelLowering.cpp.
References assert(), llvm::StringRef::end(), llvm::Failed(), llvm::StringRef::getAsInteger(), llvm::StringRef::size(), and llvm::StringRef::slice().
Referenced by llvm::SystemZTargetLowering::getRegForInlineAsmConstraint().
|
static |
Definition at line 2356 of file SystemZISelLowering.cpp.
References llvm::ISD::AND, llvm::ISD::Constant, 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 903 of file SystemZISelLowering.cpp.
References getLoadStoreAddrMode(), I, llvm::Type::isFloatingPointTy(), llvm::isInt< 16 >(), llvm::isUInt< 16 >(), llvm::Type::isVectorTy(), and memcpy().
Referenced by llvm::SystemZTargetLowering::isLegalAddressingMode().
|
static |
Definition at line 5221 of file SystemZISelLowering.cpp.
References llvm::ISD::Constant, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::SelectionDAG::getBuildVector(), llvm::SDNode::getOperand(), llvm::SelectionDAG::getUNDEF(), llvm::SDNode::getValueType(), llvm::EVT::getVectorNumElements(), llvm::X86AS::GS, I, and llvm::ISD::TRUNCATE.
Definition at line 1349 of file SystemZISelLowering.cpp.
References llvm::EVT::isVector(), llvm::MVT::isVector(), and llvm::report_fatal_error().
Referenced by VerifyVectorTypes().
|
static |
Definition at line 1354 of file SystemZISelLowering.cpp.
References i, llvm::MipsISD::Ins, and VerifyVectorType().
Referenced by llvm::SystemZTargetLowering::CanLowerReturn(), llvm::SystemZTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerFormalArguments(), and llvm::SystemZTargetLowering::LowerReturn().
|
static |
Definition at line 1359 of file SystemZISelLowering.cpp.
References i, and VerifyVectorType().
|
static |
Definition at line 4532 of file SystemZISelLowering.cpp.
Referenced by matchDoublePermute(), and matchPermute().