[Bug rtl-optimization/44941] [4.6 Regression] ICE: RTL check: expected code 'mem', have 'reg' in emit_block_move_hints, at expr.c:1189
--- Comment #4 from rguenth at gcc dot gnu dot org 2010-07-19 09:51 --- #3 0x0060425e in store_one_arg (arg=0x7fffbc10, argblock=0x77ee0540, flags=0, variable_size=0, reg_parm_stack_space=0) at /space/rguenther/src/svn/trunk/gcc/calls.c:4309 4309 emit_push_insn (arg-value, arg-mode, TREE_TYPE (pval), size_rtx, (gdb) call debug_rtx (arg-value) (reg:SI 61) (gdb) p arg-mode $2 = BLKmode (gdb) call debug_rtx (size_rtx) (const_int 0 [0]) (gdb) call debug_tree (arg-tree_value) mem_ref 0x77ff90a8 type record_type 0x75ae02a0 S type_0 BLK size integer_cst 0x77ed2b18 constant 0 unit size integer_cst 0x77ed2410 constant 0 align 8 symtab 0 alias set -1 canonical type 0x75ae02a0 context translation_unit_decl 0x77efb958 D.1621 pointer_to_this pointer_type 0x75ae0498 chain type_decl 0x77efb8a0 D.1615 arg 0 addr_expr 0x75b43030 type pointer_type 0x77ef6540 type integer_type 0x77ee7498 int unsigned DI size integer_cst 0x77ed27a8 constant 64 unit size integer_cst 0x77ed27d0 constant 8 align 64 symtab 0 alias set -1 canonical type 0x77ef6540 arg 0 parm_decl 0x77edb908 i type integer_type 0x77ee7498 int used SI file pr44941.c line 5 col 15 size integer_cst 0x77ed26e0 constant 32 unit size integer_cst 0x77ed23e8 constant 4 align 32 context function_decl 0x75afb100 foo (reg/v:SI 58 [ i ]) arg-type integer_type 0x77ee7498 int incoming-rtl (reg:SI 5 di [ i ]) pr44941.c:7:21 arg 1 integer_cst 0x75adc668 type pointer_type 0x75ae0498 constant 0 pr44941.c:7:7 I have a patch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44941
[Bug rtl-optimization/44941] [4.6 Regression] ICE: RTL check: expected code 'mem', have 'reg' in emit_block_move_hints, at expr.c:1189
--- Comment #5 from zsojka at seznam dot cz 2010-07-19 13:35 --- Thank you for fixing this. It seems the original ICE (in make_decl_rtl, at varasm.c:1346) is different, so I opened it as PR44988. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44941
[Bug rtl-optimization/44941] [4.6 Regression] ICE: RTL check: expected code 'mem', have 'reg' in emit_block_move_hints, at expr.c:1189
--- Comment #6 from rguenth at gcc dot gnu dot org 2010-07-19 15:40 --- Subject: Bug 44941 Author: rguenth Date: Mon Jul 19 15:39:51 2010 New Revision: 162308 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162308 Log: 2010-07-19 Richard Guenther rguent...@suse.de PR middle-end/44941 * expr.c (emit_block_move_hints): Move zero size check first. Move asserts to more useful places. * calls.c (load_register_parameters): Check for zero size. * gcc.c-torture/compile/pr44941.c: New testcase. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr44941.c Modified: trunk/gcc/ChangeLog trunk/gcc/calls.c trunk/gcc/expr.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44941
[Bug rtl-optimization/44941] [4.6 Regression] ICE: RTL check: expected code 'mem', have 'reg' in emit_block_move_hints, at expr.c:1189
--- Comment #7 from rguenth at gcc dot gnu dot org 2010-07-19 15:40 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44941
[Bug rtl-optimization/44941] [4.6 Regression] ICE: RTL check: expected code 'mem', have 'reg' in emit_block_move_hints, at expr.c:1189
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44941
[Bug rtl-optimization/44941] [4.6 Regression] ICE: RTL check: expected code 'mem', have 'reg' in emit_block_move_hints, at expr.c:1189
--- Comment #2 from hjl dot tools at gmail dot com 2010-07-15 14:38 --- It is caused by revision 161655: http://gcc.gnu.org/ml/gcc-cvs/2010-07/msg6.html -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||rguenth at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-07-15 14:38:02 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44941
[Bug rtl-optimization/44941] [4.6 Regression] ICE: RTL check: expected code 'mem', have 'reg' in emit_block_move_hints, at expr.c:1189
--- Comment #3 from rguenth at gcc dot gnu dot org 2010-07-15 15:47 --- Mine. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2010-07-15 14:38:02 |2010-07-15 15:47:16 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44941
[Bug rtl-optimization/44941] [4.6 Regression] ICE: RTL check: expected code 'mem', have 'reg' in emit_block_move_hints, at expr.c:1189
--- Comment #1 from zsojka at seznam dot cz 2010-07-14 23:25 --- Created an attachment (id=21204) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21204action=view) reduced testcase (from iptraf sources) Command line: $ gcc -O pr44941.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44941