[Bug middle-end/23169] Fortran INTENT information not used in the middle-end for optimizations
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
--- 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
--- 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
--- 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