diff options
Diffstat (limited to 'src/shader_recompiler/frontend')
| -rw-r--r-- | src/shader_recompiler/frontend/ir/basic_block.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/ir/basic_block.h b/src/shader_recompiler/frontend/ir/basic_block.h index ab7ddb3d5..0b0c97af6 100644 --- a/src/shader_recompiler/frontend/ir/basic_block.h +++ b/src/shader_recompiler/frontend/ir/basic_block.h | |||
| @@ -107,6 +107,13 @@ public: | |||
| 107 | return ssa_reg_values[RegIndex(reg)]; | 107 | return ssa_reg_values[RegIndex(reg)]; |
| 108 | } | 108 | } |
| 109 | 109 | ||
| 110 | void SsaSeal() noexcept { | ||
| 111 | is_ssa_sealed = true; | ||
| 112 | } | ||
| 113 | [[nodiscard]] bool IsSsaSealed() const noexcept { | ||
| 114 | return is_ssa_sealed; | ||
| 115 | } | ||
| 116 | |||
| 110 | [[nodiscard]] bool empty() const { | 117 | [[nodiscard]] bool empty() const { |
| 111 | return instructions.empty(); | 118 | return instructions.empty(); |
| 112 | } | 119 | } |
| @@ -190,6 +197,8 @@ private: | |||
| 190 | 197 | ||
| 191 | /// Intrusively store the value of a register in the block. | 198 | /// Intrusively store the value of a register in the block. |
| 192 | std::array<Value, NUM_REGS> ssa_reg_values; | 199 | std::array<Value, NUM_REGS> ssa_reg_values; |
| 200 | /// Intrusively store if the block is sealed in the SSA pass. | ||
| 201 | bool is_ssa_sealed{false}; | ||
| 193 | 202 | ||
| 194 | /// Intrusively stored host definition of this block. | 203 | /// Intrusively stored host definition of this block. |
| 195 | u32 definition{}; | 204 | u32 definition{}; |