Commit bab10edd authored by John van Groningen's avatar John van Groningen
Browse files

optimise && and ||

parent bfd13f1e
......@@ -98,8 +98,9 @@ instance sequence Expression where
= sequence let_strict_binds
o` sequence let_lazy_binds
o` sequence let_expr
sequence (Conditional {if_then, if_else})
= sequence if_then
sequence (Conditional {if_cond, if_then, if_else})
= sequence if_cond
o` sequence if_then
o` sequence if_else
sequence (App {app_args})
= sequence app_args
......@@ -152,9 +153,10 @@ instance sequence LetBind where
// MW0 = sequence` app bind_dst
= sequence` app lb_dst
where
// MW0 sequence` {app_symb, app_args} bind_dst sequenceState=:{ss_aliasDummyId}
// MW0 sequence` {app_symb, app_args} bind_dst sequenceState=:{ss_aliasDummyId}
sequence` {app_symb, app_args} lb_dst sequenceState=:{ss_aliasDummyId}
| app_symb.symb_name==ss_aliasDummyId
| not (isNilPtr app_symb.symb_name.id_info) // nilPtr's are generated for Case's with case_ident=No in convertcases
&& app_symb.symb_name==ss_aliasDummyId
// the compiled source was a strict alias like "#! x = y"
= case hd app_args of
Var bound_var=:{var_info_ptr}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment