Home | History | Annotate | Download | only in compiler

Lines Matching defs:noexcept

250    bool canReplace(float_mode other) const noexcept
407 Temp() noexcept : id_(0), reg_class(0) {}
408 constexpr Temp(uint32_t id, RegClass cls) noexcept : id_(id), reg_class(uint8_t(cls)) {}
410 constexpr uint32_t id() const noexcept { return id_; }
411 constexpr RegClass regClass() const noexcept { return (RegClass::RC)reg_class; }
413 constexpr unsigned bytes() const noexcept { return regClass().bytes(); }
414 constexpr unsigned size() const noexcept { return regClass().size(); }
415 constexpr RegType type() const noexcept { return regClass().type(); }
416 constexpr bool is_linear() const noexcept { return regClass().is_linear(); }
418 constexpr bool operator<(Temp other) const noexcept { return id() < other.id(); }
419 constexpr bool operator==(Temp other) const noexcept { return id() == other.id(); }
420 constexpr bool operator!=(Temp other) const noexcept { return id() != other.id(); }
493 explicit Operand(Temp r) noexcept
503 explicit Operand(Temp r, PhysReg reg) noexcept
512 static Operand c8(uint8_t v) noexcept
527 static Operand c16(uint16_t v) noexcept
562 static Operand c32(uint32_t v) noexcept { return c32_or_c64(v, false); }
565 static Operand c64(uint64_t v) noexcept
612 static Operand c32_or_c64(uint32_t v, bool is64bit) noexcept
646 explicit Operand(RegClass type) noexcept
652 explicit Operand(PhysReg reg, RegClass type) noexcept
658 static Operand zero(unsigned bytes = 4) noexcept
715 constexpr bool isTemp() const noexcept { return isTemp_; }
717 constexpr void setTemp(Temp t) noexcept
724 constexpr Temp getTemp() const noexcept { return data_.temp; }
726 constexpr uint32_t tempId() const noexcept { return data_.temp.id(); }
728 constexpr bool hasRegClass() const noexcept { return isTemp() || isUndefined(); }
730 constexpr RegClass regClass() const noexcept { return data_.temp.regClass(); }
732 constexpr unsigned bytes() const noexcept
740 constexpr unsigned size() const noexcept
748 constexpr bool isFixed() const noexcept { return isFixed_; }
750 constexpr PhysReg physReg() const noexcept { return reg_; }
752 constexpr void setFixed(PhysReg reg) noexcept
758 constexpr bool isConstant() const noexcept { return isConstant_; }
760 constexpr bool isLiteral() const noexcept { return isConstant() && reg_ == 255; }
762 constexpr bool isUndefined() const noexcept { return isUndef_; }
764 constexpr uint32_t constantValue() const noexcept { return data_.i; }
766 constexpr bool constantEquals(uint32_t cmp) const noexcept
771 constexpr uint64_t constantValue64() const noexcept
797 constexpr bool isOfType(RegType type) const noexcept
805 constexpr void setLateKill(bool flag) noexcept { isLateKill_ = flag; }
807 constexpr bool isLateKill() const noexcept { return isLateKill_; }
809 constexpr void setKill(bool flag) noexcept
816 constexpr bool isKill() const noexcept { return isKill_ || isFirstKill(); }
818 constexpr void setFirstKill(bool flag) noexcept
827 constexpr bool isFirstKill() const noexcept { return isFirstKill_; }
829 constexpr bool isKillBeforeDef() const noexcept { return isKill() && !isLateKill(); }
831 constexpr bool isFirstKillBeforeDef() const noexcept { return isFirstKill() && !isLateKill(); }
833 constexpr bool operator==(Operand other) const noexcept
851 constexpr bool operator!=(Operand other) const noexcept { return !operator==(other); }
853 constexpr void set16bit(bool flag) noexcept { is16bit_ = flag; }
855 constexpr bool is16bit() const noexcept { return is16bit_; }
857 constexpr void set24bit(bool flag) noexcept { is24bit_ = flag; }
859 constexpr bool is24bit() const noexcept { return is24bit_; }
899 Definition(uint32_t index, RegClass type) noexcept : temp(index, type) {}
900 explicit Definition(Temp tmp) noexcept : temp(tmp) {}
901 Definition(PhysReg reg, RegClass type) noexcept : temp(Temp(0, type)) { setFixed(reg); }
902 Definition(uint32_t tmpId, PhysReg reg, RegClass type) noexcept : temp(Temp(tmpId, type))
907 constexpr bool isTemp() const noexcept { return tempId() > 0; }
909 constexpr Temp getTemp() const noexcept { return temp; }
911 constexpr uint32_t tempId() const noexcept { return temp.id(); }
913 constexpr void setTemp(Temp t) noexcept { temp = t; }
915 void swapTemp(Definition& other) noexcept { std::swap(temp, other.temp); }
917 constexpr RegClass regClass() const noexcept { return temp.regClass(); }
919 constexpr unsigned bytes() const noexcept { return temp.bytes(); }
921 constexpr unsigned size() const noexcept { return temp.size(); }
923 constexpr bool isFixed() const noexcept { return isFixed_; }
925 constexpr PhysReg physReg() const noexcept { return reg_; }
927 constexpr void setFixed(PhysReg reg) noexcept
933 constexpr void setHint(PhysReg reg) noexcept
939 constexpr bool hasHint() const noexcept { return hasHint_; }
941 constexpr void setKill(bool flag) noexcept { isKill_ = flag; }
943 constexpr bool isKill() const noexcept { return isKill_; }
945 constexpr void setPrecise(bool precise) noexcept { isPrecise_ = precise; }
947 constexpr bool isPrecise() const noexcept { return isPrecise_; }
950 constexpr void setNUW(bool nuw) noexcept { isNUW_ = nuw; }
952 constexpr bool isNUW() const noexcept { return isNUW_; }
954 constexpr void setNoCSE(bool noCSE) noexcept { isNoCSE_ = noCSE; }
956 constexpr bool isNoCSE() const noexcept { return isNoCSE_; }
1010 constexpr bool usesModifiers() const noexcept;
1012 constexpr bool reads_exec() const noexcept
1021 Pseudo_instruction& pseudo() noexcept
1026 const Pseudo_instruction& pseudo() const noexcept
1031 constexpr bool isPseudo() const noexcept { return format == Format::PSEUDO; }
1032 SOP1_instruction& sop1() noexcept
1037 const SOP1_instruction& sop1() const noexcept
1042 constexpr bool isSOP1() const noexcept { return format == Format::SOP1; }
1043 SOP2_instruction& sop2() noexcept
1048 const SOP2_instruction& sop2() const noexcept
1053 constexpr bool isSOP2() const noexcept { return format == Format::SOP2; }
1054 SOPK_instruction& sopk() noexcept
1059 const SOPK_instruction& sopk() const noexcept
1064 constexpr bool isSOPK() const noexcept { return format == Format::SOPK; }
1065 noexcept
1070 const SOPP_instruction& sopp() const noexcept
1075 constexpr bool isSOPP() const noexcept { return format == Format::SOPP; }
1076 SOPC_instruction& sopc() noexcept
1081 const SOPC_instruction& sopc() const noexcept
1086 constexpr bool isSOPC() const noexcept { return format == Format::SOPC; }
1087 SMEM_instruction& smem() noexcept
1092 const SMEM_instruction& smem() const noexcept
1097 constexpr bool isSMEM() const noexcept { return format == Format::SMEM; }
1098 DS_instruction& ds() noexcept
1103 const DS_instruction& ds() const noexcept
1108 constexpr bool isDS() const noexcept { return format == Format::DS; }
1109 MTBUF_instruction& mtbuf() noexcept
1114 const MTBUF_instruction& mtbuf() const noexcept
1119 constexpr bool isMTBUF() const noexcept { return format == Format::MTBUF; }
1120 MUBUF_instruction& mubuf() noexcept
1125 const MUBUF_instruction& mubuf() const noexcept
1130 constexpr bool isMUBUF() const noexcept { return format == Format::MUBUF; }
1131 MIMG_instruction& mimg() noexcept
1136 const MIMG_instruction& mimg() const noexcept
1141 constexpr bool isMIMG() const noexcept { return format == Format::MIMG; }
1142 Export_instruction& exp() noexcept
1147 const Export_instruction& exp() const noexcept
1152 constexpr bool isEXP() const noexcept { return format == Format::EXP; }
1153 FLAT_instruction& flat() noexcept
1158 const FLAT_instruction& flat() const noexcept
1163 constexpr bool isFlat() const noexcept { return format == Format::FLAT; }
1164 FLAT_instruction& global() noexcept
1169 const FLAT_instruction& global() const noexcept
1174 constexpr bool isGlobal() const noexcept { return format == Format::GLOBAL; }
1175 FLAT_instruction& scratch() noexcept
1180 const FLAT_instruction& scratch() const noexcept
1185 constexpr bool isScratch() const noexcept { return format == Format::SCRATCH; }
1186 Pseudo_branch_instruction& branch() noexcept
1191 const Pseudo_branch_instruction& branch() const noexcept
1196 constexpr bool isBranch() const noexcept { return format == Format::PSEUDO_BRANCH; }
1197 Pseudo_barrier_instruction& barrier() noexcept
1202 const Pseudo_barrier_instruction& barrier() const noexcept
1207 constexpr bool isBarrier() const noexcept { return format == Format::PSEUDO_BARRIER; }
1208 Pseudo_reduction_instruction& reduction() noexcept
1213 const Pseudo_reduction_instruction& reduction() const noexcept
1218 constexpr bool isReduction() const noexcept { return format == Format::PSEUDO_REDUCTION; }
1219 VOP3P_instruction& vop3p() noexcept
1224 const VOP3P_instruction& vop3p() const noexcept
1229 constexpr bool isVOP3P() const noexcept { return format == Format::VOP3P; }
1230 VOP1_instruction& vop1() noexcept
1235 const VOP1_instruction& vop1() const noexcept
1240 constexpr bool isVOP1() const noexcept { return (uint16_t)format & (uint16_t)Format::VOP1; }
1241 VOP2_instruction& vop2() noexcept
1246 const VOP2_instruction& vop2() const noexcept
1251 constexpr bool isVOP2() const noexcept { return (uint16_t)format & (uint16_t)Format::VOP2; }
1252 VOPC_instruction& vopc() noexcept
1257 const VOPC_instruction& vopc() const noexcept
1262 constexpr bool isVOPC() const noexcept { return (uint16_t)format & (uint16_t)Format::VOPC; }
1263 VOP3_instruction& vop3() noexcept
1268 const VOP3_instruction& vop3() const noexcept
1273 constexpr bool isVOP3() const noexcept { return (uint16_t)format & (uint16_t)Format::VOP3; }
1274 Interp_instruction& vintrp() noexcept
1279 const Interp_instruction& vintrp() const noexcept
1284 constexpr bool isVINTRP() const noexcept { return (uint16_t)format & (uint16_t)Format::VINTRP; }
1285 DPP_instruction& dpp() noexcept
1290 const DPP_instruction& dpp() const noexcept
1295 constexpr bool isDPP() const noexcept { return (uint16_t)format & (uint16_t)Format::DPP; }
1296 SDWA_instruction& sdwa() noexcept
1301 const SDWA_instruction& sdwa() const noexcept
1306 constexpr bool isSDWA() const noexcept { return (uint16_t)format & (uint16_t)Format::SDWA; }
1312 constexpr bool isFlatLike() const noexcept { return isFlat() || isGlobal() || isScratch(); }
1314 constexpr bool isVALU() const noexcept
1319 constexpr bool isSALU() const noexcept
1324 constexpr bool isVMEM() const noexcept { return isMTBUF() || isMUBUF() || isMIMG(); }
1717 Instruction::usesModifiers() const noexcept
1807 constexpr RegisterDemand(const int16_t v, const int16_t s) noexcept : vgpr{v}, sgpr{s} {}
1811 constexpr friend bool operator==(const RegisterDemand a, const RegisterDemand b) noexcept
1816 constexpr bool exceeds(const RegisterDemand other) const noexcept
1821 constexpr RegisterDemand operator+(const Temp t) const noexcept
1829 constexpr RegisterDemand operator+(const RegisterDemand other) const noexcept
1834 constexpr RegisterDemand operator-(const RegisterDemand other) const noexcept
1839 constexpr RegisterDemand& operator+=(const RegisterDemand other) noexcept
1846 constexpr RegisterDemand& operator-=(const RegisterDemand other) noexcept
1853 constexpr RegisterDemand& operator+=(const Temp t) noexcept
1862 constexpr RegisterDemand& operator-=(const Temp t) noexcept
1871 constexpr void update(const RegisterDemand other) noexcept