diff options
author | Matteo Franchin <matteo.franchin@arm.com> | 2014-07-04 12:53:27 +0100 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2014-08-04 16:21:18 -0700 |
commit | c763e350da562b0c6bebf10599588d4901140e45 (patch) | |
tree | 292a26d26b4f5c49c6b255dda305772f812fe648 /compiler/dex/quick/arm64/codegen_arm64.h | |
parent | c7975a33b9c8fb36e85c41162462aeec8e76232a (diff) | |
download | art-c763e350da562b0c6bebf10599588d4901140e45.zip art-c763e350da562b0c6bebf10599588d4901140e45.tar.gz art-c763e350da562b0c6bebf10599588d4901140e45.tar.bz2 |
AArch64: Implement InexpensiveConstant methods.
Implement IsInexpensiveConstant and friends for A64.
Also extending the methods to take the opcode with respect to which
the constant is inexpensive. Additionally, logical operations (i.e.
and, or, xor) can now handle the immediates 0 and ~0 (which are not
logical immediates).
Change-Id: I46ce1287703765c5ab54983d13c1b3a1f5838622
Diffstat (limited to 'compiler/dex/quick/arm64/codegen_arm64.h')
-rw-r--r-- | compiler/dex/quick/arm64/codegen_arm64.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/dex/quick/arm64/codegen_arm64.h b/compiler/dex/quick/arm64/codegen_arm64.h index 2c587b8..4680f8f 100644 --- a/compiler/dex/quick/arm64/codegen_arm64.h +++ b/compiler/dex/quick/arm64/codegen_arm64.h @@ -240,6 +240,7 @@ class Arm64Mir2Lir FINAL : public Mir2Lir { void OpRegCopyWide(RegStorage dest, RegStorage src) OVERRIDE; 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; |