diff options
author | 2014-05-13 15:59:07 -0700 | |
---|---|---|
committer | 2014-05-21 05:17:24 -0700 | |
commit | b01bf15d18f9b08d77e7a3c6e2897af0e02bf8ca (patch) | |
tree | 8cafd7692046b4f8c95fb8e6a713755f9eeddeec /compiler/dex/frontend.cc | |
parent | d3236731ca6145e0723ce8aab8c6ff634ab021c2 (diff) |
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
Diffstat (limited to 'compiler/dex/frontend.cc')
-rw-r--r-- | compiler/dex/frontend.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/dex/frontend.cc b/compiler/dex/frontend.cc index 3bc060ba27..77b5057538 100644 --- a/compiler/dex/frontend.cc +++ b/compiler/dex/frontend.cc @@ -75,6 +75,7 @@ static uint32_t kCompilerDebugFlags = 0 | // Enable debug/testing modes // (1 << kDebugShowSummaryMemoryUsage) | // (1 << kDebugShowFilterStats) | // (1 << kDebugTimings) | + // (1 << kDebugCodegenDump) | 0; CompilationUnit::CompilationUnit(ArenaPool* pool) @@ -852,6 +853,10 @@ static CompiledMethod* CompileMethod(CompilerDriver& driver, } } + if (cu.verbose) { + cu.enable_debug |= (1 << kDebugCodegenDump); + } + /* * TODO: rework handling of optimization and debug flags. Should we split out * MIR and backend flags? Need command-line setting as well. @@ -877,6 +882,7 @@ static CompiledMethod* CompileMethod(CompilerDriver& driver, if (cu.instruction_set == kArm64) { // TODO(Arm64): enable optimizations once backend is mature enough. cu.disable_opt = ~(uint32_t)0; + cu.enable_debug |= (1 << kDebugCodegenDump); } cu.StartTimingSplit("BuildMIRGraph"); |