ir/value: Replace includes with forward declarations
enum classes are still considered complete types when forward declared (as the compiler knows the exact size of the type from the declaration alone). The only difference in this case being that the members of the enum class aren't visible. Given we don't use the members within this header in any way, we can simply forward declare them here and remove the inclusions.
This commit is contained in:
parent
2c8e07e7d0
commit
134bb02e19
5 changed files with 15 additions and 3 deletions
|
@ -10,14 +10,22 @@
|
||||||
|
|
||||||
#include "common/assert.h"
|
#include "common/assert.h"
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
#include "frontend/A32/types.h"
|
|
||||||
#include "frontend/A64/types.h"
|
|
||||||
#include "frontend/ir/cond.h"
|
|
||||||
#include "frontend/ir/type.h"
|
#include "frontend/ir/type.h"
|
||||||
|
|
||||||
|
namespace Dynarmic::A32 {
|
||||||
|
enum class ExtReg;
|
||||||
|
enum class Reg;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Dynarmic::A64 {
|
||||||
|
enum class Reg;
|
||||||
|
enum class Vec;
|
||||||
|
}
|
||||||
|
|
||||||
namespace Dynarmic::IR {
|
namespace Dynarmic::IR {
|
||||||
|
|
||||||
class Inst;
|
class Inst;
|
||||||
|
enum class Cond;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A representation of a value in the IR.
|
* A representation of a value in the IR.
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
#include "common/assert.h"
|
#include "common/assert.h"
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
|
#include "frontend/A32/types.h"
|
||||||
#include "frontend/ir/basic_block.h"
|
#include "frontend/ir/basic_block.h"
|
||||||
#include "frontend/ir/opcodes.h"
|
#include "frontend/ir/opcodes.h"
|
||||||
#include "frontend/ir/value.h"
|
#include "frontend/ir/value.h"
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
#include "common/assert.h"
|
#include "common/assert.h"
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
|
#include "frontend/A64/types.h"
|
||||||
#include "frontend/ir/basic_block.h"
|
#include "frontend/ir/basic_block.h"
|
||||||
#include "frontend/ir/ir_emitter.h"
|
#include "frontend/ir/ir_emitter.h"
|
||||||
#include "frontend/ir/opcodes.h"
|
#include "frontend/ir/opcodes.h"
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include "frontend/A32/location_descriptor.h"
|
#include "frontend/A32/location_descriptor.h"
|
||||||
#include "frontend/A32/PSR.h"
|
#include "frontend/A32/PSR.h"
|
||||||
#include "frontend/A32/translate/translate.h"
|
#include "frontend/A32/translate/translate.h"
|
||||||
|
#include "frontend/A32/types.h"
|
||||||
#include "frontend/ir/basic_block.h"
|
#include "frontend/ir/basic_block.h"
|
||||||
#include "frontend/ir/location_descriptor.h"
|
#include "frontend/ir/location_descriptor.h"
|
||||||
#include "ir_opt/passes.h"
|
#include "ir_opt/passes.h"
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#include "frontend/A64/decoder/a64.h"
|
#include "frontend/A64/decoder/a64.h"
|
||||||
#include "frontend/A64/location_descriptor.h"
|
#include "frontend/A64/location_descriptor.h"
|
||||||
#include "frontend/A64/translate/translate.h"
|
#include "frontend/A64/translate/translate.h"
|
||||||
|
#include "frontend/A64/types.h"
|
||||||
#include "frontend/ir/basic_block.h"
|
#include "frontend/ir/basic_block.h"
|
||||||
#include "frontend/ir/opcodes.h"
|
#include "frontend/ir/opcodes.h"
|
||||||
#include "fuzz_util.h"
|
#include "fuzz_util.h"
|
||||||
|
|
Loading…
Reference in a new issue