OSDN Git Service

64-bit temp register support.
authorbuzbee <buzbee@google.com>
Tue, 13 May 2014 22:59:07 +0000 (15:59 -0700)
committerbuzbee <buzbee@google.com>
Wed, 21 May 2014 12:17:24 +0000 (05:17 -0700)
commitb01bf15d18f9b08d77e7a3c6e2897af0e02bf8ca
tree8cafd7692046b4f8c95fb8e6a713755f9eeddeec
parentd3236731ca6145e0723ce8aab8c6ff634ab021c2
64-bit temp register support.

Add a 64-bit temp register allocation path.  The recent physical
register handling rework supports multiple views of the same
physical register (or, such as for Arm's float/double regs,
different parts of the same physical register).

This CL adds a 64-bit core register view for 64-bit targets. In
short, each core register will have a 64-bit name, and a 32-bit
name.  The different views will be kept in separate register pools,
but aliasing will be tracked.  The core temp register allocation
routines will be largely identical - except for 32-bit targets,
which will continue to use pairs of 32-bit core registers for holding
long values.

Change-Id: I8f118e845eac7903ad8b6dcec1952f185023c053
15 files changed:
compiler/dex/frontend.cc
compiler/dex/frontend.h
compiler/dex/quick/arm/codegen_arm.h
compiler/dex/quick/arm/target_arm.cc
compiler/dex/quick/arm64/arm64_lir.h
compiler/dex/quick/arm64/assemble_arm64.cc
compiler/dex/quick/arm64/codegen_arm64.h
compiler/dex/quick/arm64/target_arm64.cc
compiler/dex/quick/codegen_util.cc
compiler/dex/quick/mips/codegen_mips.h
compiler/dex/quick/mips/target_mips.cc
compiler/dex/quick/mir_to_lir.h
compiler/dex/quick/ralloc_util.cc
compiler/dex/quick/x86/codegen_x86.h
compiler/dex/quick/x86/target_x86.cc