Debugger stuff, and changing to vcproj's/sln.

This commit is contained in:
Ben Vanik
2015-05-09 17:48:12 -07:00
parent 4411a4499d
commit 7a00b76a6e
97 changed files with 4039 additions and 1643 deletions

View File

@@ -1,14 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'assembler.cc',
'assembler.h',
'backend.cc',
'backend.h',
'machine_info.h',
],
'includes': [
'x64/sources.gypi',
],
}

View File

@@ -1,34 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'x64_assembler.cc',
'x64_assembler.h',
'x64_backend.cc',
'x64_backend.h',
'x64_code_cache.h',
'x64_emitter.cc',
'x64_emitter.h',
'x64_function.cc',
'x64_function.h',
'x64_sequence.inl',
'x64_sequences.cc',
'x64_sequences.h',
'x64_thunk_emitter.cc',
'x64_thunk_emitter.h',
'x64_tracers.cc',
'x64_tracers.h',
],
'conditions': [
['OS == "mac" or OS == "linux"', {
'sources': [
'x64_code_cache_posix.cc',
],
}],
['OS == "win"', {
'sources': [
'x64_code_cache_win.cc',
],
}],
],
}

View File

@@ -13,6 +13,7 @@
#include "xenia/cpu/backend/x64/x64_backend.h"
#include "xenia/cpu/backend/x64/x64_emitter.h"
#include "xenia/cpu/backend/x64/x64_function.h"
#include "xenia/cpu/cpu-private.h"
#include "xenia/cpu/hir/hir_builder.h"
#include "xenia/cpu/hir/label.h"
#include "xenia/cpu/processor.h"
@@ -81,6 +82,14 @@ bool X64Assembler::Assemble(FunctionInfo* symbol_info, HIRBuilder* builder,
string_buffer_.Reset();
}
// Dump debug data.
//auto fn_data = backend_->processor()->debugger()->
if (FLAGS_disassemble_functions) {
if (debug_info_flags & DebugInfoFlags::kDebugInfoDisasmSource) {
//
}
}
{
X64Function* fn = new X64Function(symbol_info);
fn->set_debug_info(std::move(debug_info));

View File

@@ -15,7 +15,7 @@
#include "xenia/base/arena.h"
#include "xenia/cpu/hir/value.h"
#include "xenia/debug/trace_data.h"
#include "xenia/debug/function_trace_data.h"
namespace xe {
namespace cpu {

View File

@@ -210,8 +210,9 @@ void RegisterAllocationPass::AdvanceUses(Instr* instr) {
if (!usage_set) {
break;
}
std::vector<RegisterUsage> to_add;
auto& upcoming_uses = usage_set->upcoming_uses;
for (auto it = upcoming_uses.begin(); it != upcoming_uses.end();) {
for (auto& it = upcoming_uses.begin(); it != upcoming_uses.end();) {
if (!it->use) {
// No uses at all - we can remove right away.
// This comes up from instructions where the dest is never used,
@@ -243,9 +244,12 @@ void RegisterAllocationPass::AdvanceUses(Instr* instr) {
it = upcoming_uses.erase(it);
assert_true(next_use->instr->block == instr->block);
assert_true(value->def->block == instr->block);
upcoming_uses.emplace_back(value, next_use);
to_add.emplace_back(value, next_use);
}
}
for (auto& use : to_add) {
upcoming_uses.emplace_back(use);
}
}
DumpUsage("AdvanceUses");
}

View File

@@ -1,29 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'constant_propagation_pass.cc',
'constant_propagation_pass.h',
'context_promotion_pass.cc',
'context_promotion_pass.h',
'control_flow_analysis_pass.cc',
'control_flow_analysis_pass.h',
'control_flow_simplification_pass.cc',
'control_flow_simplification_pass.h',
'data_flow_analysis_pass.cc',
'data_flow_analysis_pass.h',
'dead_code_elimination_pass.cc',
'dead_code_elimination_pass.h',
'finalization_pass.cc',
'finalization_pass.h',
#'dead_store_elimination_pass.cc',
#'dead_store_elimination_pass.h',
'register_allocation_pass.cc',
'register_allocation_pass.h',
'simplification_pass.cc',
'simplification_pass.h',
'validation_pass.cc',
'validation_pass.h',
'value_reduction_pass.cc',
'value_reduction_pass.h',
],
}

View File

@@ -1,14 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'compiler.cc',
'compiler.h',
'compiler_pass.cc',
'compiler_pass.h',
'compiler_passes.h',
],
'includes': [
'passes/sources.gypi',
],
}

View File

