Lines Matching defs:OpInfo

2424     AsmOperandInfo &OpInfo = ConstraintOperands.back();
2427 if (OpInfo.multipleAlternatives.size() > maCount)
2428 maCount = OpInfo.multipleAlternatives.size();
2430 OpInfo.ConstraintVT = MVT::Other;
2433 switch (OpInfo.Type) {
2436 if (OpInfo.isIndirect) {
2437 OpInfo.CallOperandVal = const_cast<Value *>(CS.getArgument(ArgNo++));
2446 OpInfo.ConstraintVT =
2450 OpInfo.ConstraintVT = getSimpleValueType(DL, CS.getType());
2455 OpInfo.CallOperandVal = const_cast<Value *>(CS.getArgument(ArgNo++));
2462 if (OpInfo.CallOperandVal) {
2463 llvm::Type *OpTy = OpInfo.CallOperandVal->getType();
2464 if (OpInfo.isIndirect) {
2488 OpInfo.ConstraintVT =
2494 OpInfo.ConstraintVT = MVT::getIntegerVT(PtrSize);
2496 OpInfo.ConstraintVT = MVT::getVT(OpTy, true);
2515 AsmOperandInfo& OpInfo = ConstraintOperands[cIndex];
2516 if (OpInfo.Type == InlineAsm::isClobber)
2523 if (OpInfo.hasMatchingInput()) {
2524 AsmOperandInfo &Input = ConstraintOperands[OpInfo.MatchingInput];
2525 if (OpInfo.ConstraintVT != Input.ConstraintVT) {
2526 if ((OpInfo.ConstraintVT.isInteger() !=
2528 (OpInfo.ConstraintVT.getSizeInBits() !=
2535 weight = getMultipleConstraintMatchWeight(OpInfo, maIndex);
2563 AsmOperandInfo& OpInfo = ConstraintOperands[cIndex];
2569 if (OpInfo.hasMatchingInput()) {
2570 AsmOperandInfo &Input = ConstraintOperands[OpInfo.MatchingInput];
2572 if (OpInfo.ConstraintVT != Input.ConstraintVT) {
2574 getRegForInlineAsmConstraint(TRI, OpInfo.ConstraintCode,
2575 OpInfo.ConstraintVT);
2579 if ((OpInfo.ConstraintVT.isInteger() !=
2702 static void ChooseConstraint(TargetLowering::AsmOperandInfo &OpInfo,
2705 assert(OpInfo.Codes.size() > 1 && "Doesn't have multiple constraint options");
2711 for (unsigned i = 0, e = OpInfo.Codes.size(); i != e; ++i) {
2713 TLI.getConstraintType(OpInfo.Codes[i]);
2720 assert(OpInfo.Codes[i].size() == 1 &&
2723 TLI.LowerAsmOperandForConstraint(Op, OpInfo.Codes[i],
2734 if (CType == TargetLowering::C_Memory && OpInfo.hasMatchingInput())
2746 OpInfo.ConstraintCode = OpInfo.Codes[BestIdx];
2747 OpInfo.ConstraintType = BestType;
2751 /// AsmOperandInfo, setting OpInfo.ConstraintCode and OpInfo.ConstraintType.
2752 void TargetLowering::ComputeConstraintToUse(AsmOperandInfo &OpInfo,
2755 assert(!OpInfo.Codes.empty() && "Must have at least one constraint");
2758 if (OpInfo.Codes.size() == 1) {
2759 OpInfo.ConstraintCode = OpInfo.Codes[0];
2760 OpInfo.ConstraintType = getConstraintType(OpInfo.ConstraintCode);
2762 ChooseConstraint(OpInfo, *this, Op, DAG);
2766 if (OpInfo.ConstraintCode == "X" && OpInfo.CallOperandVal) {
2770 Value *v = OpInfo.CallOperandVal;
2772 OpInfo.CallOperandVal = v;
2778 if (const char *Repl = LowerXConstraint(OpInfo.ConstraintVT)) {
2779 OpInfo.ConstraintCode = Repl;
2780 OpInfo.ConstraintType = getConstraintType(OpInfo.ConstraintCode);