summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/builder.h
diff options
context:
space:
mode:
authorDave Allison <dallison@google.com>2014-06-16 20:44:29 -0700
committerDave Allison <dallison@google.com>2014-06-24 09:05:27 -0700
commit20dfc797dc631bf8d655dcf123f46f13332d3074 (patch)
treec1d4e4f919d54f39a6d39d9d769ed5a844afb22b /compiler/optimizing/builder.h
parentcbb0e809c0a4e8a4e8b7f5d3768a1864cfb381bb (diff)
downloadart-20dfc797dc631bf8d655dcf123f46f13332d3074.tar.gz
art-20dfc797dc631bf8d655dcf123f46f13332d3074.tar.bz2
art-20dfc797dc631bf8d655dcf123f46f13332d3074.zip
Add some more instruction support to optimizing compiler.
This adds a few more DEX instructions to the optimizing compiler's builder (constants, moves, if_xx, etc). Also: * Changes the codegen for IF_XX instructions to use a condition rather than comparing a value against 0. * Fixes some instructions in the ARM disassembler. * Fixes PushList and PopList in the thumb2 assembler. * Switches the assembler for the optimizing compiler to thumb2 rather than ARM. Change-Id: Iaafcd02243ccc5b03a054ef7a15285b84c06740f
Diffstat (limited to 'compiler/optimizing/builder.h')
-rw-r--r--compiler/optimizing/builder.h14
1 files changed, 6 insertions, 8 deletions
diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h
index 108514a632..0852a26c55 100644
--- a/compiler/optimizing/builder.h
+++ b/compiler/optimizing/builder.h
@@ -22,17 +22,11 @@
#include "primitive.h"
#include "utils/allocation.h"
#include "utils/growable_array.h"
+#include "nodes.h"
namespace art {
-class ArenaAllocator;
class Instruction;
-class HBasicBlock;
-class HGraph;
-class HIntConstant;
-class HLongConstant;
-class HInstruction;
-class HLocal;
class HGraphBuilder : public ValueObject {
public:
@@ -90,7 +84,11 @@ class HGraphBuilder : public ValueObject {
template<typename T>
void Binop_22s(const Instruction& instruction, bool reverse);
- template<typename T> void If_22t(const Instruction& instruction, int32_t dex_offset, bool is_not);
+ template<typename T>
+ void If_22t(const Instruction& instruction, int32_t dex_offset);
+
+ template<typename T>
+ void If_21t(const Instruction& instruction, int32_t dex_offset);
void BuildReturn(const Instruction& instruction, Primitive::Type type);