@@ -21,6 +21,7 @@ DECLARE_bool(dump_module_map);
DECLARE_bool(debug);
DECLARE_bool(always_disasm);
DECLARE_bool(disassemble_functions);
DECLARE_bool(trace_functions);
DECLARE_bool(trace_function_coverage);

View File

@@ -35,6 +35,8 @@ DEFINE_bool(debug, DEFAULT_DEBUG_FLAG,
DEFINE_bool(
always_disasm, false,
"Always add debug info to functions, even when no debugger is attached.");
DEFINE_bool(disassemble_functions, false,
"Disassemble functions during generation.");
DEFINE_bool(trace_functions, false,
"Generate tracing for function statistics.");

View File

@@ -13,7 +13,8 @@
#include <cstddef>
#include <cstdint>
#include "xenia/debug/trace_data.h"
#include "xenia/debug/function_data.h"
#include "xenia/debug/function_trace_data.h"
namespace xe {
namespace cpu {

View File

@@ -134,11 +134,13 @@ bool PPCTranslator::Translate(FunctionInfo* symbol_info,
symbol_info->address(), symbol_info->end_address());
}
uint8_t* trace_data =
frontend_->processor()->debugger()->AllocateTraceFunctionData(
frontend_->processor()->debugger()->AllocateFunctionTraceData(
trace_data_size);
debug_info->trace_data().Reset(trace_data, trace_data_size,
symbol_info->address(),
symbol_info->end_address());
if (trace_data) {
debug_info->trace_data().Reset(trace_data, trace_data_size,
symbol_info->address(),
symbol_info->end_address());
}
}
// Stash source.

View File

@@ -1,32 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'context_info.cc',
'context_info.h',
'ppc_context.cc',
'ppc_context.h',
'ppc_disasm.cc',
'ppc_disasm.h',
'ppc_emit-private.h',
'ppc_emit.h',
'ppc_emit_altivec.cc',
'ppc_emit_alu.cc',
'ppc_emit_control.cc',
'ppc_emit_fpu.cc',
'ppc_emit_memory.cc',
'ppc_frontend.cc',
'ppc_frontend.h',
'ppc_hir_builder.cc',
'ppc_hir_builder.h',
'ppc_instr.cc',
'ppc_instr.h',
'ppc_instr_tables.h',
'ppc_scanner.cc',
'ppc_scanner.h',
'ppc_translator.cc',
'ppc_translator.h',
],
'includes': [
],
}

View File

@@ -1,27 +0,0 @@
# Copyright 2014 Ben Vanik. All Rights Reserved.
{
'targets': [
{
'target_name': 'xe-cpu-ppc-test',
'type': 'executable',
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '1',
},
},
'dependencies': [
'libxenia',
],
'include_dirs': [
'.',
],
'sources': [
'xe-cpu-ppc-test.cc',
],
},
],
}

View File

