public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug regression/52020] New: ICE in immed_double_const, at emit-rtl.c:544
@ 2012-01-27 14:59 Greta.Yorsh at arm dot com
  2012-01-27 15:54 ` [Bug regression/52020] " matz at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Greta.Yorsh at arm dot com @ 2012-01-27 14:59 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 52020
           Summary: ICE in immed_double_const, at emit-rtl.c:544
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: regression
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: Greta.Yorsh@arm.com
                CC: matz@suse.de, ramana@gcc.gnu.org
            Target: arm-none-eabi


Regression PASS->FAIL: gcc.target/arm/pr48183.c (internal compiler error) on
arm-none-eabi. 

Revision that introduced the problem: r183566, patch described here:
http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01387.html

./cc1 -quiet
/work/local-checkouts/main/gcc-fsf/gcc/testsuite/gcc.target/arm/pr48183.c -O 
-o /work/tmp/pr48183.s -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=neon -iprefix
/work/builds/a15-jan/install/lib/gcc/arm-none-eabi/4.7.0/ -g

/work/local-checkouts/main/gcc-fsf/gcc/testsuite/gcc.target/arm/pr48183.c: In
function 'move_16bit_to_32bit':
/work/local-checkouts/main/gcc-fsf/gcc/testsuite/gcc.target/arm/pr48183.c:10:6:
internal compiler error: in immed_double_const, at emit-rtl.c:544

(gdb) info stack
#0  fancy_abort (file=0xe15150
"/work/local-checkouts/main/gcc-fsf/gcc/emit-rtl.c", line=544,
function=0xe15ff0 "immed_double_const") at
/work/local-checkouts/main/gcc-fsf/gcc/diagnostic.c:898
#1  0x0000000000648f5c in immed_double_const (i0=0, i1=<value optimised out>,
mode=OImode) at /work/local-checkouts/main/gcc-fsf/gcc/emit-rtl.c:544
#2  0x000000000066d8cb in expand_expr_real_1 (exp=0x7ffff70d8fa0, target=0x0,
tmode=<value optimised out>, modifier=<value optimised out>, alt_rtl=0x0) at
/work/local-checkouts/main/gcc-fsf/gcc/expr.c:9118
#3  0x00000000005aa46d in expand_expr (exp=0x7ffff70d8fa0) at
/work/local-checkouts/main/gcc-fsf/gcc/expr.h:442
#4  expand_debug_expr (exp=0x7ffff70d8fa0) at
/work/local-checkouts/main/gcc-fsf/gcc/cfgexpand.c:2699
#5  0x00000000005b13ca in expand_debug_locations () at
/work/local-checkouts/main/gcc-fsf/gcc/cfgexpand.c:3668
#6  gimple_expand_cfg () at
/work/local-checkouts/main/gcc-fsf/gcc/cfgexpand.c:4528
#7  0x00000000007f0d29 in execute_one_pass (pass=0x130aa80) at
/work/local-checkouts/main/gcc-fsf/gcc/passes.c:2081
#8  0x00000000007f1095 in execute_pass_list (pass=0x130aa80) at
/work/local-checkouts/main/gcc-fsf/gcc/passes.c:2136
#9  0x0000000000907238 in tree_rest_of_compilation (fndecl=0x7ffff6c59100) at
/work/local-checkouts/main/gcc-fsf/gcc/tree-optimize.c:420
#10 0x00000000005cec5a in cgraph_expand_function (node=0x7ffff6c565a0) at
/work/local-checkouts/main/gcc-fsf/gcc/cgraphunit.c:1819
#11 0x00000000005d249a in cgraph_expand_all_functions () at
/work/local-checkouts/main/gcc-fsf/gcc/cgraphunit.c:1886
#12 cgraph_optimize () at
/work/local-checkouts/main/gcc-fsf/gcc/cgraphunit.c:2200
#13 0x00000000005d29f5 in cgraph_finalize_compilation_unit () at
/work/local-checkouts/main/gcc-fsf/gcc/cgraphunit.c:1328
#14 0x00000000004aca88 in c_write_global_declarations () at
/work/local-checkouts/main/gcc-fsf/gcc/c-decl.c:10030
#15 0x0000000000896f87 in compile_file () at
/work/local-checkouts/main/gcc-fsf/gcc/toplev.c:573
#16 do_compile () at /work/local-checkouts/main/gcc-fsf/gcc/toplev.c:1938
#17 0x0000000000897664 in toplev_main (argc=16, argv=0x7fffffffe348) at
/work/local-checkouts/main/gcc-fsf/gcc/toplev.c:2014
#18 0x00007ffff7874c4d in __libc_start_main () from /lib/libc.so.6
#19 0x000000000049a7a9 in _start ()


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

* [Bug regression/52020] ICE in immed_double_const, at emit-rtl.c:544
  2012-01-27 14:59 [Bug regression/52020] New: ICE in immed_double_const, at emit-rtl.c:544 Greta.Yorsh at arm dot com
@ 2012-01-27 15:54 ` matz at gcc dot gnu.org
  2012-01-27 16:08 ` rguenth at gcc dot gnu.org
  2012-01-27 16:21 ` rguenth at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: matz at gcc dot gnu.org @ 2012-01-27 15:54 UTC (permalink / raw)
  To: gcc-bugs

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

