From 068573e9d66ab9f90a0a3847fd1c845c783a11ce Mon Sep 17 00:00:00 2001 From: Lander Gallastegi Date: Mon, 3 Mar 2025 00:04:19 +0100 Subject: [PATCH] clang-format --- .../ir/abstract_syntax_list.cpp | 24 +++++++++++++++---- .../ir/abstract_syntax_list.h | 6 +++-- src/shader_recompiler/ir/conditional_tree.cpp | 18 +++++++------- src/shader_recompiler/ir/program.cpp | 3 ++- src/shader_recompiler/ir/subprogram.cpp | 9 ++++--- src/shader_recompiler/ir/subprogram.h | 3 ++- src/shader_recompiler/recompiler.cpp | 4 ++-- src/shader_recompiler/recompiler.h | 2 +- 8 files changed, 46 insertions(+), 23 deletions(-) diff --git a/src/shader_recompiler/ir/abstract_syntax_list.cpp b/src/shader_recompiler/ir/abstract_syntax_list.cpp index 42d2292a9..6d8e37f19 100644 --- a/src/shader_recompiler/ir/abstract_syntax_list.cpp +++ b/src/shader_recompiler/ir/abstract_syntax_list.cpp @@ -5,20 +5,34 @@ namespace Shader::IR { -std::string DumpASLNode(const AbstractSyntaxNode& node, const std::map& block_to_index, const std::map& inst_to_index) { +std::string DumpASLNode(const AbstractSyntaxNode& node, + const std::map& block_to_index, + const std::map& inst_to_index) { switch (node.type) { case AbstractSyntaxNode::Type::Block: return fmt::format("Block: ${}", block_to_index.at(node.data.block)); case AbstractSyntaxNode::Type::If: - return fmt::format("If: cond = %{}, body = ${}, merge = ${}", inst_to_index.at(node.data.if_node.cond.Inst()), block_to_index.at(node.data.if_node.body), block_to_index.at(node.data.if_node.merge)); + return fmt::format("If: cond = %{}, body = ${}, merge = ${}", + inst_to_index.at(node.data.if_node.cond.Inst()), + block_to_index.at(node.data.if_node.body), + block_to_index.at(node.data.if_node.merge)); case AbstractSyntaxNode::Type::EndIf: return fmt::format("EndIf: merge = ${}", block_to_index.at(node.data.end_if.merge)); case AbstractSyntaxNode::Type::Loop: - return fmt::format("Loop: body = ${}, continue = ${}, merge = ${}", block_to_index.at(node.data.loop.body), block_to_index.at(node.data.loop.continue_block), block_to_index.at(node.data.loop.merge)); + return fmt::format("Loop: body = ${}, continue = ${}, merge = ${}", + block_to_index.at(node.data.loop.body), + block_to_index.at(node.data.loop.continue_block), + block_to_index.at(node.data.loop.merge)); case AbstractSyntaxNode::Type::Repeat: - return fmt::format("Repeat: cond = %{}, header = ${}, merge = ${}", inst_to_index.at(node.data.repeat.cond.Inst()), block_to_index.at(node.data.repeat.loop_header), block_to_index.at(node.data.repeat.merge)); + return fmt::format("Repeat: cond = %{}, header = ${}, merge = ${}", + inst_to_index.at(node.data.repeat.cond.Inst()), + block_to_index.at(node.data.repeat.loop_header), + block_to_index.at(node.data.repeat.merge)); case AbstractSyntaxNode::Type::Break: - return fmt::format("Break: cond = %{}, merge = ${}, skip = ${}", inst_to_index.at(node.data.break_node.cond.Inst()), block_to_index.at(node.data.break_node.merge), block_to_index.at(node.data.break_node.skip)); + return fmt::format("Break: cond = %{}, merge = ${}, skip = ${}", + inst_to_index.at(node.data.break_node.cond.Inst()), + block_to_index.at(node.data.break_node.merge), + block_to_index.at(node.data.break_node.skip)); case AbstractSyntaxNode::Type::Return: return "Return"; case AbstractSyntaxNode::Type::Unreachable: diff --git a/src/shader_recompiler/ir/abstract_syntax_list.h b/src/shader_recompiler/ir/abstract_syntax_list.h index b2a4f7b2a..a620baccb 100644 --- a/src/shader_recompiler/ir/abstract_syntax_list.h +++ b/src/shader_recompiler/ir/abstract_syntax_list.h @@ -3,8 +3,8 @@ #pragma once -#include #include +#include #include "shader_recompiler/ir/value.h" namespace Shader::IR { @@ -54,6 +54,8 @@ struct AbstractSyntaxNode { }; using AbstractSyntaxList = std::vector; -std::string DumpASLNode(const AbstractSyntaxNode& node, const std::map& block_to_index, const std::map& inst_to_index); +std::string DumpASLNode(const AbstractSyntaxNode& node, + const std::map& block_to_index, + const std::map& inst_to_index); } // namespace Shader::IR diff --git a/src/shader_recompiler/ir/conditional_tree.cpp b/src/shader_recompiler/ir/conditional_tree.cpp index 5e064c43d..355e1aba2 100644 --- a/src/shader_recompiler/ir/conditional_tree.cpp +++ b/src/shader_recompiler/ir/conditional_tree.cpp @@ -1,8 +1,8 @@ // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -#include "shader_recompiler/ir/conditional_tree.h" #include "shader_recompiler/ir/basic_block.h" +#include "shader_recompiler/ir/conditional_tree.h" #include @@ -12,13 +12,14 @@ namespace Shader::IR { -static void AddConditionalTree(std::span asl_span, Block::ConditionalData* parent) { - const auto get_span = [&asl_span](AbstractSyntaxNode& node, Block* merge_block) -> std::span { +static void AddConditionalTree(std::span asl_span, + Block::ConditionalData* parent) { + const auto get_span = [&asl_span](AbstractSyntaxNode& node, + Block* merge_block) -> std::span { auto it = std::find_if(asl_span.begin(), asl_span.end(), - [&node, &merge_block](const AbstractSyntaxNode& n) { - return n.data.block == merge_block; - } - ); + [&node, &merge_block](const AbstractSyntaxNode& n) { + return n.data.block == merge_block; + }); ASSERT(it != asl_span.end()); std::ptrdiff_t merge_index = std::distance(asl_span.begin(), it); return std::span(&node + 1, asl_span.data() + merge_index); @@ -26,7 +27,8 @@ static void AddConditionalTree(std::span asl_span, Block::Co const Block::ConditionalData* copied_parent = nullptr; for (auto it = asl_span.begin(); it < asl_span.end(); ++it) { AbstractSyntaxNode& node = *it; - if (node.type == AbstractSyntaxNode::Type::If || node.type == AbstractSyntaxNode::Type::Loop) { + if (node.type == AbstractSyntaxNode::Type::If || + node.type == AbstractSyntaxNode::Type::Loop) { ASSERT(copied_parent); Block* merge_block; switch (node.type) { diff --git a/src/shader_recompiler/ir/program.cpp b/src/shader_recompiler/ir/program.cpp index 3a41c579d..4071c9ac9 100644 --- a/src/shader_recompiler/ir/program.cpp +++ b/src/shader_recompiler/ir/program.cpp @@ -44,7 +44,8 @@ void DumpProgram(const Program& program, const Info& info) { } const auto asl_filename = fmt::format("{}_{:#018x}.asl.txt", info.stage, info.pgm_hash); - const auto asl_file = IOFile{dump_dir / asl_filename, FileAccessMode::Write, FileType::TextFile}; + const auto asl_file = + IOFile{dump_dir / asl_filename, FileAccessMode::Write, FileType::TextFile}; for (const auto& node : program.syntax_list) { std::string s = IR::DumpASLNode(node, block_to_index, inst_to_index) + '\n'; diff --git a/src/shader_recompiler/ir/subprogram.cpp b/src/shader_recompiler/ir/subprogram.cpp index 5d55c1485..ea8223e0e 100644 --- a/src/shader_recompiler/ir/subprogram.cpp +++ b/src/shader_recompiler/ir/subprogram.cpp @@ -4,12 +4,13 @@ #include #include #include "shader_recompiler/ir/conditional_tree.h" -#include "shader_recompiler/ir/subprogram.h" #include "shader_recompiler/ir/post_order.h" +#include "shader_recompiler/ir/subprogram.h" namespace Shader::IR { -SubProgram::SubProgram(Program* super_program, Pools& pools) : super_program(super_program), pools(pools) {} +SubProgram::SubProgram(Program* super_program, Pools& pools) + : super_program(super_program), pools(pools) {} Block* SubProgram::AddBlock(Block* orig_block) { auto it = orig_block_to_block.find(orig_block); @@ -80,7 +81,9 @@ void SubProgram::AddPhi(Inst* orig_phi, Inst* phi) { const Value& arg1 = orig_phi->Arg(1); AddPhiOperand(phi, block0, arg0); AddPhiOperand(phi, block1, arg1); - const auto get_conds = [orig_block0, orig_block1]() -> std::pair { + const auto get_conds = + [orig_block0, + orig_block1]() -> std::pair { const Block::ConditionalData& cond0 = orig_block0->CondData(); const Block::ConditionalData& cond1 = orig_block1->CondData(); if (cond0.depth > cond1.depth) { diff --git a/src/shader_recompiler/ir/subprogram.h b/src/shader_recompiler/ir/subprogram.h index 07970cbee..50f833fc9 100644 --- a/src/shader_recompiler/ir/subprogram.h +++ b/src/shader_recompiler/ir/subprogram.h @@ -4,9 +4,9 @@ #pragma once #include -#include "shader_recompiler/pools.h" #include "shader_recompiler/ir/basic_block.h" #include "shader_recompiler/ir/program.h" +#include "shader_recompiler/pools.h" namespace Shader::IR { @@ -20,6 +20,7 @@ struct SubProgram { Inst* GetInst(Inst* orig_inst); Program GetSubProgram(); + private: void AddPhi(Inst* orig_phi, Inst* phi); diff --git a/src/shader_recompiler/recompiler.cpp b/src/shader_recompiler/recompiler.cpp index 765d18e05..b02ec706c 100644 --- a/src/shader_recompiler/recompiler.cpp +++ b/src/shader_recompiler/recompiler.cpp @@ -2,9 +2,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "shader_recompiler/frontend/control_flow_graph.h" -#include "shader_recompiler/ir/conditional_tree.h" #include "shader_recompiler/frontend/decode.h" #include "shader_recompiler/frontend/structured_control_flow.h" +#include "shader_recompiler/ir/conditional_tree.h" #include "shader_recompiler/ir/passes/ir_passes.h" #include "shader_recompiler/ir/post_order.h" #include "shader_recompiler/recompiler.h" @@ -59,7 +59,7 @@ IR::Program TranslateProgram(std::span code, Pools& pools, Info& info program.info, runtime_info, profile); program.blocks = GenerateBlocks(program.syntax_list); program.post_order_blocks = Shader::IR::PostOrder(program.syntax_list.front()); - + Shader::IR::AddConditionalTreeFromASL(program.syntax_list); // Run optimization passes diff --git a/src/shader_recompiler/recompiler.h b/src/shader_recompiler/recompiler.h index b863d0457..fc42b29d1 100644 --- a/src/shader_recompiler/recompiler.h +++ b/src/shader_recompiler/recompiler.h @@ -3,9 +3,9 @@ #pragma once -#include "shader_recompiler/pools.h" #include "shader_recompiler/ir/basic_block.h" #include "shader_recompiler/ir/program.h" +#include "shader_recompiler/pools.h" namespace Shader {