@@ -0,0 +1,217 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Checked|x64">
<Configuration>Checked</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9B8AC22F-9147-490F-BE03-3B8BA31990A8}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>xecpuppctest</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Debug.props" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Checked.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Release.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\base\main_win.cc" />
<ClCompile Include="xe-cpu-ppc-test.cc" />
</ItemGroup>
<ItemGroup>
<None Include="instr_add.s" />
<None Include="instr_addc.s" />
<None Include="instr_adde.s" />
<None Include="instr_addic.s" />
<None Include="instr_addme.s" />
<None Include="instr_addze.s" />
<None Include="instr_cntlzd.s" />
<None Include="instr_cntlzw.s" />
<None Include="instr_divd.s" />
<None Include="instr_divdu.s" />
<None Include="instr_divw.s" />
<None Include="instr_divwu.s" />
<None Include="instr_eqv.s" />
<None Include="instr_fabs.s" />
<None Include="instr_fsel.s" />
<None Include="instr_lvexx.s" />
<None Include="instr_lvl.s" />
<None Include="instr_lvr.s" />
<None Include="instr_lvsl.s" />
<None Include="instr_lvsr.s" />
<None Include="instr_mulhd.s" />
<None Include="instr_mulhdu.s" />
<None Include="instr_mulhw.s" />
<None Include="instr_mulhwu.s" />
<None Include="instr_mulld.s" />
<None Include="instr_mulli.s" />
<None Include="instr_mullw.s" />
<None Include="instr_neg.s" />
<None Include="instr_nor.s" />
<None Include="instr_ori.s" />
<None Include="instr_rldicl.s" />
<None Include="instr_rldicr.s" />
<None Include="instr_rlwimi.s" />
<None Include="instr_rlwinm.s" />
<None Include="instr_rlwnm.s" />
<None Include="instr_sld.s" />
<None Include="instr_slw.s" />
<None Include="instr_srad.s" />
<None Include="instr_sradi.s" />
<None Include="instr_sraw.s" />
<None Include="instr_srawi.s" />
<None Include="instr_srd.s" />
<None Include="instr_srw.s" />
<None Include="instr_stvew.s" />
<None Include="instr_stvl.s" />
<None Include="instr_stvr.s" />
<None Include="instr_subf.s" />
<None Include="instr_subfc.s" />
<None Include="instr_subfe.s" />
<None Include="instr_subfic.s" />
<None Include="instr_subfme.s" />
<None Include="instr_subfze.s" />
<None Include="instr_vaddshs.s" />
<None Include="instr_vadduhm.s" />
<None Include="instr_vcfsx.s" />
<None Include="instr_vcmpxxfp.s" />
<None Include="instr_vctsxs.s" />
<None Include="instr_vmrghb.s" />
<None Include="instr_vmrghh.s" />
<None Include="instr_vmrghw.s" />
<None Include="instr_vmrglb.s" />
<None Include="instr_vmrglh.s" />
<None Include="instr_vmrglw.s" />
<None Include="instr_vperm.s" />
<None Include="instr_vpermwi128.s" />
<None Include="instr_vpkd3d128.s" />
<None Include="instr_vpkshss.s" />
<None Include="instr_vpkswss.s" />
<None Include="instr_vrfin.s" />
<None Include="instr_vrlimi128.s" />
<None Include="instr_vsel.s" />
<None Include="instr_vslb.s" />
<None Include="instr_vsldoi.s" />
<None Include="instr_vslh.s" />
<None Include="instr_vslw.s" />
<None Include="instr_vspltb.s" />
<None Include="instr_vsplth.s" />
<None Include="instr_vspltisb.s" />
<None Include="instr_vspltish.s" />
<None Include="instr_vspltisw.s" />
<None Include="instr_vspltw.s" />
<None Include="instr_vsubshs.s" />
<None Include="instr_vsubuhm.s" />
<None Include="instr_vupkd3d128.s" />
<None Include="instr_vupkhsh.s" />
<None Include="instr_vupklsh.s" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\base\main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="xe-cpu-ppc-test.cc" />
<ClCompile Include="..\..\..\base\main_win.cc">
<Filter>src\xenia\base</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="instr_vupklsh.s" />
<None Include="instr_add.s" />
<None Include="instr_addc.s" />
<None Include="instr_adde.s" />
<None Include="instr_addic.s" />
<None Include="instr_addme.s" />
<None Include="instr_addze.s" />
<None Include="instr_cntlzd.s" />
<None Include="instr_cntlzw.s" />
<None Include="instr_divd.s" />
<None Include="instr_divdu.s" />
<None Include="instr_divw.s" />
<None Include="instr_divwu.s" />
<None Include="instr_eqv.s" />
<None Include="instr_fabs.s" />
<None Include="instr_fsel.s" />
<None Include="instr_lvexx.s" />
<None Include="instr_lvl.s" />
<None Include="instr_lvr.s" />
<None Include="instr_lvsl.s" />
<None Include="instr_lvsr.s" />
<None Include="instr_mulhd.s" />
<None Include="instr_mulhdu.s" />
<None Include="instr_mulhw.s" />
<None Include="instr_mulhwu.s" />
<None Include="instr_mulld.s" />
<None Include="instr_mulli.s" />
<None Include="instr_mullw.s" />
<None Include="instr_neg.s" />
<None Include="instr_nor.s" />
<None Include="instr_ori.s" />
<None Include="instr_rldicl.s" />
<None Include="instr_rldicr.s" />
<None Include="instr_rlwimi.s" />
<None Include="instr_rlwinm.s" />
<None Include="instr_rlwnm.s" />
<None Include="instr_sld.s" />
<None Include="instr_slw.s" />
<None Include="instr_srad.s" />
<None Include="instr_sradi.s" />
<None Include="instr_sraw.s" />
<None Include="instr_srawi.s" />
<None Include="instr_srd.s" />
<None Include="instr_srw.s" />
<None Include="instr_stvew.s" />
<None Include="instr_stvl.s" />
<None Include="instr_stvr.s" />
<None Include="instr_subf.s" />
<None Include="instr_subfc.s" />
<None Include="instr_subfe.s" />
<None Include="instr_subfic.s" />
<None Include="instr_subfme.s" />
<None Include="instr_subfze.s" />
<None Include="instr_vaddshs.s" />
<None Include="instr_vadduhm.s" />
<None Include="instr_vcfsx.s" />
<None Include="instr_vcmpxxfp.s" />
<None Include="instr_vctsxs.s" />
<None Include="instr_vmrghb.s" />
<None Include="instr_vmrghh.s" />
<None Include="instr_vmrghw.s" />
<None Include="instr_vmrglb.s" />
<None Include="instr_vmrglh.s" />
<None Include="instr_vmrglw.s" />
<None Include="instr_vperm.s" />
<None Include="instr_vpermwi128.s" />
<None Include="instr_vpkd3d128.s" />
<None Include="instr_vpkshss.s" />
<None Include="instr_vpkswss.s" />
<None Include="instr_vrfin.s" />
<None Include="instr_vrlimi128.s" />
<None Include="instr_vsel.s" />
<None Include="instr_vslb.s" />
<None Include="instr_vsldoi.s" />
<None Include="instr_vslh.s" />
<None Include="instr_vslw.s" />
<None Include="instr_vspltb.s" />
<None Include="instr_vsplth.s" />
<None Include="instr_vspltisb.s" />
<None Include="instr_vspltish.s" />
<None Include="instr_vspltisw.s" />
<None Include="instr_vspltw.s" />
<None Include="instr_vsubshs.s" />
<None Include="instr_vsubuhm.s" />
<None Include="instr_vupkd3d128.s" />
<None Include="instr_vupkhsh.s" />
</ItemGroup>
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{3beca96a-ec9a-4570-8873-3de8c124862f}</UniqueIdentifier>
</Filter>
<Filter Include="src\xenia">
<UniqueIdentifier>{eeea8b16-cc79-4e53-80a4-6db3089e6db9}</UniqueIdentifier>
</Filter>
<Filter Include="src\xenia\base">
<UniqueIdentifier>{459f7c23-b556-4300-b16d-8f86063c8e1a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\base\main.h">
<Filter>src\xenia\base</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@@ -1,17 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'block.cc',
'block.h',
'hir_builder.cc',
'hir_builder.h',
'instr.cc',
'instr.h',
'label.h',
'opcodes.cc',
'opcodes.h',
'opcodes.inl',
'value.cc',
'value.h',
],
}

