[Bug middle-end/23169] Fortran INTENT information not used in the middle-end for optimizations

2013-06-25 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23169

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #15 from Dominique d'Humieres dominiq at lps dot ens.fr ---
This PR seems to have been fixed by revision 165559 or earlier. Closing as
FIXED. Please reopen if I am wrong.


[Bug middle-end/23169] Fortran INTENT information not used in the middle-end for optimizations

2010-07-13 Thread steven at gcc dot gnu dot org


--- Comment #13 from steven at gcc dot gnu dot org  2010-07-13 10:37 ---
Still present.


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2009-05-03 13:32:52 |2010-07-13 10:37:16
   date||


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



[Bug middle-end/23169] Fortran INTENT information not used in the middle-end for optimizations

2010-07-13 Thread burnus at gcc dot gnu dot org


--- Comment #14 from burnus at gcc dot gnu dot org  2010-07-13 13:32 ---
(In reply to comment #13)
 Still present.

Well, INTENT(IN), nonclobber, and something more is now supported by the middle
end through the fn spec attribute (space to make sure this attribute stays
internal for now). INTENT(OUT) could be added, but has not so far.

Cf. PR fortran/43665.

See also:
- Call argument flags. in tree.h
- gimple_call_arg_flags in gimple.c
- Initial patch: http://gcc.gnu.org/ml/fortran/2010-05/msg00032.html
- Committal: http://gcc.gnu.org/ml/fortran/2010-05/msg00092.html


-- 


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



[Bug middle-end/23169] Fortran INTENT information not used in the middle-end for optimizations

2009-05-03 Thread fxcoudert at gcc dot gnu dot org


--- Comment #12 from fxcoudert at gcc dot gnu dot org  2009-05-03 13:32 
---
(In reply to comment #11)
 The original testcase in #0 appears to be fixed if compiled with -fwhole-file.
 Andrew's comment #4 appears to be still an issue?!

Here's a full testcase showing the remaining issue:

integer function foo()
  interface
integer function bar(b)
  integer, intent(in) :: b
end function
  end interface

  integer :: b, d, k
  b = 12
  d = b
  k = bar(b)
  foo = d - b
end function


In this code, the return value of function foo should not be computed, because
it's guaranteed to be 0. The missed optimization is still present.

This is something that the middle-end should be taught to honour, so I'm
switching the component to middle-end.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
  Component|fortran |middle-end
   Last reconfirmed|2006-01-08 05:22:43 |2009-05-03 13:32:52
   date||
Summary|INTENT information not used |Fortran INTENT information
   |in the middle-end for   |not used in the middle-end
   |optimizations   |for optimizations


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