public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/51659] New: ICE in function output_move_double
@ 2011-12-23  2:30 carrot at google dot com
  2011-12-23  5:44 ` [Bug target/51659] " carrot at google dot com
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: carrot at google dot com @ 2011-12-23  2:30 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 51659
           Summary: ICE in function output_move_double
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: carrot@google.com
            Target: arm-linux-gnueabi


Created attachment 26168
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26168
test

Compile the attached code and profile data with following command, I got an ICE

/usr/local/google/home/carrot/disk2/armobja/gcc/cc1 -fpreprocessed function.i
-mbionic -quiet -dumpbase function.c -march=armv7-a -mfloat-abi=softfp
-mthumb-interwork -mfpu=vfpv3-d16 -mthumb  -auxbase-strip obj/function.o -O2
-Wno-unused -fpic -fprofile-use -o function.s
src/function.c: In function 'get_func_frame_size':
src/function.c:516:1: internal compiler error: in output_move_double, at
config/arm/arm.c:13933
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


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

* [Bug target/51659] ICE in function output_move_double
  2011-12-23  2:30 [Bug target/51659] New: ICE in function output_move_double carrot at google dot com
@ 2011-12-23  5:44 ` carrot at google dot com
  2012-01-05  7:06 ` carrot at google dot com
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: carrot at google dot com @ 2011-12-23  5:44 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Carrot <carrot at google dot com> 2011-12-23 02:29:49 UTC ---
(gdb) cont
Continuing.

Breakpoint 2, output_move_double (operands=0x19be680, emit=1 '\001', count=0x0)
at ../../../trunk/gcc/config/arm/arm.c:13933
13933          gcc_assert (!emit);
(gdb) print debug_rtx(operands[0])
(reg:DI 2 r2 [orig:139 f_1(D)->x_frame_offset ] [139])
$1 = void
(gdb) print debug_rtx(operands[1])
(reg:SI 3 r3)
$2 = void

(gdb) bt
#0  output_move_double (operands=0x19be680, emit=1 '\001', count=0x0) at
../../../trunk/gcc/config/arm/arm.c:13933
#1  0x0000000000fdb969 in output_642 (operands=0x19be680, insn=0x7ffff643d900)
at ../../../trunk/gcc/config/arm/vfp.md:202
#2  0x000000000079d73b in get_insn_template (code=642, insn=0x7ffff643d900) at
../../../trunk/gcc/final.c:1817
#3  0x000000000079f2ed in final_scan_insn (insn=0x7ffff643d900, file=0x1a451a0,
optimize_p=2, nopeepholes=0, seen=0x7fffffffe208) at
../../../trunk/gcc/final.c:2682
#4  0x000000000079d5d9 in final (first=0x7ffff6ae6940, file=0x1a451a0,
optimize_p=2) at ../../../trunk/gcc/final.c:1786
#5  0x00000000007a2280 in rest_of_handle_final () at
../../../trunk/gcc/final.c:4319
#6  0x0000000000a1f9ae in execute_one_pass (pass=0x1865060) at
../../../trunk/gcc/passes.c:2080
#7  0x0000000000a1fb9c in execute_pass_list (pass=0x1865060) at
../../../trunk/gcc/passes.c:2135
#8  0x0000000000a1fbbd in execute_pass_list (pass=0x1865ea0) at
../../../trunk/gcc/passes.c:2136
#9  0x0000000000a1fbbd in execute_pass_list (pass=0x1865e40) at
../../../trunk/gcc/passes.c:2136
#10 0x0000000000bc3b26 in tree_rest_of_compilation (fndecl=0x7ffff6c44a00) at
../../../trunk/gcc/tree-optimize.c:421
#11 0x0000000000699e81 in cgraph_expand_function (node=0x7ffff6937360) at
../../../trunk/gcc/cgraphunit.c:1818
#12 0x000000000069a04c in cgraph_expand_all_functions () at
../../../trunk/gcc/cgraphunit.c:1885
#13 0x000000000069ab8d in cgraph_optimize () at
../../../trunk/gcc/cgraphunit.c:2198
#14 0x0000000000697bce in cgraph_finalize_compilation_unit () at
../../../trunk/gcc/cgraphunit.c:1327
#15 0x00000000004c8b3c in c_write_global_declarations () at
../../../trunk/gcc/c-decl.c:10026
#16 0x0000000000b11a52 in compile_file () at ../../../trunk/gcc/toplev.c:573
#17 0x0000000000b13c8b in do_compile () at ../../../trunk/gcc/toplev.c:1935
#18 0x0000000000b13e02 in toplev_main (argc=20, argv=0x7fffffffe658) at
../../../trunk/gcc/toplev.c:2011
#19 0x00000000005c9d90 in main (argc=20, argv=0x7fffffffe658) at
../../../trunk/gcc/main.c:36
(gdb) f 3
#3  0x000000000079f2ed in final_scan_insn (insn=0x7ffff643d900, file=0x1a451a0,
optimize_p=2, nopeepholes=0, seen=0x7fffffffe208) at
../../../trunk/gcc/final.c:2682
2682        templ = get_insn_template (insn_code_number, insn);
(gdb) print debug_rtx(insn)
(insn:TI 6 3 7 2 (set (reg:DI 2 r2 [orig:139 f_1(D)->x_frame_offset ] [139])
        (mem/s:DI (plus:SI (reg:SI 0 r0 [ f ])
                (const_int 152 [0x98])) [6 f_1(D)->x_frame_offset+0 S8 A64]))
src/function.c:512 642 {*movdi_vfp_cortexa8}
     (expr_list:REG_DEAD (reg:SI 0 r0 [ f ])
        (nil)))
$3 = void

Apparently operands[1] doesn't match the actual operand (MEM ...) in the insn.


(gdb) print recog_data.operand
$6 = {0x7ffff5ff7100, 0x7ffff5ff77a0, 0xabababababababab <repeats 28 times>}
(gdb) print recog_data.operand[0]
$7 = (rtx) 0x7ffff5ff7100
(gdb) print recog_data.operand[1]
$8 = (rtx) 0x7ffff5ff77a0
(gdb) print debug_rtx(recog_data.operand[0])
(reg:DI 2 r2 [orig:139 f_1(D)->x_frame_offset ] [139])
$9 = void
(gdb) print debug_rtx(recog_data.operand[1])
(reg:SI 3 r3)

For some unknown reason, recog_data.operand[1] is corrupted.


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

* [Bug target/51659] ICE in function output_move_double
  2011-12-23  2:30 [Bug target/51659] New: ICE in function output_move_double carrot at google dot com
  2011-12-23  5:44 ` [Bug target/51659] " carrot at google dot com
