public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ipa/61750] New: Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE
@ 2014-07-08 15:32 dominiq at lps dot ens.fr
  2014-07-08 15:39 ` [Bug ipa/61750] " rguenth at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: dominiq at lps dot ens.fr @ 2014-07-08 15:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61750

            Bug ID: 61750
           Summary: Compiling gfortran.dg/where_operator_assign_2.f90 with
                    -O3 -fwhole-program gives an ICE
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dominiq at lps dot ens.fr

Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program
gives an ICE for 4.9 and 4.10 configured with the default --enable-checking. 

[Book15] f90/bug% gfc
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90 -O3
-fwhole-program
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90: In
function 'test':
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
 program test
 ^
VIEW_CONVERT_EXPR<unsigned char>(pretmp_322);

_330 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_322);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_30);

_328 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_30);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_666);

_326 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_666);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_147);

_325 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_147);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_322);

_323 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_322);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_30);

_321 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_30);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_666);

_319 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_666);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_147);

_307 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_147);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_322);

_303 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_322);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_30);

_286 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_30);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_666);

_285 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_666);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_147);

_281 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_147);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_322);

_256 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_322);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_30);

_251 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_30);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_666);

_250 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_666);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
error: conversion of register to a different size
VIEW_CONVERT_EXPR<unsigned char>(pretmp_147);

_242 = VIEW_CONVERT_EXPR<unsigned char>(pretmp_147);
/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
internal compiler error: verify_gimple failed

/opt/gcc/work/gcc/testsuite/gfortran.dg/where_operator_assign_2.f90:44:0:
internal compiler error: Abort trap: 6
gfc: internal compiler error: Abort trap: 6 (program f951)
Abort

The errors and ICE go away if gcc is configured with --enable-checking=release
or when compiling with -O2 -ftree-vectorize -fwhole-program.


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

* [Bug ipa/61750] Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE
  2014-07-08 15:32 [Bug ipa/61750] New: Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE dominiq at lps dot ens.fr
@ 2014-07-08 15:39 ` rguenth at gcc dot gnu.org
  2014-11-20 13:32 ` dominiq at lps dot ens.fr
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-07-08 15:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61750

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2014-07-08
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I will have a look.


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

* [Bug ipa/61750] Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE
  2014-07-08 15:32 [Bug ipa/61750] New: Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE dominiq at lps dot ens.fr
  2014-07-08 15:39 ` [Bug ipa/61750] " rguenth at gcc dot gnu.org
@ 2014-11-20 13:32 ` dominiq at lps dot ens.fr
  2014-11-20 13:39 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: dominiq at lps dot ens.fr @ 2014-11-20 13:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61750

--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
This seems to have been fixed between r215009 and r215013: r215012?


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

* [Bug ipa/61750] Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE
  2014-07-08 15:32 [Bug ipa/61750] New: Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE dominiq at lps dot ens.fr
  2014-07-08 15:39 ` [Bug ipa/61750] " rguenth at gcc dot gnu.org
  2014-11-20 13:32 ` dominiq at lps dot ens.fr
@ 2014-11-20 13:39 ` rguenth at gcc dot gnu.org
  2014-11-21  8:28 ` [Bug tree-optimization/61750] " rguenth at gcc dot gnu.org
  2014-11-21  8:28 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-11-20 13:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61750

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |5.0
      Known to fail|                            |4.9.2

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Index: gcc/tree-ssa-forwprop.c
===================================================================
--- gcc/tree-ssa-forwprop.c     (revision 217764)
+++ gcc/tree-ssa-forwprop.c     (working copy)
@@ -3178,7 +3178,9 @@ simplify_vce (gimple_stmt_iterator *gsi)
          && (INTEGRAL_TYPE_P (TREE_TYPE (def_op))
              || POINTER_TYPE_P (TREE_TYPE (def_op)))
          && (TYPE_PRECISION (TREE_TYPE (op))
-             == TYPE_PRECISION (TREE_TYPE (def_op))))
+             == TYPE_PRECISION (TREE_TYPE (def_op)))
+         && (TYPE_SIZE (TREE_TYPE (op))
+             == TYPE_SIZE (TREE_TYPE (def_op))))
        {
          TREE_OPERAND (gimple_assign_rhs1 (stmt), 0) = def_op;
          update_stmt (stmt);

fixes it, went in via the match-and-simplify merge to trunk.


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

* [Bug tree-optimization/61750] Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE
  2014-07-08 15:32 [Bug ipa/61750] New: Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE dominiq at lps dot ens.fr
                   ` (2 preceding siblings ...)
  2014-11-20 13:39 ` rguenth at gcc dot gnu.org
@ 2014-11-21  8:28 ` rguenth at gcc dot gnu.org
  2014-11-21  8:28 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-11-21  8:28 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61750

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Fri Nov 21 08:27:39 2014
New Revision: 217906

URL: https://gcc.gnu.org/viewcvs?rev=217906&root=gcc&view=rev
Log:
2014-11-21  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/61750
    * tree-ssa-forwprop.c (simplify_vce): Verify type sizes
    match for the resulting VIEW_CONVERT_EXPR.

Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/tree-ssa-forwprop.c


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

* [Bug tree-optimization/61750] Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE
  2014-07-08 15:32 [Bug ipa/61750] New: Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE dominiq at lps dot ens.fr
                   ` (3 preceding siblings ...)
  2014-11-21  8:28 ` [Bug tree-optimization/61750] " rguenth at gcc dot gnu.org
@ 2014-11-21  8:28 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-11-21  8:28 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61750

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
          Component|ipa                         |tree-optimization
      Known to work|                            |4.9.3
         Resolution|---                         |FIXED

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.


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

end of thread, other threads:[~2014-11-21  8:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-08 15:32 [Bug ipa/61750] New: Compiling gfortran.dg/where_operator_assign_2.f90 with -O3 -fwhole-program gives an ICE dominiq at lps dot ens.fr
2014-07-08 15:39 ` [Bug ipa/61750] " rguenth at gcc dot gnu.org
2014-11-20 13:32 ` dominiq at lps dot ens.fr
2014-11-20 13:39 ` rguenth at gcc dot gnu.org
2014-11-21  8:28 ` [Bug tree-optimization/61750] " rguenth at gcc dot gnu.org
2014-11-21  8:28 ` rguenth at gcc dot gnu.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).