aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/arm/hipe_arm_ra_ls.erl
diff options
context:
space:
mode:
authorMagnus Lång <[email protected]>2016-03-17 21:48:55 +0100
committerMagnus Lång <[email protected]>2016-08-30 17:17:59 +0200
commitc7a0cd1b5710178878d9b240f634e9eda7e68d96 (patch)
treeb287178ec0495d089857287df7e78b1ca119422c /lib/hipe/arm/hipe_arm_ra_ls.erl
parentdc4e9384c6f2f733ab0d12727ab53238bda3fbca (diff)
downloadotp-c7a0cd1b5710178878d9b240f634e9eda7e68d96.tar.gz
otp-c7a0cd1b5710178878d9b240f634e9eda7e68d96.tar.bz2
otp-c7a0cd1b5710178878d9b240f634e9eda7e68d96.zip
hipe: Reuse liveness info for spillmin
For x86, additionally reuse liveness from float LSRA for the GP LSRA.
Diffstat (limited to 'lib/hipe/arm/hipe_arm_ra_ls.erl')
-rw-r--r--lib/hipe/arm/hipe_arm_ra_ls.erl4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/hipe/arm/hipe_arm_ra_ls.erl b/lib/hipe/arm/hipe_arm_ra_ls.erl
index d9a360d00c..7891403fc3 100644
--- a/lib/hipe/arm/hipe_arm_ra_ls.erl
+++ b/lib/hipe/arm/hipe_arm_ra_ls.erl
@@ -31,7 +31,7 @@ ra(Defun, SpillIndex, Options) ->
alloc(Defun, SpillIndex, SpillLimit, Options) ->
CFG = hipe_arm_cfg:init(Defun),
- {Coloring, _NewSpillIndex} =
+ {Coloring, _NewSpillIndex, Liveness} =
regalloc(
CFG,
hipe_arm_registers:allocatable_gpr()--
@@ -46,7 +46,7 @@ alloc(Defun, SpillIndex, SpillLimit, Options) ->
Defun, Coloring, 'linearscan'),
TempMap = hipe_temp_map:cols2tuple(Coloring, hipe_arm_specific),
{SpillMap, _NewSpillIndex2} =
- hipe_spillmin:stackalloc(CFG, [], SpillIndex, Options,
+ hipe_spillmin:stackalloc(CFG, Liveness, [], SpillIndex, Options,
hipe_arm_specific, TempMap),
Coloring2 =
hipe_spillmin:mapmerge(hipe_temp_map:to_substlist(TempMap), SpillMap),