aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2015-07-07 15:21:30 +0200
committerBjörn Gustavsson <[email protected]>2015-08-06 06:15:19 +0200
commitb4030b60b58a681b2dea5453fbc36f7f4cc41bd8 (patch)
treed01484a9b20e2b606467a1360c6401d3b3bc75c3 /lib/compiler/src
parent5b9d3387bac102ee3a8114e2b3316abd86d2e1fb (diff)
downloadotp-b4030b60b58a681b2dea5453fbc36f7f4cc41bd8.tar.gz
otp-b4030b60b58a681b2dea5453fbc36f7f4cc41bd8.tar.bz2
otp-b4030b60b58a681b2dea5453fbc36f7f4cc41bd8.zip
Teach the compiler the 'da' and 'dz' options
Add the 'da' option to create a list after the beam_a pass. Seeing how the code looks after beam_a, but before the blocks have been established, is sometimes useful. For symmetry, add the 'dz' option, even though it is just a synonym for 'S'.
Diffstat (limited to 'lib/compiler/src')
-rw-r--r--lib/compiler/src/compile.erl2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/compiler/src/compile.erl b/lib/compiler/src/compile.erl
index e0a29fe9b1..cf79fdc9f9 100644
--- a/lib/compiler/src/compile.erl
+++ b/lib/compiler/src/compile.erl
@@ -671,6 +671,7 @@ asm_passes() ->
%% Assembly level optimisations.
[{delay,
[{pass,beam_a},
+ {iff,da,{listing,"a"}},
{unless,no_postopt,
[{pass,beam_block},
{iff,dblk,{listing,"block"}},
@@ -703,6 +704,7 @@ asm_passes() ->
{iff,no_postopt,[{pass,beam_clean}]},
{pass,beam_z},
+ {iff,dz,{listing,"z"}},
{iff,dopt,{listing,"optimize"}},
{iff,'S',{listing,"S"}},
{iff,'to_asm',{done,"S"}}]},