public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/36931]  New: unneeded temporary
@ 2008-07-25 10:34 jv244 at cam dot ac dot uk
  2008-07-25 13:05 ` [Bug fortran/36931] " tkoenig at gcc dot gnu dot org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: jv244 at cam dot ac dot uk @ 2008-07-25 10:34 UTC (permalink / raw)
  To: gcc-bugs

-Warray-temporaries indicates a temporary here:

MODULE M1
CONTAINS
  SUBROUTINE S1()
     REAL :: a(3),b(3,3),c(3)
     a=MATMUL(b,c)/2
  END SUBROUTINE S1
END MODULE M1

but it could be avoided as in:

MODULE M1
CONTAINS
  SUBROUTINE S1()
     REAL :: a(3),b(3,3),c(3)
     a=MATMUL(b,c)
     a=a/2
  END SUBROUTINE S1
END MODULE M1


-- 
           Summary: unneeded temporary
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jv244 at cam dot ac dot uk


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug fortran/36931] unneeded temporary
  2008-07-25 10:34 [Bug fortran/36931] New: unneeded temporary jv244 at cam dot ac dot uk
@ 2008-07-25 13:05 ` tkoenig at gcc dot gnu dot org
  2008-07-28  9:52 ` [Bug fortran/36931] unneeded temporary for array intrinsic binop scalar tkoenig at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2008-07-25 13:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from tkoenig at gcc dot gnu dot org  2008-07-25 13:04 -------
Confirmed.

I knew I was opening a can of worms with that option :-)


-- 

tkoenig at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tkoenig at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2008-07-25 13:04:23
               date|                            |


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug fortran/36931] unneeded temporary for array intrinsic binop scalar
  2008-07-25 10:34 [Bug fortran/36931] New: unneeded temporary jv244 at cam dot ac dot uk
  2008-07-25 13:05 ` [Bug fortran/36931] " tkoenig at gcc dot gnu dot org
@ 2008-07-28  9:52 ` tkoenig at gcc dot gnu dot org
  2008-08-17  0:06 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2008-07-28  9:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from tkoenig at gcc dot gnu dot org  2008-07-28 09:52 -------
Another test case:

$ cat foo.f90
program main
  real, dimension(2,2) :: a
  real, dimension(2) :: b
  call random_number(a)
  b = sum(a,dim=1) + 0.4
end program main
$ gfortran -Warray-temporaries foo.f90
foo.f90:5.6:

  b = sum(a,dim=1) + 0.4
     1
Warning: Creating array temporary at (1)


-- 

tkoenig at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|unneeded temporary          |unneeded temporary for array
                   |                            |intrinsic binop scalar


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug fortran/36931] unneeded temporary for array intrinsic binop scalar
  2008-07-25 10:34 [Bug fortran/36931] New: unneeded temporary jv244 at cam dot ac dot uk
  2008-07-25 13:05 ` [Bug fortran/36931] " tkoenig at gcc dot gnu dot org
  2008-07-28  9:52 ` [Bug fortran/36931] unneeded temporary for array intrinsic binop scalar tkoenig at gcc dot gnu dot org
@ 2008-08-17  0:06 ` pinskia at gcc dot gnu dot org
  2010-05-09 20:32 ` dfranke at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-08-17  0:06 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug fortran/36931] unneeded temporary for array intrinsic binop scalar
  2008-07-25 10:34 [Bug fortran/36931] New: unneeded temporary jv244 at cam dot ac dot uk
                   ` (2 preceding siblings ...)
  2008-08-17  0:06 ` pinskia at gcc dot gnu dot org
@ 2010-05-09 20:32 ` dfranke at gcc dot gnu dot org
  2010-09-02 19:33 ` tkoenig at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2010-05-09 20:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from dfranke at gcc dot gnu dot org  2010-05-09 20:32 -------
Both testcases, the original report as well as comment #2 still produce
temporaries with gcc version 4.6.0 20100509 (experimental) (GCC).


-- 

dfranke at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2008-07-25 13:04:23         |2010-05-09 20:32:32
               date|                            |


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug fortran/36931] unneeded temporary for array intrinsic binop scalar
  2008-07-25 10:34 [Bug fortran/36931] New: unneeded temporary jv244 at cam dot ac dot uk
                   ` (3 preceding siblings ...)
  2010-05-09 20:32 ` dfranke at gcc dot gnu dot org
@ 2010-09-02 19:33 ` tkoenig at gcc dot gnu dot org
  2010-09-06 21:40 ` tkoenig at gcc dot gnu dot org
  2010-09-07 22:52 ` tkoenig at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2010-09-02 19:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from tkoenig at gcc dot gnu dot org  2010-09-02 19:33 -------
Working on it.


-- 

tkoenig at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |tkoenig at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2010-05-09 20:32:32         |2010-09-02 19:33:43
               date|                            |


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug fortran/36931] unneeded temporary for array intrinsic binop scalar
  2008-07-25 10:34 [Bug fortran/36931] New: unneeded temporary jv244 at cam dot ac dot uk
                   ` (4 preceding siblings ...)
  2010-09-02 19:33 ` tkoenig at gcc dot gnu dot org
@ 2010-09-06 21:40 ` tkoenig at gcc dot gnu dot org
  2010-09-07 22:52 ` tkoenig at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2010-09-06 21:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from tkoenig at gcc dot gnu dot org  2010-09-06 21:40 -------
Subject: Bug 36931

Author: tkoenig
Date: Mon Sep  6 21:40:15 2010
New Revision: 163934

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

        PR fortran/36931
        * frontend-passes.c (optimize_binop_array_assignment):  New
        function.
        (optimize_assignment):  Call it.

2010-09-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/36931
        * gfortran.dg/dependency_35.f90:  New test.


Added:
    trunk/gcc/testsuite/gfortran.dg/dependency_35.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/frontend-passes.c
    trunk/gcc/testsuite/ChangeLog


-- 


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug fortran/36931] unneeded temporary for array intrinsic binop scalar
  2008-07-25 10:34 [Bug fortran/36931] New: unneeded temporary jv244 at cam dot ac dot uk
                   ` (5 preceding siblings ...)
  2010-09-06 21:40 ` tkoenig at gcc dot gnu dot org
@ 2010-09-07 22:52 ` tkoenig at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2010-09-07 22:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from tkoenig at gcc dot gnu dot org  2010-09-07 22:52 -------
Fixed, closing.


-- 

tkoenig at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-09-07 22:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-25 10:34 [Bug fortran/36931] New: unneeded temporary jv244 at cam dot ac dot uk
2008-07-25 13:05 ` [Bug fortran/36931] " tkoenig at gcc dot gnu dot org
2008-07-28  9:52 ` [Bug fortran/36931] unneeded temporary for array intrinsic binop scalar tkoenig at gcc dot gnu dot org
2008-08-17  0:06 ` pinskia at gcc dot gnu dot org
2010-05-09 20:32 ` dfranke at gcc dot gnu dot org
2010-09-02 19:33 ` tkoenig at gcc dot gnu dot org
2010-09-06 21:40 ` tkoenig at gcc dot gnu dot org
2010-09-07 22:52 ` tkoenig at gcc dot gnu dot org

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).