From 789c452ee6777386e465ad66fa58084a6d5ccd20 Mon Sep 17 00:00:00 2001 From: Yiannis Tsiouris Date: Sat, 29 Mar 2014 02:38:27 +0200 Subject: [PATCH] Simplify fix_sdescs by removing redundant check --- lib/hipe/llvm/hipe_llvm_main.erl | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/lib/hipe/llvm/hipe_llvm_main.erl b/lib/hipe/llvm/hipe_llvm_main.erl index 936e47aedb15..f068e34680d8 100644 --- a/lib/hipe/llvm/hipe_llvm_main.erl +++ b/lib/hipe/llvm/hipe_llvm_main.erl @@ -427,25 +427,21 @@ find_offsets([{Off,Arity}|Rest], Offsets, Acc) -> [I | RestOffsets] = lists:dropwhile(fun (Y) -> Y SDescs; fix_sdescs([{Offset, Arity} | Rest], SDescs) -> case lists:keyfind(Offset, 2, SDescs) of false -> fix_sdescs(Rest, SDescs); - {?SDESC, Offset, SDesc} -> - {ExnHandler, FrameSize, StkArity, Roots} = SDesc, + {?SDESC, Offset, {ExnHandler, FrameSize, StkArity, Roots}} -> FixedRoots = [X - Arity || X <- tuple_to_list(Roots)], - NewRoots = - case FixedRoots of - [H|_] when H >= 0 -> list_to_tuple(FixedRoots); - _ -> Roots - end, - NewSDesc = - {?SDESC, Offset, {ExnHandler, FrameSize - Arity, StkArity, NewRoots}}, + FixedSDesc = + {?SDESC, Offset, {ExnHandler, FrameSize - Arity, StkArity, FixedRoots}}, RestSDescs = lists:keydelete(Offset, 2, SDescs), - fix_sdescs(Rest, [NewSDesc | RestSDescs]) + fix_sdescs(Rest, [FixedSDesc | RestSDescs]) end.