summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/builder.cc
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2014-02-19 17:30:16 +0000
committerNicolas Geoffray <ngeoffray@google.com>2014-02-19 17:30:16 +0000
commit1af0c0b88a956813eb0ad282664cedc391e2938f (patch)
tree22c31a72dc2d0c711056b4d4b1388a64de103261 /compiler/optimizing/builder.cc
parent68a5fefa90f03fdf5a238ac85c9439c6b03eae96 (diff)
downloadart-1af0c0b88a956813eb0ad282664cedc391e2938f.zip
art-1af0c0b88a956813eb0ad282664cedc391e2938f.tar.gz
art-1af0c0b88a956813eb0ad282664cedc391e2938f.tar.bz2
Revert "Initial check-in of an optimizing compiler."
g++ warnings turned into errors. This reverts commit 68a5fefa90f03fdf5a238ac85c9439c6b03eae96. Change-Id: I09bb95d9cc13764ca8a266c41af04801a34b9fd0
Diffstat (limited to 'compiler/optimizing/builder.cc')
-rw-r--r--compiler/optimizing/builder.cc64
1 files changed, 0 insertions, 64 deletions
diff --git a/compiler/optimizing/builder.cc b/compiler/optimizing/builder.cc
deleted file mode 100644
index 2c1091c..0000000
--- a/compiler/optimizing/builder.cc
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- *
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "dex_instruction.h"
-#include "builder.h"
-#include "nodes.h"
-
-namespace art {
-
-HGraph* HGraphBuilder::BuildGraph(const uint16_t* code_ptr, const uint16_t* code_end) {
- graph_ = new (arena_) HGraph(arena_);
-
- entry_block_ = new (arena_) HBasicBlock(graph_);
- graph_->AddBlock(entry_block_);
-
- exit_block_ = new (arena_) HBasicBlock(graph_);
- // The exit block is added at the end of this method to ensure
- // its id is the greatest. This is needed for dominator computation.
-
- entry_block_->AddInstruction(new (arena_) HGoto(entry_block_));
-
- current_block_ = new (arena_) HBasicBlock(graph_);
- graph_->AddBlock(current_block_);
- entry_block_->AddSuccessor(current_block_);
-
- while (code_ptr < code_end) {
- const Instruction& instruction = *Instruction::At(code_ptr);
- if (!AnalyzeDexInstruction(instruction)) return nullptr;
- code_ptr += instruction.SizeInCodeUnits();
- }
-
- exit_block_->AddInstruction(new (arena_) HExit(exit_block_));
- graph_->AddBlock(exit_block_);
- return graph_;
-}
-
-bool HGraphBuilder::AnalyzeDexInstruction(const Instruction& instruction) {
- switch (instruction.Opcode()) {
- case Instruction::RETURN_VOID:
- current_block_->AddInstruction(new (arena_) HReturnVoid(current_block_));
- current_block_->AddSuccessor(exit_block_);
- current_block_ = nullptr;
- break;
- default:
- return false;
- }
- return true;
-}
-
-} // namespace art