View File

@@ -1,62 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'cpu-private.h',
'cpu.cc',
'cpu.h',
'debug_info.cc',
'debug_info.h',
'entry_table.cc',
'entry_table.h',
'export_resolver.cc',
'export_resolver.h',
'function.cc',
'function.h',
'instrument.cc',
'instrument.h',
'mmio_handler.cc',
'mmio_handler.h',
'module.cc',
'module.h',
'processor.cc',
'processor.h',
'raw_module.cc',
'raw_module.h',
'symbol_info.cc',
'symbol_info.h',
'test_module.cc',
'test_module.h',
'thread_state.cc',
'thread_state.h',
'xex_module.cc',
'xex_module.h',
],
'conditions': [
['OS == "mac" or OS == "linux"', {
'sources': [
],
}],
['OS == "linux"', {
'sources': [
],
}],
['OS == "mac"', {
'sources': [
'mmio_handler_mac.cc',
],
}],
['OS == "win"', {
'sources': [
'mmio_handler_win.cc',
],
}],
],
'includes': [
'backend/sources.gypi',
'compiler/sources.gypi',
'frontend/sources.gypi',
'hir/sources.gypi',
],
}

View File

@@ -1,117 +0,0 @@
# Copyright 2014 Ben Vanik. All Rights Reserved.
{
'targets': [
{
'target_name': 'xe-cpu-sandbox',
'type': 'executable',
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '1'
},
},
'dependencies': [
'libxenia',
],
'include_dirs': [
'.',
],
'sources': [
'xe-cpu-sandbox.cc',
],
},
],
'targets': [
{
'target_name': 'xe-cpu-hir-test',
'type': 'executable',
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '1'
},
},
'dependencies': [
'libxenia',
],
'include_dirs': [
'.',
],
'sources': [
'xe-cpu-hir-test.cc',
'util.h',
#'test_abs.cc',
'test_add.cc',
#'test_add_carry.cc',
#'test_and.cc',
#'test_assign.cc',
#'test_atomic_add.cc',
#'test_atomic_exchange.cc',
#'test_atomic_sub.cc',
#'test_branch.cc',
'test_byte_swap.cc',
#'test_cast.cc',
#'test_cntlz.cc',
#'test_compare.cc',
#'test_compare_exchange.cc',
#'test_convert.cc',
#'test_did_carry.cc',
#'test_div.cc',
#'test_dot_product_3.cc',
#'test_dot_product_4.cc',
'test_extract.cc',
'test_insert.cc',
#'test_is_true_false.cc',
#'test_load_clock.cc',
'test_load_vector_shl_shr.cc',
#'test_log2.cc',
#'test_max.cc',
#'test_min.cc',
#'test_mul.cc',
#'test_mul_add.cc',
#'test_mul_hi.cc',
#'test_mul_sub.cc',
#'test_neg.cc',
#'test_not.cc',
#'test_or.cc',
'test_pack.cc',
'test_permute.cc',
#'test_pow2.cc',
#'test_rotate_left.cc',
#'test_round.cc',
#'test_rsqrt.cc',
#'test_select.cc',
'test_sha.cc',
'test_shl.cc',
'test_shr.cc',
#'test_sign_extend.cc',
#'test_splat.cc',
#'test_sqrt.cc',
#'test_sub.cc',
'test_swizzle.cc',
#'test_truncate.cc',
'test_unpack.cc',
'test_vector_add.cc',
#'test_vector_compare.cc',
#'test_vector_convert.cc',
'test_vector_max.cc',
'test_vector_min.cc',
'test_vector_rotate_left.cc',
'test_vector_sha.cc',
'test_vector_shl.cc',
'test_vector_shr.cc',
#'test_vector_sub.cc',
#'test_xor.cc',
#'test_zero_extend.cc',
],
},
],
}

