Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:TLI

105   const TargetLowering &TLI = DAG.getTargetLoweringInfo();
134 if (TLI.isBigEndian())
148 if (TLI.isBigEndian())
154 TLI.getPointerTy()));
165 if (TLI.isBigEndian())
222 const TargetLowering &TLI = DAG.getTargetLoweringInfo();
230 TLI.getVectorTypeBreakdown(*DAG.getContext(), ValueVT, IntermediateVT,
298 TLI.isTypeLegal(ValueVT))
335 const TargetLowering &TLI = DAG.getTargetLoweringInfo();
338 assert(TLI.isTypeLegal(PartVT) && "Copying to an illegal type!");
396 if (TLI.isBigEndian())
431 if (TLI.isBigEndian())
443 const TargetLowering &TLI = DAG.getTargetLoweringInfo();
500 unsigned NumRegs = TLI.getVectorTypeBreakdown(*DAG.getContext(), ValueVT,
562 /// With virtual registers, the contents of RegVTs is redundant with TLI's
580 RegsForValue(LLVMContext &Context, const TargetLowering &tli,
582 ComputeValueVTs(tli, Ty, ValueVTs);
586 unsigned NumRegs = tli.getNumRegisters(Context, ValueVT);
587 EVT RegisterVT = tli.getRegisterType(Context, ValueVT);
596 bool areValueTypesLegal(const TargetLowering &TLI) {
599 if (!TLI.isTypeLegal(RegisterVT))
649 const TargetLowering &TLI = DAG.getTargetLoweringInfo();
657 unsigned NumRegs = TLI.getNumRegisters(*DAG.getContext(), ValueVT);
734 const TargetLowering &TLI = DAG.getTargetLoweringInfo();
741 unsigned NumParts = TLI.getNumRegisters(*DAG.getContext(), ValueVT);
786 const TargetLowering &TLI = DAG.getTargetLoweringInfo();
807 unsigned NumRegs = TLI.getNumRegisters(*DAG.getContext(), ValueVTs[Value]);
985 RegsForValue RFV(*DAG.getContext(), TLI, InReg, V->getType());
1017 EVT VT = TLI.getValueType(V->getType(), true);
1026 return DAG.getConstant(0, TLI.getPointerTy());
1063 ComputeValueVTs(TLI, C->getType(), ValueVTs);
1096 EVT EltVT = TLI.getValueType(VecTy->getElementType());
1117 return DAG.getFrameIndex(SI->second, TLI.getPointerTy());
1123 RegsForValue RFV(*DAG.getContext(), TLI, InReg, Inst->getType());
1145 ComputeValueVTs(TLI, PointerType::getUnqual(F->getReturnType()),
1153 ComputeValueVTs(TLI, I.getOperand(0)->getType(), ValueVTs, &Offsets);
1172 ComputeValueVTs(TLI, I.getOperand(0)->getType(), ValueVTs);
1188 VT = TLI.getTypeForExtArgOrReturn(*DAG.getContext(), VT, ExtendKind);
1190 unsigned NumParts = TLI.getNumRegisters(*DAG.getContext(), VT);
1191 EVT PartVT = TLI.getRegisterType(*DAG.getContext(), VT);
1220 Chain = TLI.LowerReturn(Chain, CallConv, isVarArg,
1492 if (!TLI.isJumpExpensive() &&
1611 EVT PTy = TLI.getPointerTy();
1639 SwitchOp = DAG.getZExtOrTrunc(Sub, getCurDebugLoc(), TLI.getPointerTy());
1641 unsigned JumpTableReg = FuncInfo.CreateReg(TLI.getPointerTy());
1650 TLI.getSetCCResultType(Sub.getValueType()), Sub,
1685 TLI.getSetCCResultType(Sub.getValueType()),
1691 if (!TLI.isTypeLegal(VT))
1703 VT = TLI.getPointerTy();
1750 TLI.getSetCCResultType(VT),
1757 TLI.getSetCCResultType(VT),
1770 TLI.getSetCCResultType(VT),
1839 ComputeValueVTs(TLI, LP.getType(), ValueVTs);
1844 SDVTList VTs = DAG.getVTList(TLI.getPointerTy(), MVT::Other);
1851 VTs = DAG.getVTList(TLI.getPointerTy(), MVT::Other);
2005 static inline bool areJTsAllowed(const TargetLowering &TLI) {
2007 (TLI.isOperationLegalOrCustom(ISD::BR_JT, MVT::Other) ||
2008 TLI.isOperationLegalOrCustom(ISD::BRIND, MVT::Other));
2033 if (!areJTsAllowed(TLI) || TSize.ult(4))
2096 unsigned JTEncoding = TLI.getJumpTableEncoding();
2181 if (areJTsAllowed(TLI)) {
2251 EVT PTy = TLI.getPointerTy();
2262 if (!TLI.isOperationLegal(ISD::SHL, TLI.getPointerTy()))
2559 MVT ShiftTy = TLI.getShiftAmountTy(Op2.getValueType());
2597 setValue(&I, TLI.BuildExactSDIV(Op1, Op2, getCurDebugLoc(), DAG));
2613 EVT DestVT = TLI.getValueType(I.getType());
2626 EVT DestVT = TLI.getValueType(I.getType());
2632 ComputeValueVTs(TLI, I.getType(), ValueVTs);
2660 EVT DestVT = TLI.getValueType(I.getType());
2668 EVT DestVT = TLI.getValueType(I.getType());
2676 EVT DestVT = TLI.getValueType(I.getType());
2683 EVT DestVT = TLI.getValueType(I.getType());
2691 EVT DestVT = TLI.getValueType(I.getType());
2698 EVT DestVT = TLI.getValueType(I.getType());
2705 EVT DestVT = TLI.getValueType(I.getType());
2712 EVT DestVT = TLI.getValueType(I.getType());
2719 EVT DestVT = TLI.getValueType(I.getType());
2727 EVT DestVT = TLI.getValueType(I.getType());
2735 EVT DestVT = TLI.getValueType(I.getType());
2741 EVT DestVT = TLI.getValueType(I.getType());
2756 TLI.getPointerTy(),
2759 TLI.getValueType(I.getType()),
2766 TLI.getPointerTy(),
2769 TLI.getValueType(I.getType()), InVec, InIdx));
2799 EVT VT = TLI.getValueType(I.getType());
2939 EVT PtrVT = TLI.getPointerTy();
2975 ComputeValueVTs(TLI, AggTy, AggValueVTs);
2977 ComputeValueVTs(TLI, ValTy, ValValueVTs);
3015 ComputeValueVTs(TLI, ValTy, ValValueVTs);
3066 EVT PTy = TLI.getPointerTy();
3070 TLI.getPointerTy(),
3081 APInt ElementSize = APInt(TLI.getPointerTy().getSizeInBits(),
3096 DAG.getConstant(Amt, TLI.getPointerTy()));
3098 SDValue Scale = DAG.getConstant(ElementSize, TLI.getPointerTy());
3119 uint64_t TySize = TLI.getTargetData()->getTypeAllocSize(Ty);
3121 std::max((unsigned)TLI.getTargetData()->getPrefTypeAlignment(Ty),
3126 EVT IntPtr = TLI.getPointerTy();
3180 ComputeValueVTs(TLI, Ty, ValueVTs, &Offsets);
3253 ComputeValueVTs(TLI, SrcV->getType(), ValueVTs, &Offsets);
3302 const TargetLowering &TLI) {
3317 Ops[1] = DAG.getConstant(Order, TLI.getPointerTy());
3318 Ops[2] = DAG.getConstant(Scope, TLI.getPointerTy());
3329 if (TLI.getInsertFencesForAtomic())
3331 DAG, TLI);
3341 TLI.getInsertFencesForAtomic() ? Monotonic : Order,
3346 if (TLI.getInsertFencesForAtomic())
3348 DAG, TLI);
3376 if (TLI.getInsertFencesForAtomic())
3378 DAG, TLI);
3387 TLI.getInsertFencesForAtomic() ? Monotonic : Order,
3392 if (TLI.getInsertFencesForAtomic())
3394 DAG, TLI);
3404 Ops[1] = DAG.getConstant(I.getOrdering(), TLI.getPointerTy());
3405 Ops[2] = DAG.getConstant(I.getSynchScope(), TLI.getPointerTy());
3425 TLI.getInsertFencesForAtomic() ? Monotonic : Order,
3430 if (TLI.getInsertFencesForAtomic())
3432 DAG, TLI);
3451 if (TLI.getInsertFencesForAtomic())
3453 DAG, TLI);
3461 TLI.getInsertFencesForAtomic() ? Monotonic : Order,
3464 if (TLI.getInsertFencesForAtomic())
3466 DAG, TLI);
3491 bool IsTgtIntrinsic = TLI.getTgtMemIntrinsic(Info, I, Intrinsic);
3496 Ops.push_back(DAG.getConstant(Intrinsic, TLI.getPointerTy()));
3501 assert(TLI.isTypeLegal(Op.getValueType()) &&
3507 ComputeValueVTs(TLI, I.getType(), ValueVTs);
3510 assert(TLI.isTypeLegal(ValueVTs[Val]) &&
3551 EVT VT = TLI.getValueType(PTy);
3580 GetExponent(SelectionDAG &DAG, SDValue Op, const TargetLowering &TLI,
3585 DAG.getConstant(23, TLI.getPointerTy()));
3634 DAG.getConstant(23, TLI.getPointerTy()));
3747 SDValue Exp = GetExponent(DAG, Op1, TLI, dl);
3857 SDValue LogOfExponent = GetExponent(DAG, Op1, TLI, dl);
3966 SDValue Exp = GetExponent(DAG, Op1, TLI, dl);
4074 DAG.getConstant(23, TLI.getPointerTy()));
4207 DAG.getConstant(23, TLI.getPointerTy()));
4465 setValue(&I, DAG.getNode(ISD::RETURNADDR, dl, TLI.getPointerTy(),
4469 setValue(&I, DAG.getNode(ISD::FRAMEADDR, dl, TLI.getPointerTy(),
4473 return "_setjmp"+!TLI.usesUnderscoreSetJmp();
4475 return "_longjmp"+!TLI.usesUnderscoreLongJmp();
4671 SDVTList VTs = DAG.getVTList(TLI.getPointerTy(), MVT::Other);
4690 unsigned Reg = TLI.getExceptionSelectorRegister();
4695 SDVTList VTs = DAG.getVTList(TLI.getPointerTy(), MVT::Other);
4728 TLI.getPointerTy());
4730 TLI.getPointerTy(),
4732 TLI.getPointerTy()),
4735 TLI.getPointerTy(),
4736 DAG.getConstant(0, TLI.getPointerTy()));
4737 setValue(&I, DAG.getNode(ISD::ADD, dl, TLI.getPointerTy(),
4833 EVT DestVT = TLI.getValueType(I.getType());
4862 EVT DestVT = TLI.getValueType(I.getType());
4965 DAG.getVTList(TLI.getPointerTy(), MVT::Other), &Op, 1);
4979 EVT PtrTy = TLI.getPointerTy();
5036 TLI.getPointerTy(),
5071 TLI.LowerCallTo(getRoot(), I.getType(),
5074 DAG.getExternalSymbol(TrapFuncName.data(), TLI.getPointerTy()),
5115 setValue(&I, DAG.getUNDEF(TLI.getPointerTy()));
5141 Outs, TLI, &Offsets);
5143 bool CanLowerReturn = TLI.CanLowerReturn(CS.getCallingConv(),
5152 uint64_t TySize = TLI.getTargetData()->getTypeAllocSize(
5154 unsigned Align = TLI.getTargetData()->getPrefTypeAlignment(
5160 DemoteStackSlot = DAG.getFrameIndex(DemoteStackIdx, TLI.getPointerTy());
5219 // Target-dependent constraints are checked within TLI.LowerCallTo.
5221 !isInTailCallPosition(CS, CS.getAttributes().getRetAttributes(), TLI))
5230 TLI.LowerCallTo(getRoot(), RetTy,
5250 ComputeValueVTs(TLI, PtrRetTy, PVTs);
5277 ComputeValueVTs(TLI, RetTy, RetTys);
5283 EVT RegisterVT = TLI.getRegisterType(RetTy->getContext(), VT);
5284 unsigned NumRegs = TLI.getNumRegisters(RetTy->getContext(), VT);
5442 if (!TLI.isTypeLegal(LoadVT) ||!TLI.allowsUnalignedMemoryAccesses(LoadVT))
5452 EVT CallVT = TLI.getValueType(I.getType(), true);
5570 Callee = DAG.getExternalSymbol(RenameFn, TLI.getPointerTy());
5616 const TargetLowering &TLI,
5621 return TLI.getPointerTy();
5657 return TLI.getValueType(OpTy, true);
5687 const TargetLowering &TLI,
5723 TLI.getRegForInlineAsmConstraint(OpInfo.ConstraintCode,
5754 NumRegs = TLI.getNumRegisters(Context, OpInfo.ConstraintVT);
5825 TargetConstraints = TLI.ParseConstraints(CS);
5850 OpVT = TLI.getValueType(STy->getElementType(ResNo));
5853 OpVT = TLI.getValueType(CS.getType());
5874 OpVT = OpInfo.getCallOperandValEVT(*DAG.getContext(), TLI, TD);
5885 CType = TLI.getConstraintType(OpInfo.Codes[j]);
5917 TLI.getRegForInlineAsmConstraint(OpInfo.ConstraintCode,
5920 TLI.getRegForInlineAsmConstraint(Input.ConstraintCode,
5934 TLI.ComputeConstraintToUse(OpInfo, OpInfo.CallOperand, &DAG);
5958 TLI.getPointerTy());
5963 uint64_t TySize = TLI.getTargetData()->getTypeAllocSize(Ty);
5964 unsigned Align = TLI.getTargetData()->getPrefTypeAlignment(Ty);
5967 SDValue StackSlot = DAG.getFrameIndex(SSFI, TLI.getPointerTy());
5985 GetRegistersForValue(DAG, TLI, getCurDebugLoc(), OpInfo, OutputRegs,
5997 GetRegistersForValue(DAG, TLI, getCurDebugLoc(), OpInfo, OutputRegs,
6006 TLI.getPointerTy()));
6021 TLI.getPointerTy()));
6043 TLI.getPointerTy()));
6121 (RegInfo.createVirtualRegister(TLI.getRegClassFor(RegVT)));
6140 TLI.getPointerTy()));
6152 TLI.LowerAsmOperandForConstraint(InOperandVal, OpInfo.ConstraintCode,
6162 TLI.getPointerTy()));
6169 assert(InOperandVal.getValueType() == TLI.getPointerTy() &&
6175 TLI.getPointerTy()));
6227 EVT ResultType = TLI.getValueType(CS.getType());
6293 const TargetData &TD = *TLI.getTargetData();
6294 SDValue V = DAG.getVAArg(TLI.getValueType(I.getType()), getCurDebugLoc(),
6504 RegsForValue RFV(V->getContext(), TLI, Reg, V->getType());
6536 const TargetData *TD = TLI.getTargetData();
6542 Outs, TLI);
6547 ComputeValueVTs(TLI, PointerType::getUnqual(F.getReturnType()), ValueVTs);
6553 EVT RegisterVT = TLI.getRegisterType(*DAG.getContext(), ValueVTs[0]);
6563 ComputeValueVTs(TLI, I->getType(), ValueVTs);
6592 FrameAlign = TLI.getByValTypeAlignment(ElementTy);
6599 EVT RegisterVT = TLI.getRegisterType(*CurDAG->getContext(), VT);
6600 unsigned NumRegs = TLI.getNumRegisters(*CurDAG->getContext(), VT);
6615 SDValue NewRoot = TLI.LowerFormalArguments(DAG.getRoot(), F.getCallingConv(),
6643 ComputeValueVTs(TLI, PointerType::getUnqual(F.getReturnType()), ValueVTs);
6645 EVT RegVT = TLI.getRegisterType(*CurDAG->getContext(), VT);
6652 unsigned SRetReg = RegInfo.createVirtualRegister(TLI.getRegClassFor(RegVT));
6667 ComputeValueVTs(TLI, I->getType(), ValueVTs);
6677 EVT PartVT = TLI.getRegisterType(*CurDAG->getContext(), VT);
6678 unsigned NumParts = TLI.getNumRegisters(*CurDAG->getContext(), VT);
6807 ComputeValueVTs(TLI, PN->getType(), ValueVTs);
6810 unsigned NumRegisters = TLI.getNumRegisters(*DAG.getContext(), VT);