@ 2012-01-05  7:06 ` carrot at google dot com
  2012-01-09  9:18 ` doko at gcc dot gnu.org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: carrot at google dot com @ 2012-01-05  7:06 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Carrot <carrot at google dot com> 2012-01-05 07:06:22 UTC ---
It can be reproduced with following simple code 


struct function
{
  int pops_args;
  long long x_frame_offset;
};

long long get_func_frame_size (struct function *f)
{
  return -f->x_frame_offset;
}


Command line options are: -march=armv7-a -mfloat-abi=softfp -mthumb -Os

Arm mode and O2/O3 also show this ICE.


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

* [Bug target/51659] ICE in function output_move_double
  2011-12-23  2:30 [Bug target/51659] New: ICE in function output_move_double carrot at google dot com
  2011-12-23  5:44 ` [Bug target/51659] " carrot at google dot com
  2012-01-05  7:06 ` carrot at google dot com
@ 2012-01-09  9:18 ` doko at gcc dot gnu.org
  2012-01-09  9:19 ` doko at gcc dot gnu.org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: doko at gcc dot gnu.org @ 2012-01-09  9:18 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Matthias Klose <doko at gcc dot gnu.org> 2012-01-09 09:18:14 UTC ---
Created attachment 26277
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26277
preprocessed source


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

