diff options
author | bunnei <bunneidev@gmail.com> | 2021-11-02 16:34:03 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-02 16:34:03 -0700 |
commit | 7ce29ea74e945062b3c4c434c17980a74464383d (patch) | |
tree | 2907d9f73624bd28d112e030dd816212b3dab554 /src/shader_recompiler/frontend/ir/basic_block.h | |
parent | 43ba9db89081ed0e32b66a56ab236e6fd2c52514 (diff) | |
parent | 2d4bbd83e6f29850558fc6d741a93b5bf0d9bbb9 (diff) |
Merge pull request #7262 from FernandoS27/Buffalo-buffalo-Buffalo-buffalo-buffalo
ShaderCache: Order Phi Arguments from farthest away to nearest.
Diffstat (limited to 'src/shader_recompiler/frontend/ir/basic_block.h')
-rw-r--r-- | src/shader_recompiler/frontend/ir/basic_block.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/ir/basic_block.h b/src/shader_recompiler/frontend/ir/basic_block.h index 7e134b4c7..9ce1ed07e 100644 --- a/src/shader_recompiler/frontend/ir/basic_block.h +++ b/src/shader_recompiler/frontend/ir/basic_block.h @@ -152,6 +152,17 @@ public: return instructions.crend(); } + // Set the order of the block, it can be set pre order, the user decides + void SetOrder(u32 new_order) { + order = new_order; + } + + // Get the order of the block. + // The higher, the closer is the block to the end. + [[nodiscard]] u32 GetOrder() const { + return order; + } + private: /// Memory pool for instruction list ObjectPool<Inst>* inst_pool; @@ -171,6 +182,9 @@ private: /// Intrusively stored host definition of this block. u32 definition{}; + + /// Order of the block. + u32 order{}; }; using BlockList = std::vector<Block*>; |