aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/main/hipe.erl
diff options
context:
space:
mode:
authorHenrik Nord <[email protected]>2015-06-22 09:57:40 +0200
committerHenrik Nord <[email protected]>2015-06-22 09:57:40 +0200
commit84163010ab5bffb101cb004f8ef853c299c69162 (patch)
treebba7dbadfaba7cb94f8cde6ca3933ce80c970cc2 /lib/hipe/main/hipe.erl
parent2be7b33f26fc950c2f807e1f9fbc19fde83facd0 (diff)
parent95c318bf220451d5e223dbb166e6c9da4c7d067f (diff)
downloadotp-84163010ab5bffb101cb004f8ef853c299c69162.tar.gz
otp-84163010ab5bffb101cb004f8ef853c299c69162.tar.bz2
otp-84163010ab5bffb101cb004f8ef853c299c69162.zip
Merge branch 'kostis/hipe-no-dial-warnings'
* kostis/hipe-no-dial-warnings: Eliminate a dialyzer warning Simplify handling of o2 and o3 option expansion
Diffstat (limited to 'lib/hipe/main/hipe.erl')
-rw-r--r--lib/hipe/main/hipe.erl40
1 files changed, 7 insertions, 33 deletions
diff --git a/lib/hipe/main/hipe.erl b/lib/hipe/main/hipe.erl
index b614f5f1ab..52c1b28ad4 100644
--- a/lib/hipe/main/hipe.erl
+++ b/lib/hipe/main/hipe.erl
@@ -1392,41 +1392,15 @@ o2_opts(TargetArch) ->
spillmin_color, use_indexing, remove_comments,
concurrent_comp, binary_opt | o1_opts(TargetArch)],
case TargetArch of
- ultrasparc ->
- Common;
- powerpc ->
- Common;
- ppc64 ->
- Common;
- arm ->
- Common;
- x86 ->
- Common;
- % [rtl_ssapre | Common];
- amd64 ->
- [icode_range | Common]; % range analysis is effective on 64 bits
- Arch ->
- ?EXIT({executing_on_an_unsupported_architecture,Arch})
- end.
+ T when T =:= amd64 orelse T =:= ppc64 -> % 64-bit targets
+ [icode_range | Common];
+ _ -> % T \in [arm, powerpc, ultrasparc, x86]
+ Common % [rtl_ssapre | Common];
+ end.
o3_opts(TargetArch) ->
- Common = [icode_range, {regalloc,coalescing} | o2_opts(TargetArch)],
- case TargetArch of
- ultrasparc ->
- Common;
- powerpc ->
- Common;
- ppc64 ->
- Common;
- arm ->
- Common;
- x86 ->
- Common;
- amd64 ->
- Common;
- Arch ->
- ?EXIT({executing_on_an_unsupported_architecture,Arch})
- end.
+ %% no point checking for target architecture since this is checked in 'o1'
+ [icode_range, {regalloc,coalescing} | o2_opts(TargetArch)].
%% Note that in general, the normal form for options should be positive.
%% This is a good programming convention, so that tests in the code say