summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/ssa_liveness_analysis.h
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2015-03-05 11:28:58 +0000
committerNicolas Geoffray <ngeoffray@google.com>2015-03-06 11:37:33 +0000
commitb4ba354cf8d22b261205494875cc014f18587b50 (patch)
treeb6ce1e89f56f4d5adf238188df5b02fd7e2c23ac /compiler/optimizing/ssa_liveness_analysis.h
parentaf8db2ea18135588b267fe9a0b2f7af734b906cc (diff)
downloadart-b4ba354cf8d22b261205494875cc014f18587b50.tar.gz
art-b4ba354cf8d22b261205494875cc014f18587b50.tar.bz2
art-b4ba354cf8d22b261205494875cc014f18587b50.zip
[optimizing] Enable x86 long support.
Change-Id: I9006972a65a1f191c45691104a960366747f9d16
Diffstat (limited to 'compiler/optimizing/ssa_liveness_analysis.h')
-rw-r--r--compiler/optimizing/ssa_liveness_analysis.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/optimizing/ssa_liveness_analysis.h b/compiler/optimizing/ssa_liveness_analysis.h
index 9ff2f205d8..5787f0cc4e 100644
--- a/compiler/optimizing/ssa_liveness_analysis.h
+++ b/compiler/optimizing/ssa_liveness_analysis.h
@@ -373,13 +373,17 @@ class LiveInterval : public ArenaObject<kArenaAllocMisc> {
if (location.IsUnallocated()) {
if ((location.GetPolicy() == Location::kRequiresRegister)
|| (location.GetPolicy() == Location::kSameAsFirstInput
- && locations->InAt(0).GetPolicy() == Location::kRequiresRegister)) {
+ && (locations->InAt(0).IsRegister()
+ || locations->InAt(0).IsRegisterPair()
+ || locations->InAt(0).GetPolicy() == Location::kRequiresRegister))) {
return position;
} else if ((location.GetPolicy() == Location::kRequiresFpuRegister)
|| (location.GetPolicy() == Location::kSameAsFirstInput
&& locations->InAt(0).GetPolicy() == Location::kRequiresFpuRegister)) {
return position;
}
+ } else if (location.IsRegister() || location.IsRegisterPair()) {
+ return position;
}
}