From 20dfc797dc631bf8d655dcf123f46f13332d3074 Mon Sep 17 00:00:00 2001 From: Dave Allison Date: Mon, 16 Jun 2014 20:44:29 -0700 Subject: 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 --- compiler/optimizing/builder.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'compiler/optimizing/builder.h') 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 void Binop_22s(const Instruction& instruction, bool reverse); - template void If_22t(const Instruction& instruction, int32_t dex_offset, bool is_not); + template + void If_22t(const Instruction& instruction, int32_t dex_offset); + + template + void If_21t(const Instruction& instruction, int32_t dex_offset); void BuildReturn(const Instruction& instruction, Primitive::Type type); -- cgit v1.2.3