View File

@@ -0,0 +1,149 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Checked|x64">
<Configuration>Checked</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>xecpuhirtest</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Debug.props" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Checked.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Release.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\base\main_win.cc" />
<ClCompile Include="test_add.cc" />
<ClCompile Include="test_byte_swap.cc" />
<ClCompile Include="test_extract.cc" />
<ClCompile Include="test_insert.cc" />
<ClCompile Include="test_load_vector_shl_shr.cc" />
<ClCompile Include="test_pack.cc" />
<ClCompile Include="test_permute.cc" />
<ClCompile Include="test_sha.cc" />
<ClCompile Include="test_shl.cc" />
<ClCompile Include="test_shr.cc" />
<ClCompile Include="test_swizzle.cc" />
<ClCompile Include="test_unpack.cc" />
<ClCompile Include="test_vector_add.cc" />
<ClCompile Include="test_vector_max.cc" />
<ClCompile Include="test_vector_min.cc" />
<ClCompile Include="test_vector_rotate_left.cc" />
<ClCompile Include="test_vector_sha.cc" />
<ClCompile Include="test_vector_shl.cc" />
<ClCompile Include="test_vector_shr.cc" />
<ClCompile Include="xe-cpu-hir-test.cc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\base\main.h" />
<ClInclude Include="util.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="test_add.cc" />
<ClCompile Include="test_byte_swap.cc" />
<ClCompile Include="test_extract.cc" />
<ClCompile Include="test_insert.cc" />
<ClCompile Include="test_load_vector_shl_shr.cc" />
<ClCompile Include="test_pack.cc" />
<ClCompile Include="test_permute.cc" />
<ClCompile Include="test_sha.cc" />
<ClCompile Include="test_shl.cc" />
<ClCompile Include="test_shr.cc" />
<ClCompile Include="test_swizzle.cc" />
<ClCompile Include="test_unpack.cc" />
<ClCompile Include="test_vector_add.cc" />
<ClCompile Include="test_vector_max.cc" />
<ClCompile Include="test_vector_min.cc" />
<ClCompile Include="test_vector_rotate_left.cc" />
<ClCompile Include="test_vector_sha.cc" />
<ClCompile Include="test_vector_shl.cc" />
<ClCompile Include="test_vector_shr.cc" />
<ClCompile Include="xe-cpu-hir-test.cc" />
<ClCompile Include="..\..\base\main_win.cc">
<Filter>src\xenia\base</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="util.h" />
<ClInclude Include="..\..\base\main.h">
<Filter>src\xenia\base</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{cd58f445-4d2f-452b-a5a0-1dd29a620341}</UniqueIdentifier>
</Filter>
<Filter Include="src\xenia">
<UniqueIdentifier>{a43f8164-d83a-4ff6-83a4-1915664abbf9}</UniqueIdentifier>
</Filter>
<Filter Include="src\xenia\base">
<UniqueIdentifier>{1bdcf344-57a7-4b58-93d6-3e860f50ad1b}</UniqueIdentifier>
</Filter>
</ItemGroup>
</Project>