summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/ir/microinstruction.h
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-02-05 05:58:02 -0300
committerGravatar ameerj2021-07-22 21:51:21 -0400
commite81739493a0cacc1efe3295f9d287d5d31b1a989 (patch)
tree11a3d04ce9def535414a00226030798f337c053c /src/shader_recompiler/frontend/ir/microinstruction.h
parentshader: Initial instruction support (diff)
downloadyuzu-e81739493a0cacc1efe3295f9d287d5d31b1a989.tar.gz
yuzu-e81739493a0cacc1efe3295f9d287d5d31b1a989.tar.xz
yuzu-e81739493a0cacc1efe3295f9d287d5d31b1a989.zip
shader: Constant propagation and global memory to storage buffer
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/frontend/ir/microinstruction.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/shader_recompiler/frontend/ir/microinstruction.h b/src/shader_recompiler/frontend/ir/microinstruction.h
index 61849695a..22101c9e2 100644
--- a/src/shader_recompiler/frontend/ir/microinstruction.h
+++ b/src/shader_recompiler/frontend/ir/microinstruction.h
@@ -49,6 +49,9 @@ public:
49 /// Pseudo-instructions depend on their parent instructions for their semantics. 49 /// Pseudo-instructions depend on their parent instructions for their semantics.
50 [[nodiscard]] bool IsPseudoInstruction() const noexcept; 50 [[nodiscard]] bool IsPseudoInstruction() const noexcept;
51 51
52 /// Determines if all arguments of this instruction are immediates.
53 [[nodiscard]] bool AreAllArgsImmediates() const noexcept;
54
52 /// Determines if there is a pseudo-operation associated with this instruction. 55 /// Determines if there is a pseudo-operation associated with this instruction.
53 [[nodiscard]] bool HasAssociatedPseudoOperation() const noexcept; 56 [[nodiscard]] bool HasAssociatedPseudoOperation() const noexcept;
54 /// Gets a pseudo-operation associated with this instruction 57 /// Gets a pseudo-operation associated with this instruction
@@ -94,7 +97,6 @@ private:
94 Inst* sign_inst{}; 97 Inst* sign_inst{};
95 Inst* carry_inst{}; 98 Inst* carry_inst{};
96 Inst* overflow_inst{}; 99 Inst* overflow_inst{};
97 Inst* zsco_inst{};
98 std::vector<std::pair<Block*, Value>> phi_operands; 100 std::vector<std::pair<Block*, Value>> phi_operands;
99 u64 flags{}; 101 u64 flags{};
100}; 102};