diff options
author | Björn Gustavsson <[email protected]> | 2019-01-29 07:33:51 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2019-01-29 07:33:51 +0100 |
commit | 5a38332a37eecc29a21fa2d83ba0b719f3a721d4 (patch) | |
tree | bba3f0170f4114062de9477519bdc107cf1192e3 /lib/compiler/src/beam_ssa_opt.erl | |
parent | 2b603d86dbc8715eda4efc78294ded0770d2149e (diff) | |
parent | 9528e7a5de22ffa8ce2557e45fb744d2c3548bf5 (diff) | |
download | otp-5a38332a37eecc29a21fa2d83ba0b719f3a721d4.tar.gz otp-5a38332a37eecc29a21fa2d83ba0b719f3a721d4.tar.bz2 otp-5a38332a37eecc29a21fa2d83ba0b719f3a721d4.zip |
Merge pull request #2111 from bjorng/bjorn/compiler/not-problem/ERL-840
Fix problems compiling Scalaris
Diffstat (limited to 'lib/compiler/src/beam_ssa_opt.erl')
-rw-r--r-- | lib/compiler/src/beam_ssa_opt.erl | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/compiler/src/beam_ssa_opt.erl b/lib/compiler/src/beam_ssa_opt.erl index 2c898ba6f8..f99993522a 100644 --- a/lib/compiler/src/beam_ssa_opt.erl +++ b/lib/compiler/src/beam_ssa_opt.erl @@ -79,11 +79,9 @@ module(Module, Opts) -> {ok, finish(Module, StMap)}. phase([FuncId | Ids], Ps, StMap, FuncDb0) -> - try - {St, FuncDb} = - compile:run_sub_passes(Ps, {map_get(FuncId, StMap), FuncDb0}), - - phase(Ids, Ps, StMap#{ FuncId => St }, FuncDb) + try compile:run_sub_passes(Ps, {map_get(FuncId, StMap), FuncDb0}) of + {St, FuncDb} -> + phase(Ids, Ps, StMap#{ FuncId => St }, FuncDb) catch Class:Error:Stack -> #b_local{name=Name,arity=Arity} = FuncId, |