Lines Matching refs:VSETVLIInfo

380   // in the opcode.  This is asserted when constructing the VSETVLIInfo.
435 class VSETVLIInfo {
456 VSETVLIInfo()
460 static VSETVLIInfo getUnknown() {
461 VSETVLIInfo Info;
491 void setAVL(VSETVLIInfo Info) {
522 bool hasEquallyZeroAVL(const VSETVLIInfo &Other,
529 bool hasSameAVL(const VSETVLIInfo &Other) const {
566 bool hasSameVTYPE(const VSETVLIInfo &Other) const {
588 bool hasSameVLMAX(const VSETVLIInfo &Other) const {
597 const VSETVLIInfo &Require) const {
604 bool isCompatible(const DemandedFields &Used, const VSETVLIInfo &Require,
627 bool operator==(const VSETVLIInfo &Other) const {
655 bool operator!=(const VSETVLIInfo &Other) const {
659 // Calculate the VSETVLIInfo visible to a block assuming this and Other are
661 VSETVLIInfo intersect(const VSETVLIInfo &Other) const {
672 return VSETVLIInfo::getUnknown();
681 VSETVLIInfo MergeInfo = *this;
687 return VSETVLIInfo::getUnknown();
721 inline raw_ostream &operator<<(raw_ostream &OS, const VSETVLIInfo &V) {
728 // The VSETVLIInfo that represents the VL/VTYPE settings on exit from this
730 VSETVLIInfo Exit;
732 // The VSETVLIInfo that represents the VL/VTYPE settings from all predecessor
734 VSETVLIInfo Pred;
764 bool needVSETVLI(const MachineInstr &MI, const VSETVLIInfo &Require,
765 const VSETVLIInfo &CurInfo) const;
766 bool needVSETVLIPHI(const VSETVLIInfo &Require,
769 const VSETVLIInfo &Info, const VSETVLIInfo &PrevInfo);
772 const VSETVLIInfo &Info, const VSETVLIInfo &PrevInfo);
774 void transferBefore(VSETVLIInfo &Info, const MachineInstr &MI) const;
775 void transferAfter(VSETVLIInfo &Info, const MachineInstr &MI) const;
777 VSETVLIInfo &Info) const;
792 // Return a VSETVLIInfo representing the changes made by this VSETVLI or
794 static VSETVLIInfo getInfoForVSETVLI(const MachineInstr &MI) {
795 VSETVLIInfo NewInfo;
821 static VSETVLIInfo computeInfoForInstr(const MachineInstr &MI, uint64_t TSFlags,
824 VSETVLIInfo InstrInfo;
896 VSETVLIInfo DefInstrInfo = getInfoForVSETVLI(*DefMI);
908 const VSETVLIInfo &Info,
909 const VSETVLIInfo &PrevInfo) {
916 const VSETVLIInfo &Info, const VSETVLIInfo &PrevInfo) {
938 VSETVLIInfo DefInfo = getInfoForVSETVLI(*DefMI);
1007 const VSETVLIInfo &Require,
1008 const VSETVLIInfo &CurInfo) const {
1060 VSETVLIInfo DefInfo = getInfoForVSETVLI(*DefMI);
1073 static VSETVLIInfo adjustIncoming(VSETVLIInfo PrevInfo, VSETVLIInfo NewInfo,
1075 VSETVLIInfo Info = NewInfo;
1091 void RISCVInsertVSETVLI::transferBefore(VSETVLIInfo &Info,
1097 const VSETVLIInfo NewInfo = computeInfoForInstr(MI, TSFlags, *ST, MRI);
1102 const VSETVLIInfo PrevInfo = Info;
1107 const VSETVLIInfo IncomingInfo = adjustIncoming(PrevInfo, NewInfo, Demanded);
1135 VSETVLIInfo RatiolessInfo = IncomingInfo;
1144 void RISCVInsertVSETVLI::transferAfter(VSETVLIInfo &Info,
1161 Info = VSETVLIInfo::getUnknown();
1165 VSETVLIInfo &Info) const {
1189 VSETVLIInfo InInfo = BBInfo.Pred;
1214 VSETVLIInfo TmpStatus;
1238 bool RISCVInsertVSETVLI::needVSETVLIPHI(const VSETVLIInfo &Require,
1272 VSETVLIInfo DefInfo = getInfoForVSETVLI(*DefMI);
1284 VSETVLIInfo CurInfo = BlockInfo[MBB.getNumber()].Pred;
1289 const VSETVLIInfo PrevInfo = CurInfo;
1353 const VSETVLIInfo &ExitInfo = BlockInfo[MBB.getNumber()].Exit;
1388 VSETVLIInfo AvailableInfo;
1390 const VSETVLIInfo &PredInfo = BlockInfo[P->getNumber()].Exit;
1440 VSETVLIInfo OldInfo = BlockInfo[MBB.getNumber()].Pred;
1441 VSETVLIInfo CurInfo = AvailableInfo;
1444 const VSETVLIInfo LastInfo = CurInfo;
1445 const VSETVLIInfo LastOldInfo = OldInfo;
1623 VSETVLIInfo TmpStatus;