• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/

Lines Matching refs:OpInfo

4315     SDValue &Chain, SDValue &Flag, SDLoc DL, const AsmOperandInfo &OpInfo,
4480 AsmOperandInfo &OpInfo = ConstraintOperands.back();
4483 if (OpInfo.multipleAlternatives.size() > maCount)
4484 maCount = OpInfo.multipleAlternatives.size();
4486 OpInfo.ConstraintVT = MVT::Other;
4489 switch (OpInfo.Type) {
4492 if (OpInfo.isIndirect) {
4493 OpInfo.CallOperandVal = Call.getArgOperand(ArgNo++);
4501 OpInfo.ConstraintVT =
4505 OpInfo.ConstraintVT = getSimpleValueType(DL, Call.getType());
4510 OpInfo.CallOperandVal = Call.getArgOperand(ArgNo++);
4517 if (OpInfo.CallOperandVal) {
4518 llvm::Type *OpTy = OpInfo.CallOperandVal->getType();
4519 if (OpInfo.isIndirect) {
4543 OpInfo.ConstraintVT =
4549 OpInfo.ConstraintVT = MVT::getIntegerVT(PtrSize);
4551 OpInfo.ConstraintVT = MVT::getVT(OpTy, true);
4570 AsmOperandInfo &OpInfo = ConstraintOperands[cIndex];
4571 if (OpInfo.Type == InlineAsm::isClobber)
4578 if (OpInfo.hasMatchingInput()) {
4579 AsmOperandInfo &Input = ConstraintOperands[OpInfo.MatchingInput];
4580 if (OpInfo.ConstraintVT != Input.ConstraintVT) {
4581 if ((OpInfo.ConstraintVT.isInteger() !=
4583 (OpInfo.ConstraintVT.getSizeInBits() !=
4590 weight = getMultipleConstraintMatchWeight(OpInfo, maIndex);
4618 AsmOperandInfo &OpInfo = ConstraintOperands[cIndex];
4624 if (OpInfo.hasMatchingInput()) {
4625 AsmOperandInfo &Input = ConstraintOperands[OpInfo.MatchingInput];
4627 if (OpInfo.ConstraintVT != Input.ConstraintVT) {
4629 getRegForInlineAsmConstraint(TRI, OpInfo.ConstraintCode,
4630 OpInfo.ConstraintVT);
4634 if ((OpInfo.ConstraintVT.isInteger() !=
4758 static void ChooseConstraint(TargetLowering::AsmOperandInfo &OpInfo,
4761 assert(OpInfo.Codes.size() > 1 && "Doesn't have multiple constraint options");
4767 for (unsigned i = 0, e = OpInfo.Codes.size(); i != e; ++i) {
4769 TLI.getConstraintType(OpInfo.Codes[i]);
4772 if (OpInfo.isIndirect && !(CType == TargetLowering::C_Memory ||
4783 assert(OpInfo.Codes[i].size() == 1 &&
4786 TLI.LowerAsmOperandForConstraint(Op, OpInfo.Codes[i],
4797 if (CType == TargetLowering::C_Memory && OpInfo.hasMatchingInput())
4809 OpInfo.ConstraintCode = OpInfo.Codes[BestIdx];
4810 OpInfo.ConstraintType = BestType;
4814 /// AsmOperandInfo, setting OpInfo.ConstraintCode and OpInfo.ConstraintType.
4815 void TargetLowering::ComputeConstraintToUse(AsmOperandInfo &OpInfo,
4818 assert(!OpInfo.Codes.empty() && "Must have at least one constraint");
4821 if (OpInfo.Codes.size() == 1) {
4822 OpInfo.ConstraintCode = OpInfo.Codes[0];
4823 OpInfo.ConstraintType = getConstraintType(OpInfo.ConstraintCode);
4825 ChooseConstraint(OpInfo, *this, Op, DAG);
4829 if (OpInfo.ConstraintCode == "X" && OpInfo.CallOperandVal) {
4833 Value *v = OpInfo.CallOperandVal;
4835 OpInfo.CallOperandVal = v;
4844 if (const char *Repl = LowerXConstraint(OpInfo.ConstraintVT)) {
4845 OpInfo.ConstraintCode = Repl;
4846 OpInfo.ConstraintType = getConstraintType(OpInfo.ConstraintCode);