summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/ir_opt/verification_pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shader_recompiler/ir_opt/verification_pass.cpp')
-rw-r--r--src/shader_recompiler/ir_opt/verification_pass.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/shader_recompiler/ir_opt/verification_pass.cpp b/src/shader_recompiler/ir_opt/verification_pass.cpp
index 32b56eb57..4080b37cc 100644
--- a/src/shader_recompiler/ir_opt/verification_pass.cpp
+++ b/src/shader_recompiler/ir_opt/verification_pass.cpp
@@ -11,8 +11,8 @@
11 11
12namespace Shader::Optimization { 12namespace Shader::Optimization {
13 13
14static void ValidateTypes(const IR::Function& function) { 14static void ValidateTypes(const IR::Program& program) {
15 for (const auto& block : function.blocks) { 15 for (const auto& block : program.blocks) {
16 for (const IR::Inst& inst : *block) { 16 for (const IR::Inst& inst : *block) {
17 if (inst.Opcode() == IR::Opcode::Phi) { 17 if (inst.Opcode() == IR::Opcode::Phi) {
18 // Skip validation on phi nodes 18 // Skip validation on phi nodes
@@ -30,9 +30,9 @@ static void ValidateTypes(const IR::Function& function) {
30 } 30 }
31} 31}
32 32
33static void ValidateUses(const IR::Function& function) { 33static void ValidateUses(const IR::Program& program) {
34 std::map<IR::Inst*, int> actual_uses; 34 std::map<IR::Inst*, int> actual_uses;
35 for (const auto& block : function.blocks) { 35 for (const auto& block : program.blocks) {
36 for (const IR::Inst& inst : *block) { 36 for (const IR::Inst& inst : *block) {
37 const size_t num_args{inst.NumArgs()}; 37 const size_t num_args{inst.NumArgs()};
38 for (size_t i = 0; i < num_args; ++i) { 38 for (size_t i = 0; i < num_args; ++i) {
@@ -45,14 +45,14 @@ static void ValidateUses(const IR::Function& function) {
45 } 45 }
46 for (const auto [inst, uses] : actual_uses) { 46 for (const auto [inst, uses] : actual_uses) {
47 if (inst->UseCount() != uses) { 47 if (inst->UseCount() != uses) {
48 throw LogicError("Invalid uses in block:" /*, IR::DumpFunction(function)*/); 48 throw LogicError("Invalid uses in block: {}", IR::DumpProgram(program));
49 } 49 }
50 } 50 }
51} 51}
52 52
53void VerificationPass(const IR::Function& function) { 53void VerificationPass(const IR::Program& program) {
54 ValidateTypes(function); 54 ValidateTypes(program);
55 ValidateUses(function); 55 ValidateUses(program);
56} 56}
57 57
58} // namespace Shader::Optimization 58} // namespace Shader::Optimization