summaryrefslogtreecommitdiffstats
path: root/compiler/dex/quick/arm/codegen_arm.h
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2014-11-25 16:32:34 +0000
committerVladimir Marko <vmarko@google.com>2014-12-03 12:27:16 +0000
commita29f698b1754ee0ea2f46b6f5900e0da840dff79 (patch)
treefb4f765eac0495c5422f4bd542f120320e1fa3a4 /compiler/dex/quick/arm/codegen_arm.h
parentbbba809a680fa7ad030da351e92786848d63b9bf (diff)
downloadandroid_art-a29f698b1754ee0ea2f46b6f5900e0da840dff79.tar.gz
android_art-a29f698b1754ee0ea2f46b6f5900e0da840dff79.tar.bz2
android_art-a29f698b1754ee0ea2f46b6f5900e0da840dff79.zip
Implement InexpensiveConstantInt(., opcode) for ARM.
Fix kThumb2{Add,Sub}RRI12 to be used for their full range. Add ORN for completeness. Change-Id: I49a51541fa9ea085d4674b9131d8dd94da5337f3
Diffstat (limited to 'compiler/dex/quick/arm/codegen_arm.h')
-rw-r--r--compiler/dex/quick/arm/codegen_arm.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/compiler/dex/quick/arm/codegen_arm.h b/compiler/dex/quick/arm/codegen_arm.h
index e8d0c32ffd..0bc4c3b7bf 100644
--- a/compiler/dex/quick/arm/codegen_arm.h
+++ b/compiler/dex/quick/arm/codegen_arm.h
@@ -250,10 +250,11 @@ class ArmMir2Lir FINAL : public Mir2Lir {
int EncodeShift(int code, int amount);
int ModifiedImmediate(uint32_t value);
ArmConditionCode ArmConditionEncoding(ConditionCode code);
- bool InexpensiveConstantInt(int32_t value);
- bool InexpensiveConstantFloat(int32_t value);
- bool InexpensiveConstantLong(int64_t value);
- bool InexpensiveConstantDouble(int64_t value);
+ bool InexpensiveConstantInt(int32_t value) OVERRIDE;
+ bool InexpensiveConstantInt(int32_t value, Instruction::Code opcode) OVERRIDE;
+ bool InexpensiveConstantFloat(int32_t value) OVERRIDE;
+ bool InexpensiveConstantLong(int64_t value) OVERRIDE;
+ bool InexpensiveConstantDouble(int64_t value) OVERRIDE;
RegStorage AllocPreservedDouble(int s_reg);
RegStorage AllocPreservedSingle(int s_reg);