diff --git a/src/dynarmic/backend/A64/a32_emit_a64.cpp b/src/dynarmic/backend/A64/a32_emit_a64.cpp index c98b066a..bcd8b72a 100644 --- a/src/dynarmic/backend/A64/a32_emit_a64.cpp +++ b/src/dynarmic/backend/A64/a32_emit_a64.cpp @@ -16,22 +16,23 @@ #include #include -#include +#include -#include "backend/A64/a32_emit_a64.h" -#include "backend/A64/a32_jitstate.h" -#include "backend/A64/abi.h" -#include "backend/A64/block_of_code.h" -#include "backend/A64/devirtualize.h" -#include "backend/A64/emit_a64.h" -#include "backend/A64/emitter/a64_emitter.h" -#include "backend/A64/perf_map.h" -#include "common/variant_util.h" -#include "frontend/A32/location_descriptor.h" -#include "frontend/A32/types.h" -#include "frontend/ir/basic_block.h" -#include "frontend/ir/microinstruction.h" -#include "frontend/ir/opcodes.h" +#include "dynarmic/backend/A64/a32_emit_a64.h" +#include "dynarmic/backend/A64/a32_jitstate.h" +#include "dynarmic/backend/A64/abi.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/devirtualize.h" +#include "dynarmic/backend/A64/emit_a64.h" +#include "dynarmic/backend/A64/emitter/a64_emitter.h" +#include "dynarmic/backend/A64/perf_map.h" +#include "dynarmic/backend/A64/reg_alloc.h" +#include "dynarmic/common/variant_util.h" +#include "dynarmic/frontend/A32/a32_location_descriptor.h" +#include "dynarmic/frontend/A32/a32_types.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" // TODO: Have ARM flags in host flags and not have them use up GPR registers unless necessary. // TODO: Actually implement that proper instruction selector you've always wanted to sweetheart. @@ -126,7 +127,7 @@ A32EmitA64::BlockDescriptor A32EmitA64::Emit(IR::Block& block) { A32EmitA64::EmitA32##name(ctx, inst); \ break; #define A64OPC(...) -#include "backend/A64/opcodes.inc" +#include "dynarmic/backend/A64/opcodes.inc" #undef OPCODE #undef A32OPC #undef A64OPC diff --git a/src/dynarmic/backend/A64/a32_emit_a64.h b/src/dynarmic/backend/A64/a32_emit_a64.h index 4989cccb..7ea92b0b 100644 --- a/src/dynarmic/backend/A64/a32_emit_a64.h +++ b/src/dynarmic/backend/A64/a32_emit_a64.h @@ -13,14 +13,14 @@ #include #include -#include "backend/A64/a32_jitstate.h" -#include "backend/A64/block_range_information.h" -#include "backend/A64/emit_a64.h" -#include "backend/A64/exception_handler.h" -#include "dynarmic/A32/a32.h" -#include "dynarmic/A32/config.h" -#include "frontend/A32/location_descriptor.h" -#include "frontend/ir/terminal.h" +#include "dynarmic/backend/A64/a32_jitstate.h" +#include "dynarmic/backend/A64/block_range_information.h" +#include "dynarmic/backend/A64/emit_a64.h" +#include "dynarmic/backend/A64/exception_handler.h" +#include "dynarmic/interface/A32/a32.h" +#include "dynarmic/interface/A32/config.h" +#include "dynarmic/frontend/A32/a32_location_descriptor.h" +#include "dynarmic/ir/terminal.h" namespace Dynarmic::BackendA64 { @@ -102,7 +102,7 @@ protected: #define OPCODE(...) #define A32OPC(name, type, ...) void EmitA32##name(A32EmitContext& ctx, IR::Inst* inst); #define A64OPC(...) -#include "frontend/ir/opcodes.inc" +#include "dynarmic/ir/opcodes.inc" #undef OPCODE #undef A32OPC #undef A64OPC diff --git a/src/dynarmic/backend/A64/a32_interface.cpp b/src/dynarmic/backend/A64/a32_interface.cpp index af196926..8cc85a0d 100644 --- a/src/dynarmic/backend/A64/a32_interface.cpp +++ b/src/dynarmic/backend/A64/a32_interface.cpp @@ -12,20 +12,21 @@ #include #include -#include -#include +#include +#include -#include "backend/A64/a32_emit_a64.h" -#include "backend/A64/a32_jitstate.h" -#include "backend/A64/block_of_code.h" -#include "backend/A64/callback.h" -#include "backend/A64/devirtualize.h" -#include "backend/A64/jitstate_info.h" -#include "common/llvm_disassemble.h" -#include "frontend/A32/translate/translate.h" -#include "frontend/ir/basic_block.h" -#include "frontend/ir/location_descriptor.h" -#include "ir_opt/passes.h" +#include "dynarmic/backend/A64/a32_emit_a64.h" +#include "dynarmic/backend/A64/a32_jitstate.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/callback.h" +#include "dynarmic/backend/A64/devirtualize.h" +#include "dynarmic/backend/A64/jitstate_info.h" +#include "dynarmic/common/llvm_disassemble.h" +#include "dynarmic/frontend/A32/translate/a32_translate.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/location_descriptor.h" +#include "dynarmic/ir/opt/passes.h" +#include "dynarmic/common/atomic.h" namespace Dynarmic::A32 { diff --git a/src/dynarmic/backend/A64/a32_jitstate.cpp b/src/dynarmic/backend/A64/a32_jitstate.cpp index 653bbacf..6228d4fa 100644 --- a/src/dynarmic/backend/A64/a32_jitstate.cpp +++ b/src/dynarmic/backend/A64/a32_jitstate.cpp @@ -8,9 +8,9 @@ #include #include -#include "backend/A64/a32_jitstate.h" -#include "backend/A64/block_of_code.h" -#include "frontend/A32/location_descriptor.h" +#include "dynarmic/backend/A64/a32_jitstate.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/frontend/A32/a32_location_descriptor.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/abi.cpp b/src/dynarmic/backend/A64/abi.cpp index 5ff2fb3e..18fd1272 100644 --- a/src/dynarmic/backend/A64/abi.cpp +++ b/src/dynarmic/backend/A64/abi.cpp @@ -19,7 +19,7 @@ #include -#include "backend/A64/abi.h" +#include "dynarmic/backend/A64/abi.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/abi.h b/src/dynarmic/backend/A64/abi.h index 1bbff25a..9504cf77 100644 --- a/src/dynarmic/backend/A64/abi.h +++ b/src/dynarmic/backend/A64/abi.h @@ -7,8 +7,8 @@ #include -#include "backend/A64/block_of_code.h" -#include "backend/A64/hostloc.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/hostloc.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/block_of_code.cpp b/src/dynarmic/backend/A64/block_of_code.cpp index aa431f44..f65ac5cf 100644 --- a/src/dynarmic/backend/A64/block_of_code.cpp +++ b/src/dynarmic/backend/A64/block_of_code.cpp @@ -8,12 +8,14 @@ #include #include -#include "backend/A64/a32_jitstate.h" -#include "backend/A64/abi.h" -#include "backend/A64/block_of_code.h" -#include "backend/A64/perf_map.h" #include +#include "dynarmic/backend/A64/a32_jitstate.h" +#include "dynarmic/backend/A64/abi.h" +#include "dynarmic/interface/halt_reason.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/perf_map.h" + #ifdef _WIN32 #include #else diff --git a/src/dynarmic/backend/A64/block_of_code.h b/src/dynarmic/backend/A64/block_of_code.h index 420d41e3..e6417339 100644 --- a/src/dynarmic/backend/A64/block_of_code.h +++ b/src/dynarmic/backend/A64/block_of_code.h @@ -12,10 +12,11 @@ #include -#include "backend/A64/callback.h" -#include "backend/A64/constant_pool.h" -#include "backend/A64/jitstate_info.h" -#include "backend/A64/emitter/a64_emitter.h" +#include "dynarmic/backend/A64/callback.h" +#include "dynarmic/backend/A64/constant_pool.h" +#include "dynarmic/backend/A64/jitstate_info.h" +#include "dynarmic/backend/A64/emitter/a64_emitter.h" +#include "dynarmic/interface/halt_reason.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/block_range_information.cpp b/src/dynarmic/backend/A64/block_range_information.cpp index 4e0f9c3e..e314a8a7 100644 --- a/src/dynarmic/backend/A64/block_range_information.cpp +++ b/src/dynarmic/backend/A64/block_range_information.cpp @@ -10,7 +10,9 @@ #include #include -#include "backend/A64/block_range_information.h" +#include + +#include "dynarmic/backend/A64/block_range_information.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/block_range_information.h b/src/dynarmic/backend/A64/block_range_information.h index f9d94315..5e773bf5 100644 --- a/src/dynarmic/backend/A64/block_range_information.h +++ b/src/dynarmic/backend/A64/block_range_information.h @@ -11,7 +11,7 @@ #include #include -#include "frontend/ir/location_descriptor.h" +#include "dynarmic/ir/location_descriptor.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/callback.cpp b/src/dynarmic/backend/A64/callback.cpp index c7e19f64..d94855cf 100644 --- a/src/dynarmic/backend/A64/callback.cpp +++ b/src/dynarmic/backend/A64/callback.cpp @@ -4,8 +4,8 @@ * General Public License version 2 or any later version. */ -#include "backend/A64/callback.h" -#include "backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/callback.h" +#include "dynarmic/backend/A64/block_of_code.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/callback.h b/src/dynarmic/backend/A64/callback.h index 718d8885..56340a47 100644 --- a/src/dynarmic/backend/A64/callback.h +++ b/src/dynarmic/backend/A64/callback.h @@ -11,7 +11,7 @@ #include -#include "backend/A64/emitter/a64_emitter.h" +#include "dynarmic/backend/A64/emitter/a64_emitter.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/constant_pool.cpp b/src/dynarmic/backend/A64/constant_pool.cpp index 4f3affc5..fc36073d 100644 --- a/src/dynarmic/backend/A64/constant_pool.cpp +++ b/src/dynarmic/backend/A64/constant_pool.cpp @@ -8,8 +8,8 @@ #include -#include "backend/A64/block_of_code.h" -#include "backend/A64/constant_pool.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/constant_pool.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/constant_pool.h b/src/dynarmic/backend/A64/constant_pool.h index 19d44643..4c303555 100644 --- a/src/dynarmic/backend/A64/constant_pool.h +++ b/src/dynarmic/backend/A64/constant_pool.h @@ -10,6 +10,8 @@ #include +#include "dynarmic/backend/A64/emitter/a64_emitter.h" + namespace Dynarmic::BackendA64 { class BlockOfCode; diff --git a/src/dynarmic/backend/A64/devirtualize.h b/src/dynarmic/backend/A64/devirtualize.h index 9b9d8dc0..49345dc0 100644 --- a/src/dynarmic/backend/A64/devirtualize.h +++ b/src/dynarmic/backend/A64/devirtualize.h @@ -14,7 +14,7 @@ #include #include -#include "backend/A64/callback.h" +#include "dynarmic/backend/A64/callback.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/emit_a64.cpp b/src/dynarmic/backend/A64/emit_a64.cpp index ed848af2..dab04b59 100644 --- a/src/dynarmic/backend/A64/emit_a64.cpp +++ b/src/dynarmic/backend/A64/emit_a64.cpp @@ -12,14 +12,15 @@ #include #include -#include "backend/A64/block_of_code.h" -#include "backend/A64/emit_a64.h" -#include "backend/A64/hostloc.h" -#include "backend/A64/perf_map.h" -#include "common/variant_util.h" -#include "frontend/ir/basic_block.h" -#include "frontend/ir/microinstruction.h" -#include "frontend/ir/opcodes.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/emit_a64.h" +#include "dynarmic/backend/A64/hostloc.h" +#include "dynarmic/backend/A64/perf_map.h" +#include "dynarmic/backend/A64/reg_alloc.h" +#include "dynarmic/common/variant_util.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" // TODO: Have ARM flags in host flags and not have them use up GPR registers unless necessary. // TODO: Actually implement that proper instruction selector you've always wanted to sweetheart. diff --git a/src/dynarmic/backend/A64/emit_a64.h b/src/dynarmic/backend/A64/emit_a64.h index c8b85143..29c864d0 100644 --- a/src/dynarmic/backend/A64/emit_a64.h +++ b/src/dynarmic/backend/A64/emit_a64.h @@ -16,11 +16,10 @@ #include -#include "backend/A64/reg_alloc.h" -#include "backend/A64/emitter/a64_emitter.h" -#include "common/fp/rounding_mode.h" -#include "frontend/ir/location_descriptor.h" -#include "frontend/ir/terminal.h" +#include "dynarmic/backend/A64/emitter/a64_emitter.h" +#include "dynarmic/common/fp/rounding_mode.h" +#include "dynarmic/ir/location_descriptor.h" +#include "dynarmic/ir/terminal.h" namespace Dynarmic::IR { class Block; @@ -30,9 +29,10 @@ class Inst; namespace Dynarmic::BackendA64 { class BlockOfCode; +class RegAlloc; using namespace Arm64Gen; - +using CodePtr = const void*; using A64FullVectorWidth = std::integral_constant; // Array alias that always sizes itself according to the given type T @@ -80,7 +80,7 @@ protected: #define OPCODE(name, type, ...) void Emit##name(EmitContext& ctx, IR::Inst* inst); #define A32OPC(...) #define A64OPC(...) -#include "backend/A64/opcodes.inc" +#include "dynarmic/backend/A64/opcodes.inc" #undef OPCODE #undef A32OPC #undef A64OPC diff --git a/src/dynarmic/backend/A64/emit_a64_data_processing.cpp b/src/dynarmic/backend/A64/emit_a64_data_processing.cpp index 412d818e..83f762ff 100644 --- a/src/dynarmic/backend/A64/emit_a64_data_processing.cpp +++ b/src/dynarmic/backend/A64/emit_a64_data_processing.cpp @@ -7,11 +7,12 @@ #include #include -#include "backend/A64/block_of_code.h" -#include "backend/A64/emit_a64.h" -#include "frontend/ir/basic_block.h" -#include "frontend/ir/microinstruction.h" -#include "frontend/ir/opcodes.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/reg_alloc.h" +#include "dynarmic/backend/A64/emit_a64.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/emit_a64_floating_point.cpp b/src/dynarmic/backend/A64/emit_a64_floating_point.cpp index 6c3f9936..d4f5b044 100644 --- a/src/dynarmic/backend/A64/emit_a64_floating_point.cpp +++ b/src/dynarmic/backend/A64/emit_a64_floating_point.cpp @@ -11,18 +11,19 @@ #include #include -#include "backend/A64/abi.h" -#include "backend/A64/block_of_code.h" -#include "backend/A64/emit_a64.h" -#include "common/fp/fpcr.h" -#include "common/fp/fpsr.h" -#include "common/fp/info.h" -#include "common/fp/op.h" -#include "common/fp/rounding_mode.h" -#include "common/fp/util.h" -#include "frontend/ir/basic_block.h" -#include "frontend/ir/microinstruction.h" -#include "frontend/ir/opcodes.h" +#include "dynarmic/backend/A64/abi.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/emit_a64.h" +#include "dynarmic/backend/A64/reg_alloc.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/op.h" +#include "dynarmic/common/fp/rounding_mode.h" +#include "dynarmic/common/fp/util.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/emit_a64_packed.cpp b/src/dynarmic/backend/A64/emit_a64_packed.cpp index fb54361d..79843f09 100644 --- a/src/dynarmic/backend/A64/emit_a64_packed.cpp +++ b/src/dynarmic/backend/A64/emit_a64_packed.cpp @@ -4,10 +4,11 @@ * General Public License version 2 or any later version. */ -#include "backend/A64/block_of_code.h" -#include "backend/A64/emit_a64.h" -#include "frontend/ir/microinstruction.h" -#include "frontend/ir/opcodes.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/emit_a64.h" +#include "dynarmic/backend/A64/reg_alloc.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/emit_a64_saturation.cpp b/src/dynarmic/backend/A64/emit_a64_saturation.cpp index 2d18ca0b..fb844c18 100644 --- a/src/dynarmic/backend/A64/emit_a64_saturation.cpp +++ b/src/dynarmic/backend/A64/emit_a64_saturation.cpp @@ -10,11 +10,12 @@ #include #include -#include "backend/A64/block_of_code.h" -#include "backend/A64/emit_a64.h" -#include "frontend/ir/basic_block.h" -#include "frontend/ir/microinstruction.h" -#include "frontend/ir/opcodes.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/emit_a64.h" +#include "dynarmic/backend/A64/reg_alloc.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/emitter/a64_emitter.cpp b/src/dynarmic/backend/A64/emitter/a64_emitter.cpp index eb86c508..5b527f46 100644 --- a/src/dynarmic/backend/A64/emitter/a64_emitter.cpp +++ b/src/dynarmic/backend/A64/emitter/a64_emitter.cpp @@ -18,7 +18,7 @@ #include #include "a64_emitter.h" -#include "common/math_util.h" +#include "dynarmic/common/math_util.h" namespace Dynarmic::BackendA64::Arm64Gen { diff --git a/src/dynarmic/backend/A64/exception_handler.h b/src/dynarmic/backend/A64/exception_handler.h index 2c6681ed..1032b1e8 100644 --- a/src/dynarmic/backend/A64/exception_handler.h +++ b/src/dynarmic/backend/A64/exception_handler.h @@ -12,7 +12,7 @@ #include -#include "backend/A64/a32_jitstate.h" +#include "dynarmic/backend/A64/a32_jitstate.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/exception_handler_generic.cpp b/src/dynarmic/backend/A64/exception_handler_generic.cpp index c5b17c07..713431e2 100644 --- a/src/dynarmic/backend/A64/exception_handler_generic.cpp +++ b/src/dynarmic/backend/A64/exception_handler_generic.cpp @@ -4,7 +4,7 @@ * General Public License version 2 or any later version. */ -#include "backend/A64/exception_handler.h" +#include "dynarmic/backend/A64/exception_handler.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/exception_handler_posix.cpp b/src/dynarmic/backend/A64/exception_handler_posix.cpp index 6b454229..a64fdc94 100644 --- a/src/dynarmic/backend/A64/exception_handler_posix.cpp +++ b/src/dynarmic/backend/A64/exception_handler_posix.cpp @@ -20,9 +20,9 @@ #include -#include "backend/A64/a32_jitstate.h" -#include "backend/A64/block_of_code.h" -#include "backend/A64/exception_handler.h" +#include "dynarmic/backend/A64/a32_jitstate.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/exception_handler.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/hostloc.cpp b/src/dynarmic/backend/A64/hostloc.cpp index 8d1094ec..b4d4facf 100644 --- a/src/dynarmic/backend/A64/hostloc.cpp +++ b/src/dynarmic/backend/A64/hostloc.cpp @@ -4,7 +4,7 @@ * General Public License version 2 or any later version. */ -#include "backend/A64/hostloc.h" +#include "dynarmic/backend/A64/hostloc.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/hostloc.h b/src/dynarmic/backend/A64/hostloc.h index 8c3e0c43..14ca64e0 100644 --- a/src/dynarmic/backend/A64/hostloc.h +++ b/src/dynarmic/backend/A64/hostloc.h @@ -8,7 +8,7 @@ #include #include -#include "backend/A64/emitter/a64_emitter.h" +#include "dynarmic/backend/A64/emitter/a64_emitter.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/reg_alloc.cpp b/src/dynarmic/backend/A64/reg_alloc.cpp index fedf0644..66e53ffc 100644 --- a/src/dynarmic/backend/A64/reg_alloc.cpp +++ b/src/dynarmic/backend/A64/reg_alloc.cpp @@ -11,8 +11,8 @@ #include #include -#include "backend/A64/abi.h" -#include "backend/A64/reg_alloc.h" +#include "dynarmic/backend/A64/abi.h" +#include "dynarmic/backend/A64/reg_alloc.h" namespace Dynarmic::BackendA64 { diff --git a/src/dynarmic/backend/A64/reg_alloc.h b/src/dynarmic/backend/A64/reg_alloc.h index 399411a5..5c3bab9e 100644 --- a/src/dynarmic/backend/A64/reg_alloc.h +++ b/src/dynarmic/backend/A64/reg_alloc.h @@ -10,17 +10,15 @@ #include #include #include - #include #include -#include "backend/A64/block_of_code.h" -#include "backend/A64/hostloc.h" -//#include "backend/A64/oparg.h" -#include "frontend/ir/cond.h" -#include "frontend/ir/microinstruction.h" -#include "frontend/ir/value.h" +#include "dynarmic/backend/A64/block_of_code.h" +#include "dynarmic/backend/A64/hostloc.h" +#include "dynarmic/ir/cond.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/value.h" namespace Dynarmic::BackendA64 {