Lines Matching refs:Flags
35 addFlagsUsingAttrFn(ISD::ArgFlagsTy &Flags, in addFlagsUsingAttrFn() argument
38 Flags.setSExt(); in addFlagsUsingAttrFn()
40 Flags.setZExt(); in addFlagsUsingAttrFn()
42 Flags.setInReg(); in addFlagsUsingAttrFn()
44 Flags.setSRet(); in addFlagsUsingAttrFn()
46 Flags.setNest(); in addFlagsUsingAttrFn()
48 Flags.setByVal(); in addFlagsUsingAttrFn()
50 Flags.setPreallocated(); in addFlagsUsingAttrFn()
52 Flags.setInAlloca(); in addFlagsUsingAttrFn()
54 Flags.setReturned(); in addFlagsUsingAttrFn()
56 Flags.setSwiftSelf(); in addFlagsUsingAttrFn()
58 Flags.setSwiftAsync(); in addFlagsUsingAttrFn()
60 Flags.setSwiftError(); in addFlagsUsingAttrFn()
65 ISD::ArgFlagsTy Flags; in getAttributesForArgIdx() local
66 addFlagsUsingAttrFn(Flags, [&Call, &ArgIdx](Attribute::AttrKind Attr) { in getAttributesForArgIdx()
69 return Flags; in getAttributesForArgIdx()
72 void CallLowering::addArgFlagsFromAttributes(ISD::ArgFlagsTy &Flags, in addArgFlagsFromAttributes() argument
75 addFlagsUsingAttrFn(Flags, [&Attrs, &OpIdx](Attribute::AttrKind Attr) { in addArgFlagsFromAttributes()
123 if (OrigArg.Flags[0].isSRet() && isa<Instruction>(&Arg)) in lowerCall()
155 auto &Flags = Arg.Flags[0]; in setArgFlags() local
157 addArgFlagsFromAttributes(Flags, Attrs, OpIdx); in setArgFlags()
161 Flags.setPointer(); in setArgFlags()
162 Flags.setPointerAddrSpace(PtrTy->getPointerAddressSpace()); in setArgFlags()
166 if (Flags.isByVal() || Flags.isInAlloca() || Flags.isPreallocated()) { in setArgFlags()
171 Flags.setByValSize(DL.getTypeAllocSize(Ty ? Ty : ElementTy)); in setArgFlags()
188 Flags.setMemAlign(MemAlign); in setArgFlags()
189 Flags.setOrigAlign(DL.getABITypeAlign(Arg.Ty)); in setArgFlags()
193 if (Flags.isSwiftSelf()) in setArgFlags()
194 Flags.setReturned(false); in setArgFlags()
224 OrigArg.OrigArgIndex, OrigArg.Flags[0], in splitToValueTypes()
237 OrigArg.Flags[0], OrigArg.IsFixed); in splitToValueTypes()
239 SplitArgs.back().Flags[0].setInConsecutiveRegs(); in splitToValueTypes()
242 SplitArgs.back().Flags[0].setInConsecutiveRegsLast(); in splitToValueTypes()
305 const ISD::ArgFlagsTy Flags) { in buildCopyFromRegs() argument
332 if (Flags.isSExt()) { in buildCopyFromRegs()
335 } else if (Flags.isZExt()) { in buildCopyFromRegs()
534 static unsigned extendOpFromFlags(llvm::ISD::ArgFlagsTy Flags) { in extendOpFromFlags() argument
535 if (Flags.isSExt()) in extendOpFromFlags()
537 if (Flags.isZExt()) in extendOpFromFlags()
562 Args[i].Flags[0], CCInfo)) in determineAssignments()
578 ISD::ArgFlagsTy OrigFlags = Args[i].Flags[0]; in determineAssignments()
579 Args[i].Flags.clear(); in determineAssignments()
582 ISD::ArgFlagsTy Flags = OrigFlags; in determineAssignments() local
584 Flags.setSplit(); in determineAssignments()
586 Flags.setOrigAlign(Align(1)); in determineAssignments()
588 Flags.setSplitEnd(); in determineAssignments()
591 Args[i].Flags.push_back(Flags); in determineAssignments()
593 Args[i].Flags[Part], CCInfo)) { in determineAssignments()
642 const unsigned NumParts = Args[i].Flags.size(); in handleAssignments()
666 ValTy, extendOpFromFlags(Args[i].Flags[0])); in handleAssignments()
673 const ISD::ArgFlagsTy Flags = Args[i].Flags[Part]; in handleAssignments() local
675 if (VA.isMemLoc() && !Flags.isByVal()) { in handleAssignments()
681 LLT MemTy = Handler.getStackValueStoreType(DL, VA, Flags); in handleAssignments()
685 MemTy.getSizeInBytes(), VA.getLocMemOffset(), MPO, Flags); in handleAssignments()
691 if (VA.isMemLoc() && Flags.isByVal()) { in handleAssignments()
699 Flags.getByValSize(), VA.getLocMemOffset(), MPO, Flags); in handleAssignments()
705 uint64_t MemSize = Flags.getByValSize(); in handleAssignments()
710 Handler.getStackAddress(MemSize, Offset, DstMPO, Flags); in handleAssignments()
720 Align DstAlign = std::max(Flags.getNonZeroByValAlign(), in handleAssignments()
723 Align SrcAlign = std::max(Flags.getNonZeroByValAlign(), in handleAssignments()
751 LocTy, Args[i].Flags[0]); in handleAssignments()
839 DemoteArg.Flags[0].setSRet(); in insertSRetIncomingArgument()
858 DemoteArg.Flags[0].setSRet(); in insertSRetOutgoingArgument()
870 if (Fn(I, VT, VT, CCValAssign::Full, Outs[I].Flags[0], CCInfo)) in checkReturn()
881 ISD::ArgFlagsTy Flags = ISD::ArgFlagsTy(); in getReturnInfo() local
885 addArgFlagsFromAttributes(Flags, Attrs, AttributeList::ReturnIndex); in getReturnInfo()
894 Outs.emplace_back(PartTy, Flags); in getReturnInfo()
1017 const DataLayout &DL, const CCValAssign &VA, ISD::ArgFlagsTy Flags) const { in getStackValueStoreType()
1024 if (Flags.isPointer()) { in getStackValueStoreType()
1025 LLT PtrTy = LLT::pointer(Flags.getPointerAddrSpace(), in getStackValueStoreType()
1035 unsigned AddrSpace = Flags.getPointerAddrSpace(); in getStackValueStoreType()