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

@@ -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',
],
}