Optimize before lambda lifting
(lambdas are either in dead code or not dead, so dead code elimination won't be affected)
This commit is contained in:
parent
499e2f8200
commit
e645a8d034
@ -151,10 +151,10 @@ ast_to_fcode(Code, Options) ->
|
|||||||
Verbose = lists:member(pp_fcode, Options),
|
Verbose = lists:member(pp_fcode, Options),
|
||||||
FCode1 = to_fcode(init_env(Options), Code),
|
FCode1 = to_fcode(init_env(Options), Code),
|
||||||
[io:format("-- Before lambda lifting --\n~s\n\n", [format_fcode(FCode1)]) || Verbose],
|
[io:format("-- Before lambda lifting --\n~s\n\n", [format_fcode(FCode1)]) || Verbose],
|
||||||
FCode2 = lambda_lift(FCode1),
|
FCode2 = optimize_fcode(FCode1),
|
||||||
[ io:format("-- After lambda lifting --\n~s\n\n", [format_fcode(FCode2)]) || Verbose, FCode2 /= FCode1 ],
|
[ io:format("-- After optimization --\n~s\n\n", [format_fcode(FCode2)]) || Verbose, FCode2 /= FCode1 ],
|
||||||
FCode3 = optimize_fcode(FCode2),
|
FCode3 = lambda_lift(FCode2),
|
||||||
[ io:format("-- After optimization --\n~s\n\n", [format_fcode(FCode3)]) || Verbose, FCode3 /= FCode2 ],
|
[ io:format("-- After lambda lifting --\n~s\n\n", [format_fcode(FCode3)]) || Verbose, FCode3 /= FCode2 ],
|
||||||
FCode3.
|
FCode3.
|
||||||
|
|
||||||
%% -- Environment ------------------------------------------------------------
|
%% -- Environment ------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user