Lines Matching defs:VSETVLIInfo

420   // in the opcode.  This is asserted when constructing the VSETVLIInfo.
512 class VSETVLIInfo {
540 VSETVLIInfo()
544 static VSETVLIInfo getUnknown() {
545 VSETVLIInfo Info;
596 void setAVL(VSETVLIInfo Info) {
627 bool hasEquallyZeroAVL(const VSETVLIInfo &Other,
634 bool hasSameAVLLatticeValue(const VSETVLIInfo &Other) const {
655 bool hasSameAVL(const VSETVLIInfo &Other) const {
695 bool hasSameVTYPE(const VSETVLIInfo &Other) const {
717 bool hasSameVLMAX(const VSETVLIInfo &Other) const {
726 const VSETVLIInfo &Require) const {
733 bool isCompatible(const DemandedFields &Used, const VSETVLIInfo &Require,
754 bool operator==(const VSETVLIInfo &Other) const {
782 bool operator!=(const VSETVLIInfo &Other) const {
786 // Calculate the VSETVLIInfo visible to a block assuming this and Other are
788 VSETVLIInfo intersect(const VSETVLIInfo &Other) const {
799 return VSETVLIInfo::getUnknown();
808 VSETVLIInfo MergeInfo = *this;
814 return VSETVLIInfo::getUnknown();
850 inline raw_ostream &operator<<(raw_ostream &OS, const VSETVLIInfo &V) {
857 // The VSETVLIInfo that represents the VL/VTYPE settings on exit from this
859 VSETVLIInfo Exit;
861 // The VSETVLIInfo that represents the VL/VTYPE settings from all predecessor
863 VSETVLIInfo Pred;
902 bool needVSETVLI(const DemandedFields &Used, const VSETVLIInfo &Require,
903 const VSETVLIInfo &CurInfo) const;
904 bool needVSETVLIPHI(const VSETVLIInfo &Require,
908 const VSETVLIInfo &Info, const VSETVLIInfo &PrevInfo);
910 void transferBefore(VSETVLIInfo &Info, const MachineInstr &MI) const;
911 void transferAfter(VSETVLIInfo &Info, const MachineInstr &MI) const;
913 VSETVLIInfo &Info) const;
923 VSETVLIInfo getInfoForVSETVLI(const MachineInstr &MI) const;
924 VSETVLIInfo computeInfoForInstr(const MachineInstr &MI) const;
925 void forwardVSETVLIAVL(VSETVLIInfo &Info) const;
944 void RISCVInsertVSETVLI::forwardVSETVLIAVL(VSETVLIInfo &Info) const {
950 VSETVLIInfo DefInstrInfo = getInfoForVSETVLI(*DefMI);
956 // Return a VSETVLIInfo representing the changes made by this VSETVLI or
958 VSETVLIInfo
960 VSETVLIInfo NewInfo;
996 VSETVLIInfo
998 VSETVLIInfo InstrInfo;
1077 const VSETVLIInfo &Info, const VSETVLIInfo &PrevInfo) {
1100 VSETVLIInfo DefInfo = getInfoForVSETVLI(*DefMI);
1178 const VSETVLIInfo &Require,
1179 const VSETVLIInfo &CurInfo) const {
1192 static VSETVLIInfo adjustIncoming(VSETVLIInfo PrevInfo, VSETVLIInfo NewInfo,
1194 VSETVLIInfo Info = NewInfo;
1210 void RISCVInsertVSETVLI::transferBefore(VSETVLIInfo &Info,
1217 const VSETVLIInfo NewInfo = computeInfoForInstr(MI);
1222 const VSETVLIInfo PrevInfo = Info;
1226 const VSETVLIInfo IncomingInfo = adjustIncoming(PrevInfo, NewInfo, Demanded);
1254 VSETVLIInfo RatiolessInfo = IncomingInfo;
1263 void RISCVInsertVSETVLI::transferAfter(VSETVLIInfo &Info,
1289 Info = VSETVLIInfo::getUnknown();
1293 VSETVLIInfo &Info) const {
1317 VSETVLIInfo InInfo = BBInfo.Pred;
1342 VSETVLIInfo TmpStatus;
1366 bool RISCVInsertVSETVLI::needVSETVLIPHI(const VSETVLIInfo &Require,
1382 const VSETVLIInfo &PBBExit = BlockInfo[PBB->getNumber()].Exit;
1394 VSETVLIInfo DefInfo = getInfoForVSETVLI(*DefMI);
1411 VSETVLIInfo CurInfo = BlockInfo[MBB.getNumber()].Pred;
1416 const VSETVLIInfo PrevInfo = CurInfo;
1509 VSETVLIInfo AvailableInfo;
1511 const VSETVLIInfo &PredInfo = BlockInfo[P->getNumber()].Exit;
1562 VSETVLIInfo OldInfo = BlockInfo[MBB.getNumber()].Pred;
1563 VSETVLIInfo CurInfo = AvailableInfo;
1566 const VSETVLIInfo LastInfo = CurInfo;
1567 const VSETVLIInfo LastOldInfo = OldInfo;
1789 VSETVLIInfo TmpStatus;