diff options
Diffstat (limited to 'lib/compiler/src/beam_ssa_alias.erl')
-rw-r--r-- | lib/compiler/src/beam_ssa_alias.erl | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/compiler/src/beam_ssa_alias.erl b/lib/compiler/src/beam_ssa_alias.erl new file mode 100644 index 0000000000..1fc73c1828 --- /dev/null +++ b/lib/compiler/src/beam_ssa_alias.erl @@ -0,0 +1,45 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2023. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%% +%% %CopyrightEnd% +%% +%% + +-module(beam_ssa_alias). + +-export([opt/2]). + +-include("beam_ssa_opt.hrl"). + +%% -define(DEBUG, true). + +-ifdef(DEBUG). +-define(DP(FMT, ARGS), io:format(FMT, ARGS)). +-define(DP(FMT), io:format(FMT)). +-else. +-define(DP(FMT, ARGS), skip). +-define(DP(FMT), skip). +-endif. + +%%% +%%% Optimization pass which calculates the alias status of values and +%%% uses the results to transform the code. +%%% +-spec opt(st_map(), func_info_db()) -> {st_map(), func_info_db()}. + +opt(StMap0, FuncDb0) -> + {StMap0, FuncDb0}. |