OSDN Git Service

2010-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 21 Mar 2011 07:14:42 +0000 (07:14 +0000)
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 21 Mar 2011 07:14:42 +0000 (07:14 +0000)
commitbf48f16eb14421836824728e013cfd83b0649784
treee7fa9989715e0c8733622fdf2e9e11eb709cdcb1
parent84769dee8c16e8a5624f01b7e9555520b947d66c
2010-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/22572
* gfortran.h (gfc_option_t) : Add
flag_aggressive_function_elimination.
(gfc_dep_compare_functions):  Add prototype.
* lang.opt: Add faggressive-function-elimination.
* invoke.texi: Document -faggressive-function-elimination.
* frontend_passes (expr_array):  New static variable.
(expr_size):  Likewise.
(expr_count):  Likewise.
(current_code):  Likewise.
(current_ns):  Likewise.
(gfc_run_passes):  Allocate and free space for expressions.
(cfe_register_funcs):  New function.
(create_var):  New function.
(cfc_expr_0):  New function.
(cfe_code):  New function.
(optimize_namespace):  Invoke gfc_code_walker with cfe_code
and cfe_expr_0.
* dependency.c (gfc_dep_compare_functions):  New function.
(gfc_dep_compare_expr):  Use it.
* options.c (gfc_init_options):  Handle
flag_aggressive_function_elimination.
(gfc_handle_option):  Likewise.

2010-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/22572
* gfortran.dg/function_optimize_1.f90:  New test.
* gfortran.dg/function_optimize_2.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171207 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/dependency.c
gcc/fortran/frontend-passes.c
gcc/fortran/gfortran.h
gcc/fortran/invoke.texi
gcc/fortran/lang.opt
gcc/fortran/options.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/function_optimize_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/function_optimize_2.f90 [new file with mode: 0644]