Lines Matching refs:noexcept

251    bool canReplace(float_mode other) const noexcept
408 Temp() noexcept : id_(0), reg_class(0) {}
409 constexpr Temp(uint32_t id, RegClass cls) noexcept : id_(id), reg_class(uint8_t(cls)) {}
411 constexpr uint32_t id() const noexcept { return id_; }
412 constexpr RegClass regClass() const noexcept { return (RegClass::RC)reg_class; }
414 constexpr unsigned bytes() const noexcept { return regClass().bytes(); }
415 constexpr unsigned size() const noexcept { return regClass().size(); }
416 constexpr RegType type() const noexcept { return regClass().type(); }
417 constexpr bool is_linear() const noexcept { return regClass().is_linear(); }
419 constexpr bool operator<(Temp other) const noexcept { return id() < other.id(); }
420 constexpr bool operator==(Temp other) const noexcept { return id() == other.id(); }
421 constexpr bool operator!=(Temp other) const noexcept { return id() != other.id(); }
496 explicit Operand(Temp r) noexcept
506 explicit Operand(Temp r, PhysReg reg) noexcept
515 static Operand c8(uint8_t v) noexcept
530 static Operand c16(uint16_t v) noexcept
565 static Operand c32(uint32_t v) noexcept { return c32_or_c64(v, false); }
568 static Operand c64(uint64_t v) noexcept
615 static Operand c32_or_c64(uint32_t v, bool is64bit) noexcept
649 static Operand literal32(uint32_t v) noexcept
660 explicit Operand(RegClass type) noexcept
666 explicit Operand(PhysReg reg, RegClass type) noexcept
672 static Operand zero(unsigned bytes = 4) noexcept
729 constexpr bool isTemp() const noexcept { return isTemp_; }
731 constexpr void setTemp(Temp t) noexcept
738 constexpr Temp getTemp() const noexcept { return data_.temp; }
740 constexpr uint32_t tempId() const noexcept { return data_.temp.id(); }
742 constexpr bool hasRegClass() const noexcept { return isTemp() || isUndefined(); }
744 constexpr RegClass regClass() const noexcept { return data_.temp.regClass(); }
746 constexpr unsigned bytes() const noexcept
754 constexpr unsigned size() const noexcept
762 constexpr bool isFixed() const noexcept { return isFixed_; }
764 constexpr PhysReg physReg() const noexcept { return reg_; }
766 constexpr void setFixed(PhysReg reg) noexcept
772 constexpr bool isConstant() const noexcept { return isConstant_; }
774 constexpr bool isLiteral() const noexcept { return isConstant() && reg_ == 255; }
776 constexpr bool isUndefined() const noexcept { return isUndef_; }
778 constexpr uint32_t constantValue() const noexcept { return data_.i; }
780 constexpr bool constantEquals(uint32_t cmp) const noexcept
785 constexpr uint64_t constantValue64() const noexcept
812 constexpr uint16_t constantValue16(bool opsel) const noexcept
824 constexpr bool isOfType(RegType type) const noexcept
832 constexpr void setLateKill(bool flag) noexcept { isLateKill_ = flag; }
834 constexpr bool isLateKill() const noexcept { return isLateKill_; }
836 constexpr void setKill(bool flag) noexcept
843 constexpr bool isKill() const noexcept { return isKill_ || isFirstKill(); }
845 constexpr void setFirstKill(bool flag) noexcept
854 constexpr bool isFirstKill() const noexcept { return isFirstKill_; }
856 constexpr bool isKillBeforeDef() const noexcept { return isKill() && !isLateKill(); }
858 constexpr bool isFirstKillBeforeDef() const noexcept { return isFirstKill() && !isLateKill(); }
860 constexpr bool operator==(Operand other) const noexcept
878 constexpr bool operator!=(Operand other) const noexcept { return !operator==(other); }
880 constexpr void set16bit(bool flag) noexcept { is16bit_ = flag; }
882 constexpr bool is16bit() const noexcept { return is16bit_; }
884 constexpr void set24bit(bool flag) noexcept { is24bit_ = flag; }
886 constexpr bool is24bit() const noexcept { return is24bit_; }
925 Definition(uint32_t index, RegClass type) noexcept : temp(index, type) {}
926 explicit Definition(Temp tmp) noexcept : temp(tmp) {}
927 Definition(PhysReg reg, RegClass type) noexcept : temp(Temp(0, type)) { setFixed(reg); }
928 Definition(uint32_t tmpId, PhysReg reg, RegClass type) noexcept : temp(Temp(tmpId, type))
933 constexpr bool isTemp() const noexcept { return tempId() > 0; }
935 constexpr Temp getTemp() const noexcept { return temp; }
937 constexpr uint32_t tempId() const noexcept { return temp.id(); }
939 constexpr void setTemp(Temp t) noexcept { temp = t; }
941 void swapTemp(Definition& other) noexcept { std::swap(temp, other.temp); }
943 constexpr RegClass regClass() const noexcept { return temp.regClass(); }
945 constexpr unsigned bytes() const noexcept { return temp.bytes(); }
947 constexpr unsigned size() const noexcept { return temp.size(); }
949 constexpr bool isFixed() const noexcept { return isFixed_; }
951 constexpr PhysReg physReg() const noexcept { return reg_; }
953 constexpr void setFixed(PhysReg reg) noexcept
959 constexpr void setKill(bool flag) noexcept { isKill_ = flag; }
961 constexpr bool isKill() const noexcept { return isKill_; }
963 constexpr void setPrecise(bool precise) noexcept { isPrecise_ = precise; }
965 constexpr bool isPrecise() const noexcept { return isPrecise_; }
968 constexpr void setNUW(bool nuw) noexcept { isNUW_ = nuw; }
970 constexpr bool isNUW() const noexcept { return isNUW_; }
972 constexpr void setNoCSE(bool noCSE) noexcept { isNoCSE_ = noCSE; }
974 constexpr bool isNoCSE() const noexcept { return isNoCSE_; }
1028 constexpr bool usesModifiers() const noexcept;
1030 constexpr bool reads_exec() const noexcept
1039 Pseudo_instruction& pseudo() noexcept
1044 const Pseudo_instruction& pseudo() const noexcept
1049 constexpr bool isPseudo() const noexcept { return format == Format::PSEUDO; }
1050 SOP1_instruction& sop1() noexcept
1055 const SOP1_instruction& sop1() const noexcept
1060 constexpr bool isSOP1() const noexcept { return format == Format::SOP1; }
1061 SOP2_instruction& sop2() noexcept
1066 const SOP2_instruction& sop2() const noexcept
1071 constexpr bool isSOP2() const noexcept { return format == Format::SOP2; }
1072 SOPK_instruction& sopk() noexcept
1077 const SOPK_instruction& sopk() const noexcept
1082 constexpr bool isSOPK() const noexcept { return format == Format::SOPK; }
1083 SOPP_instruction& sopp() noexcept
1088 const SOPP_instruction& sopp() const noexcept
1093 constexpr bool isSOPP() const noexcept { return format == Format::SOPP; }
1094 SOPC_instruction& sopc() noexcept
1099 const SOPC_instruction& sopc() const noexcept
1104 constexpr bool isSOPC() const noexcept { return format == Format::SOPC; }
1105 SMEM_instruction& smem() noexcept
1110 const SMEM_instruction& smem() const noexcept
1115 constexpr bool isSMEM() const noexcept { return format == Format::SMEM; }
1116 DS_instruction& ds() noexcept
1121 const DS_instruction& ds() const noexcept
1126 constexpr bool isDS() const noexcept { return format == Format::DS; }
1127 MTBUF_instruction& mtbuf() noexcept
1132 const MTBUF_instruction& mtbuf() const noexcept
1137 constexpr bool isMTBUF() const noexcept { return format == Format::MTBUF; }
1138 MUBUF_instruction& mubuf() noexcept
1143 const MUBUF_instruction& mubuf() const noexcept
1148 constexpr bool isMUBUF() const noexcept { return format == Format::MUBUF; }
1149 MIMG_instruction& mimg() noexcept
1154 const MIMG_instruction& mimg() const noexcept
1159 constexpr bool isMIMG() const noexcept { return format == Format::MIMG; }
1160 Export_instruction& exp() noexcept
1165 const Export_instruction& exp() const noexcept
1170 constexpr bool isEXP() const noexcept { return format == Format::EXP; }
1171 FLAT_instruction& flat() noexcept
1176 const FLAT_instruction& flat() const noexcept
1181 constexpr bool isFlat() const noexcept { return format == Format::FLAT; }
1182 FLAT_instruction& global() noexcept
1187 const FLAT_instruction& global() const noexcept
1192 constexpr bool isGlobal() const noexcept { return format == Format::GLOBAL; }
1193 FLAT_instruction& scratch() noexcept
1198 const FLAT_instruction& scratch() const noexcept
1203 constexpr bool isScratch() const noexcept { return format == Format::SCRATCH; }
1204 Pseudo_branch_instruction& branch() noexcept
1209 const Pseudo_branch_instruction& branch() const noexcept
1214 constexpr bool isBranch() const noexcept { return format == Format::PSEUDO_BRANCH; }
1215 Pseudo_barrier_instruction& barrier() noexcept
1220 const Pseudo_barrier_instruction& barrier() const noexcept
1225 constexpr bool isBarrier() const noexcept { return format == Format::PSEUDO_BARRIER; }
1226 Pseudo_reduction_instruction& reduction() noexcept
1231 const Pseudo_reduction_instruction& reduction() const noexcept
1236 constexpr bool isReduction() const noexcept { return format == Format::PSEUDO_REDUCTION; }
1237 VOP3P_instruction& vop3p() noexcept
1242 const VOP3P_instruction& vop3p() const noexcept
1247 constexpr bool isVOP3P() const noexcept { return format == Format::VOP3P; }
1248 VOP1_instruction& vop1() noexcept
1253 const VOP1_instruction& vop1() const noexcept
1258 constexpr bool isVOP1() const noexcept { return (uint16_t)format & (uint16_t)Format::VOP1; }
1259 VOP2_instruction& vop2() noexcept
1264 const VOP2_instruction& vop2() const noexcept
1269 constexpr bool isVOP2() const noexcept { return (uint16_t)format & (uint16_t)Format::VOP2; }
1270 VOPC_instruction& vopc() noexcept
1275 const VOPC_instruction& vopc() const noexcept
1280 constexpr bool isVOPC() const noexcept { return (uint16_t)format & (uint16_t)Format::VOPC; }
1281 VOP3_instruction& vop3() noexcept
1286 const VOP3_instruction& vop3() const noexcept
1291 constexpr bool isVOP3() const noexcept { return (uint16_t)format & (uint16_t)Format::VOP3; }
1292 Interp_instruction& vintrp() noexcept
1297 const Interp_instruction& vintrp() const noexcept
1302 constexpr bool isVINTRP() const noexcept { return (uint16_t)format & (uint16_t)Format::VINTRP; }
1303 DPP16_instruction& dpp16() noexcept
1308 const DPP16_instruction& dpp16() const noexcept
1313 constexpr bool isDPP16() const noexcept { return (uint16_t)format & (uint16_t)Format::DPP16; }
1314 DPP8_instruction& dpp8() noexcept
1319 const DPP8_instruction& dpp8() const noexcept
1324 constexpr bool isDPP8() const noexcept { return (uint16_t)format & (uint16_t)Format::DPP8; }
1325 constexpr bool isDPP() const noexcept { return isDPP16() || isDPP8(); }
1326 SDWA_instruction& sdwa() noexcept
1331 const SDWA_instruction& sdwa() const noexcept
1336 constexpr bool isSDWA() const noexcept { return (uint16_t)format & (uint16_t)Format::SDWA; }
1342 constexpr bool isFlatLike() const noexcept { return isFlat() || isGlobal() || isScratch(); }
1344 constexpr bool isVALU() const noexcept
1349 constexpr bool isSALU() const noexcept
1354 constexpr bool isVMEM() const noexcept { return isMTBUF() || isMUBUF() || isMIMG(); }
1756 Instruction::usesModifiers() const noexcept
1845 constexpr RegisterDemand(const int16_t v, const int16_t s) noexcept : vgpr{v}, sgpr{s} {}
1849 constexpr friend bool operator==(const RegisterDemand a, const RegisterDemand b) noexcept
1854 constexpr bool exceeds(const RegisterDemand other) const noexcept
1859 constexpr RegisterDemand operator+(const Temp t) const noexcept
1867 constexpr RegisterDemand operator+(const RegisterDemand other) const noexcept
1872 constexpr RegisterDemand operator-(const RegisterDemand other) const noexcept
1877 constexpr RegisterDemand& operator+=(const RegisterDemand other) noexcept
1884 constexpr RegisterDemand& operator-=(const RegisterDemand other) noexcept
1891 constexpr RegisterDemand& operator+=(const Temp t) noexcept
1900 constexpr RegisterDemand& operator-=(const Temp t) noexcept
1909 constexpr void update(const RegisterDemand other) noexcept