diff options
-rw-r--r-- | frontend/frontend.icl | 9 | ||||
-rw-r--r-- | frontend/trans.icl | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/frontend/frontend.icl b/frontend/frontend.icl index 9982011..bd7d111 100644 --- a/frontend/frontend.icl +++ b/frontend/frontend.icl @@ -211,9 +211,12 @@ frontEndInterface options mod_ident search_paths cached_dcl_modules functions_an exported_functions main_dcl_module_n def_min def_max predef_symbols var_heap expression_heap error_admin _ - # (fun_defs,predef_symbols,var_heap,expression_heap,error_admin) - = stripStrictLets fun_defs predef_symbols var_heap expression_heap error_admin - -> (components, fun_defs, predef_symbols, var_heap, expression_heap, error_admin) + -> case options.feo_fusion of + True + # (fun_defs,predef_symbols,var_heap,expression_heap,error_admin) + = stripStrictLets fun_defs predef_symbols var_heap expression_heap error_admin + -> (components, fun_defs, predef_symbols, var_heap, expression_heap, error_admin) + _ -> (components, fun_defs, predef_symbols, var_heap, expression_heap, error_admin) # error = error_admin.ea_file | not error_admin.ea_ok diff --git a/frontend/trans.icl b/frontend/trans.icl index e74f996..4f7add3 100644 --- a/frontend/trans.icl +++ b/frontend/trans.icl @@ -3192,6 +3192,10 @@ where # ti = foldSt (transform_function common_defs imported_funs) group_members ti // partitionate group: need to know added functions for this... # (after,ti) = ti!ti_next_fun_nr + + | not (compile_with_fusion || after > before) + = (inc group_nr,[{group_members=group_members}:acc_groups],ti) + # (new_groups,ti) = partition_group group_nr (group_members++[before..after-1]) ti // reanalyse consumers # (cleanup,ti_fun_defs,ti_var_heap,ti_symbol_heap,ti_fun_heap,ti_cons_args,same) |