summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/nodes.cc
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2014-02-28 10:23:58 +0000
committerNicolas Geoffray <ngeoffray@google.com>2014-03-04 16:19:11 +0000
commitd4dd255db1d110ceb5551f6d95ff31fb57420994 (patch)
tree93c9dfff8d16f2b9675c35477cc4bcd8ea3f630c /compiler/optimizing/nodes.cc
parentb565506a63e75dac4a8bb9dd54dabf5259e5b95f (diff)
downloadart-d4dd255db1d110ceb5551f6d95ff31fb57420994.zip
art-d4dd255db1d110ceb5551f6d95ff31fb57420994.tar.gz
art-d4dd255db1d110ceb5551f6d95ff31fb57420994.tar.bz2
Add codegen support to the optimizing compiler.
Change-Id: I9aae76908ff1d6e64fb71a6718fc1426b67a5c28
Diffstat (limited to 'compiler/optimizing/nodes.cc')
-rw-r--r--compiler/optimizing/nodes.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/optimizing/nodes.cc b/compiler/optimizing/nodes.cc
index 9ec8e89..aefb089 100644
--- a/compiler/optimizing/nodes.cc
+++ b/compiler/optimizing/nodes.cc
@@ -26,7 +26,7 @@ void HGraph::AddBlock(HBasicBlock* block) {
void HGraph::FindBackEdges(ArenaBitVector* visited) const {
ArenaBitVector visiting(arena_, blocks_.Size(), false);
- VisitBlockForBackEdges(GetEntryBlock(), visited, &visiting);
+ VisitBlockForBackEdges(entry_block_, visited, &visiting);
}
void HGraph::RemoveDeadBlocks(const ArenaBitVector& visited) const {
@@ -75,10 +75,9 @@ void HGraph::BuildDominatorTree() {
// have been processed.
GrowableArray<size_t> visits(arena_, blocks_.Size());
visits.SetSize(blocks_.Size());
- HBasicBlock* entry = GetEntryBlock();
- dominator_order_.Add(entry);
- for (size_t i = 0; i < entry->successors()->Size(); i++) {
- VisitBlockForDominatorTree(entry->successors()->Get(i), entry, &visits);
+ dominator_order_.Add(entry_block_);
+ for (size_t i = 0; i < entry_block_->successors()->Size(); i++) {
+ VisitBlockForDominatorTree(entry_block_->successors()->Get(i), entry_block_, &visits);
}
}
@@ -122,6 +121,7 @@ void HGraph::VisitBlockForDominatorTree(HBasicBlock* block,
}
void HBasicBlock::AddInstruction(HInstruction* instruction) {
+ instruction->set_block(this);
if (first_instruction_ == nullptr) {
DCHECK(last_instruction_ == nullptr);
first_instruction_ = last_instruction_ = instruction;