aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/ppc/hipe_ppc_ra.erl
diff options
context:
space:
mode:
authorMagnus Lång <[email protected]>2016-09-05 14:55:01 +0200
committerMagnus Lång <[email protected]>2016-09-05 19:17:50 +0200
commitea710644b198f7800f0daf2de0d152cf8e3e9bb3 (patch)
tree46842f5dab3fcdbb4055d11ee55c28506eeac7fc /lib/hipe/ppc/hipe_ppc_ra.erl
parent1039c0196a7e643c63ce71b2c6daa2b78b3aa832 (diff)
downloadotp-ea710644b198f7800f0daf2de0d152cf8e3e9bb3.tar.gz
otp-ea710644b198f7800f0daf2de0d152cf8e3e9bb3.tar.bz2
otp-ea710644b198f7800f0daf2de0d152cf8e3e9bb3.zip
hipe: Refactor ra callbacks to accept context arg
This allows us to pass around the context data that hipe_regalloc_prepass needs cleanly, without using process dictionary or parameterised modules (like it was previous to this change).
Diffstat (limited to 'lib/hipe/ppc/hipe_ppc_ra.erl')
-rw-r--r--lib/hipe/ppc/hipe_ppc_ra.erl8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/hipe/ppc/hipe_ppc_ra.erl b/lib/hipe/ppc/hipe_ppc_ra.erl
index 7c8a11773e..f8614db4ef 100644
--- a/lib/hipe/ppc/hipe_ppc_ra.erl
+++ b/lib/hipe/ppc/hipe_ppc_ra.erl
@@ -27,15 +27,15 @@ ra(CFG0, Options) ->
{CFG1, _FPLiveness1, Coloring_fp, SpillIndex}
= case proplists:get_bool(inline_fp, Options) of
true ->
- FPLiveness0 = hipe_ppc_specific_fp:analyze(CFG0),
+ FPLiveness0 = hipe_ppc_specific_fp:analyze(CFG0, no_context),
hipe_regalloc_loop:ra_fp(CFG0, FPLiveness0, Options,
hipe_coalescing_regalloc,
- hipe_ppc_specific_fp);
+ hipe_ppc_specific_fp, no_context);
false ->
{CFG0,undefined,[],0}
end,
%% hipe_ppc_pp:pp(hipe_ppc_cfg:linearise(CFG1)),
- GPLiveness1 = hipe_ppc_specific:analyze(CFG1),
+ GPLiveness1 = hipe_ppc_specific:analyze(CFG1, no_context),
{CFG2, _GPLiveness2, Coloring}
= case proplists:get_value(regalloc, Options, coalescing) of
coalescing ->
@@ -58,4 +58,4 @@ ra(CFG0, Options) ->
ra(CFG, Liveness, SpillIndex, Options, RegAllocMod) ->
hipe_regalloc_loop:ra(CFG, Liveness, SpillIndex, Options, RegAllocMod,
- hipe_ppc_specific).
+ hipe_ppc_specific, no_context).