* [Bug target/51659] ICE in function output_move_double
  2011-12-23  2:30 [Bug target/51659] New: ICE in function output_move_double carrot at google dot com
                   ` (2 preceding siblings ...)
  2012-01-09  9:18 ` doko at gcc dot gnu.org
@ 2012-01-09  9:19 ` doko at gcc dot gnu.org
  2012-01-11 12:20 ` [Bug target/51659] [4.7 regression] " ramana at gcc dot gnu.org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: doko at gcc dot gnu.org @ 2012-01-09  9:19 UTC (permalink / raw)
  To: gcc-bugs

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

Matthias Klose <doko at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |doko at gcc dot gnu.org

--- Comment #3 from Matthias Klose <doko at gcc dot gnu.org> 2012-01-09 09:17:44 UTC ---
seen with hard float as well

g++ -c -g -O2 --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16
--with-mode=thumb output.ii
In file included from ../../gold/compressed_output.h:33:0,
                 from ../../gold/compressed_output.cc:31:
../../gold/output.h: In member function 'virtual bool
gold::Output_section::do_is_section_flag_set(elfcpp::Elf_Xword) const':
../../gold/output.h:3640:40: internal compiler error: in output_move_double, at
config/arm/arm.c:13933
Please submit a full bug report,
with preprocessed source if appropriate.


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

* [Bug target/51659] [4.7 regression] ICE in function output_move_double
  2011-12-23  2:30 [Bug target/51659] New: ICE in function output_move_double carrot at google dot com
                   ` (3 preceding siblings ...)
  2012-01-09  9:19 ` doko at gcc dot gnu.org
@ 2012-01-11 12:20 ` ramana at gcc dot gnu.org
  2012-01-19 13:50 ` rguenth at gcc dot gnu.org
  2012-01-20 20:11 ` jakub at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: ramana at gcc dot gnu.org @ 2012-01-11 12:20 UTC (permalink / raw)
  To: gcc-bugs

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

Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
      Known to work|                            |4.6.0
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|                            |2012-01-11
                 CC|                            |ramana at gcc dot gnu.org
     Ever Confirmed|0                           |1
            Summary|ICE in function             |[4.7 regression] ICE in
                   |output_move_double          |function output_move_double
      Known to fail|                            |4.7.0


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

* [Bug target/51659] [4.7 regression] ICE in function output_move_double
  2011-12-23  2:30 [Bug target/51659] New: ICE in function output_move_double carrot at google dot com
                   ` (4 preceding siblings ...)
  2012-01-11 12:20 ` [Bug target/51659] [4.7 regression] " ramana at gcc dot gnu.org
@ 2012-01-19 13:50 ` rguenth at gcc dot gnu.org
  2012-01-20 20:11 ` jakub at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-01-19 13:50 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.7.0


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

* [Bug target/51659] [4.7 regression] ICE in function output_move_double
  2011-12-23  2:30 [Bug target/51659] New: ICE in function output_move_double carrot at google dot com
                   ` (5 preceding siblings ...)
  2012-01-19 13:50 ` rguenth at gcc dot gnu.org
@ 2012-01-20 20:11 ` jakub at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-20 20:11 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |jakub at gcc dot gnu.org
         Resolution|                            |DUPLICATE

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-20 20:08:39 UTC ---
Dup of PR51915.

*** This bug has been marked as a duplicate of bug 51915 ***


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

end of thread, other threads:[~2012-01-20 20:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-23  2:30 [Bug target/51659] New: ICE in function output_move_double carrot at google dot com
2011-12-23  5:44 ` [Bug target/51659] " carrot at google dot com
2012-01-05  7:06 ` carrot at google dot com
2012-01-09  9:18 ` doko at gcc dot gnu.org
2012-01-09  9:19 ` doko at gcc dot gnu.org
2012-01-11 12:20 ` [Bug target/51659] [4.7 regression] " ramana at gcc dot gnu.org
2012-01-19 13:50 ` rguenth at gcc dot gnu.org
2012-01-20 20:11 ` jakub 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).