Michael Matz <matz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-01-27
                 CC|                            |matz at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
     Ever Confirmed|0                           |1

--- Comment #1 from Michael Matz <matz at gcc dot gnu.org> 2012-01-27 15:28:18 UTC ---
Will be fixed when Richi commits his patch from
  http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01465.html

The problem is, that SRA transforms the "bu = CLOBBER" into bu.__o=0,
where the zero is of an OImode type.  This later is transformed into
a debug instruction (still using that large-type zero), and that zero can't
be transformed into RTL because OImode constants are too large to be held in
2*HOST_WIDE_INT .

SRA should not invent new constants that weren't there before.  It could
just as well generate new clobber statements (SSA names in LHS are allowed
there), if it really must scalarize the clobber statements.


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

* [Bug regression/52020] ICE in immed_double_const, at emit-rtl.c:544
  2012-01-27 14:59 [Bug regression/52020] New: ICE in immed_double_const, at emit-rtl.c:544 Greta.Yorsh at arm dot com
  2012-01-27 15:54 ` [Bug regression/52020] " matz at gcc dot gnu.org
@ 2012-01-27 16:08 ` rguenth at gcc dot gnu.org
  2012-01-27 16:21 ` rguenth at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-01-27 16:08 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-01-27 15:50:57 UTC ---
Fixed.


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

* [Bug regression/52020] ICE in immed_double_const, at emit-rtl.c:544
  2012-01-27 14:59 [Bug regression/52020] New: ICE in immed_double_const, at emit-rtl.c:544 Greta.Yorsh at arm dot com
  2012-01-27 15:54 ` [Bug regression/52020] " matz at gcc dot gnu.org
  2012-01-27 16:08 ` rguenth at gcc dot gnu.org
@ 2012-01-27 16:21 ` rguenth at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-01-27 16:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-01-27 15:50:41 UTC ---
Author: rguenth
Date: Fri Jan 27 15:50:32 2012
New Revision: 183633

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183633
Log:
2012-01-27  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/52020
    * tree-sra.c (sra_modify_assign): Do not transform clobbers.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-sra.c


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

end of thread, other threads:[~2012-01-27 15:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-27 14:59 [Bug regression/52020] New: ICE in immed_double_const, at emit-rtl.c:544 Greta.Yorsh at arm dot com
2012-01-27 15:54 ` [Bug regression/52020] " matz at gcc dot gnu.org
2012-01-27 16:08 ` rguenth at gcc dot gnu.org
2012-01-27 16:21 ` 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).