diff options
author | diederik | 2002-12-02 12:11:18 +0000 |
---|---|---|
committer | diederik | 2002-12-02 12:11:18 +0000 |
commit | 1db040095994c3b15a09cec2a84e2ebc62d647fe (patch) | |
tree | 5b262974cc24f9ffbcbfe70767fb3787425500f3 | |
parent | remove // before some function type definitions (diff) |
improve speed when not fusing
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1296 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-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) |