Bug 36854 - [meta-bug] fortran front-end optimization
Summary: [meta-bug] fortran front-end optimization
Status: NEW
Alias: None
Product: gcc
Classification: Unclassified
Component: fortran (show other bugs)
Version: 4.4.0
: P3 enhancement
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: meta-bug
Depends on: 25714 30409 30609 36842 38111 38318 38592 45057 45396 45596 48543 48997 52473 55100 55839 55858 57262 64962 66182 66576 67202 69815 85531 92087 22572 24524 29550 30677 33341 34145 34706 36841 36915 36928 36931 36932 36933 36935 37131 38112 38114 38115 38181 38965 39280 41113 41117 42831 43072 43829 44235 44773 45159 45676 47266 47713 54238 57992 65819 66385 82471 82568
Blocks:
  Show dependency treegraph
 
Reported: 2008-07-16 17:14 UTC by Thomas Koenig
Modified: 2020-06-21 17:18 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2008-08-11 00:53:48


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Koenig 2008-07-16 17:14:08 UTC
This is just a collector of optimizations that the
front end could do before generating tree codes.
Comment 1 Andrew Pinski 2008-08-11 00:53:48 UTC
Confirmed.
Comment 2 Daniel Franke 2009-01-04 00:40:45 UTC
Among the unneeded temporaries, the array constructor (e.g. PR33341) is the most annoying, i.e. the most often reported, one.
Comment 3 Joost VandeVondele 2009-06-12 05:48:28 UTC
I would like to ping this PR... progress here seems valuable, and typical stage 1 stuff.
Comment 4 Joost VandeVondele 2009-08-19 10:14:15 UTC
more useless temps...the last two added eat quite a few percent of performance in CP2K. 

This really is an issue where frontend people need to step in to improve the performance of gfortran.
Comment 5 Thomas Koenig 2010-08-02 16:54:11 UTC
Subject: Bug 36854

Author: tkoenig
Date: Mon Aug  2 16:53:51 2010
New Revision: 162824

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=162824
Log:
2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36854
	* dependency.h:  Add prototype for gfc_are_identical_variables.
	* frontend-passes.c:  Include depencency.h.
	(optimimize_equality):  Use gfc_are_identical_variables.
	* dependency.c (identical_array_ref): New function.
	(gfc_are_identical_variables):  New function.
	(gfc_deb_compare_expr):  Use gfc_are_identical_variables.
	* dependency.c (gfc_check_section_vs_section).  Rename gfc_
	prefix from statc function.
	(check_section_vs_section): Change arguments to gfc_array_ref,
	adjust function body accordingly.

2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36854
	* gfortran.dg/character_comparison_2.f90:  New test.
	* gfortran.dg/character_comparison_3.f90:  New test.
	* gfortran.dg/dependency_28.f90:  New test.


Added:
    trunk/gcc/testsuite/gfortran.dg/character_comparison_2.f90
    trunk/gcc/testsuite/gfortran.dg/character_comparison_3.f90
    trunk/gcc/testsuite/gfortran.dg/dependency_28.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/dependency.c
    trunk/gcc/fortran/dependency.h
    trunk/gcc/fortran/frontend-passes.c
    trunk/gcc/testsuite/ChangeLog