OSDN Git Service

AArch64: Implement InexpensiveConstant methods.
authorMatteo Franchin <matteo.franchin@arm.com>
Fri, 4 Jul 2014 11:53:27 +0000 (12:53 +0100)
committerAndreas Gampe <agampe@google.com>
Mon, 4 Aug 2014 23:21:18 +0000 (16:21 -0700)
commitc763e350da562b0c6bebf10599588d4901140e45
tree292a26d26b4f5c49c6b255dda305772f812fe648
parentc7975a33b9c8fb36e85c41162462aeec8e76232a
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
compiler/dex/quick/arm64/codegen_arm64.h
compiler/dex/quick/arm64/int_arm64.cc
compiler/dex/quick/arm64/utility_arm64.cc
compiler/dex/quick/gen_common.cc
compiler/dex/quick/mir_to_lir.cc
compiler/dex/quick/mir_to_lir.h
compiler/dex/quick/ralloc_util.cc