public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis
Date: Sun, 06 Jan 2008 10:35:00 -0000	[thread overview]
Message-ID: <20080106100759.10602.qmail@sourceware.org> (raw)
In-Reply-To: <bug-34683-14773@http.gcc.gnu.org/bugzilla/>



------- Comment #7 from rguenth at gcc dot gnu dot org  2008-01-06 10:07 -------
Note that this shouldn't really be affected by strict aliasing or not.  Note
that the FE generated IL causes the first alias pass to emit too conservative
alias info as well:

  # VUSE <MPT.5965_208230>
  D.6049_4652 = atmp.1110.data;
  D.6050_4653 = (complex(kind=4)[0:] *) D.6049_4652;
  D.6051_4654 = S.1113_289 + D.3340_4634;
  # VUSE <SFT.......>
  D.6052_4655 = (*D.6050_4653)[D.6051_4654];

I suppose the atmp.1110.data type is something like (void *), so the
cast is required.  But this really pessimizes the middle-end IL and
it looks like the FE knows it will be complex(kind=4)[4] at the point
of creation.  Note fixing this will also improve optimization and thus
runtime performance.

I also see the FE creates lots of array temporaries:

  struct array2_complex(kind=4) atmp.1093;
  complex(kind=4) A.1094[4];
  struct array2_complex(kind=4) atmp.1095;
  complex(kind=4) A.1096[4];
  struct array2_complex(kind=4) atmp.1100;
  complex(kind=4) A.1101[4];
  struct array2_complex(kind=4) atmp.1102;
  complex(kind=4) A.1103[4];
  struct array2_complex(kind=4) atmp.1106;
  complex(kind=4) A.1107[4];
  real(kind=4) D.3326;
...

instead of re-using a single one.  This also causes internal representation
to blow up.

So, to sum up, the situation could be significantly improved by improving
the FE.  (Like I noticed for I/O statements, where I provided a patch -
that was not accepted - to share temporary variables created for the I/O
context)

As we already have bugs for the middle-end partitioning problems, I make
this one a Fortran FE bug instead.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|                            |33974
          Component|tree-optimization           |fortran
            Summary|compile-time problem with - |Fortran FE generated IL
                   |fstrict-aliasing            |pessimizes middle-end IL and
                   |                            |analysis


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34683


  parent reply	other threads:[~2008-01-06 10:08 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-05 23:51 [Bug tree-optimization/34683] New: compile-time problem with -fstrict-aliasing jaydub66 at gmail dot com
2008-01-06  0:37 ` [Bug tree-optimization/34683] " jaydub66 at gmail dot com
2008-01-06  0:55 ` pinskia at gcc dot gnu dot org
2008-01-06  6:47 ` jaydub66 at gmail dot com
2008-01-06  8:08 ` jaydub66 at gmail dot com
2008-01-06  9:09 ` jvdelisle at gcc dot gnu dot org
2008-01-06 10:08 ` rguenth at gcc dot gnu dot org
2008-01-06 10:35 ` rguenth at gcc dot gnu dot org [this message]
2008-01-06 11:10 ` [Bug fortran/34683] Fortran FE generated IL pessimizes middle-end IL and analysis burnus at gcc dot gnu dot org
2008-01-06 11:14 ` rguenth at gcc dot gnu dot org
2008-01-06 11:46 ` rguenth at gcc dot gnu dot org
2008-01-06 12:02 ` rguenth at gcc dot gnu dot org
2008-01-06 12:02 ` rguenth at gcc dot gnu dot org
2008-01-06 12:08 ` rguenth at gcc dot gnu dot org
2008-01-06 12:19 ` rguenth at gcc dot gnu dot org
2008-01-06 12:30 ` rguenth at gcc dot gnu dot org
2008-01-06 22:15 ` jaydub66 at gmail dot com
2008-01-06 22:24 ` rguenther at suse dot de
2008-01-06 22:24 ` [Bug middle-end/34683] [4.3 Regression] " pinskia at gcc dot gnu dot org
2008-01-07 14:05 ` [Bug tree-optimization/34683] " rguenth at gcc dot gnu dot org
2008-01-07 15:00 ` rguenth at gcc dot gnu dot org
2008-01-07 15:20 ` rguenth at gcc dot gnu dot org
2008-01-07 16:18 ` rguenth at gcc dot gnu dot org
2008-01-07 16:41 ` rguenth at gcc dot gnu dot org
2008-01-07 17:28 ` rguenth at gcc dot gnu dot org
2008-01-08 10:18 ` rguenth at gcc dot gnu dot org
2008-01-08 10:27 ` rguenth at gcc dot gnu dot org
2008-01-08 12:18 ` rguenth at gcc dot gnu dot org
2008-01-08 12:22 ` rguenth at gcc dot gnu dot org
2008-01-08 12:31 ` steven at gcc dot gnu dot org
2008-01-08 12:41 ` steven at gcc dot gnu dot org
2008-01-08 12:57 ` rguenth at gcc dot gnu dot org
2008-01-08 13:02 ` rguenth at gcc dot gnu dot org
2008-01-08 13:56 ` steven at gcc dot gnu dot org
2008-01-08 16:50 ` rguenth at gcc dot gnu dot org
2008-01-08 21:36 ` rguenth at gcc dot gnu dot org
2008-01-09  1:09 ` steven at gcc dot gnu dot org
2008-01-09 10:32 ` rguenther at suse dot de
2008-01-09 10:32 ` jaydub66 at gmail dot com
2008-01-09 10:35 ` [Bug tree-optimization/34683] [4.3 Regression] SSA rewriting in the loop unroller causes quadratic behavior steven at gcc dot gnu dot org
2008-01-10 15:05 ` rguenth at gcc dot gnu dot org
2008-01-10 15:29 ` rguenth at gcc dot gnu dot org
2008-01-10 16:00 ` rguenth at gcc dot gnu dot org
2008-01-10 17:57 ` rguenth at gcc dot gnu dot org
2008-01-10 18:05 ` rguenth at gcc dot gnu dot org
2008-01-10 18:08 ` [Bug tree-optimization/34683] " rguenth at gcc dot gnu dot org
2008-01-10 18:24 ` steven at gcc dot gnu dot org
2008-01-10 22:19 ` jaydub66 at gmail dot com
2008-01-10 23:45 ` steven at gcc dot gnu dot org
2008-01-11 13:58 ` rguenth at gcc dot gnu dot org
2008-01-12  8:39 ` rakdver at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080106100759.10602.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).