public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/59049] New: Two VOIDmode constant in comparison passed to cstoresi4
@ 2013-11-08 13:16 amylaar at gcc dot gnu.org
  2013-11-08 16:27 ` [Bug middle-end/59049] " amylaar at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: amylaar at gcc dot gnu.org @ 2013-11-08 13:16 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 59049
           Summary: Two VOIDmode constant in comparison passed to
                    cstoresi4
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: amylaar at gcc dot gnu.org

For gcc.c-torture/execute/builtins/strlen-2.c compilation,  -O1, with
target arc-elf, I see an ICE in config/arc/arc.c:gen_compare_reg,
as it has been passed a comparison for two VOIDmode constants:

(ne:SI (const_int 3 [0x3])
     (const_int 3 [0x3]))

We should not generate such comparisons.

[amylaar@rowan gcc]$ ./cc1 -fpreprocessed strlen-2.i -quiet -dumpbase
strlen-2.c -auxbase strlen-2 -O1 -w -version -fno-diagnostics-show-caret
-fdiagnostics-color=never -fno-tree-loop-distribute-patterns -o strlen-2.s
GNU C (GCC) version 4.9.0 20131024 (experimental) (arc-elf)
        compiled by GNU C version 4.8.1 20130603 (Red Hat 4.8.1-1), GMP version
5.1.1, MPFR version 3.1.1, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C (GCC) version 4.9.0 20131024 (experimental) (arc-elf)
        compiled by GNU C version 4.8.1 20130603 (Red Hat 4.8.1-1), GMP version
5.1.1, MPFR version 3.1.1, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: a28c59382a8f5b3c721a450c1591fc5d
/home/amylaar/synopsys/synopsys-gcc-mainline/unisrc-4.8/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-2.c:
In function ‘main_test’:
/home/amylaar/synopsys/synopsys-gcc-mainline/unisrc-4.8/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-2.c:25:1:
internal compiler error: in gen_compare_reg, at config/arc/arc.c:1430
0x899316f gen_compare_reg(rtx_def*, machine_mode)
        ../../gcc/gcc/config/arc/arc.c:1430
0x89cfa80 gen_cstoresi4(rtx_def*, rtx_def*, rtx_def*, rtx_def*)
        ../../gcc/gcc/config/arc/arc.md:3208
0x85c8a6d insn_gen_fn::operator()(rtx_def*, rtx_def*, rtx_def*, rtx_def*) const
        ../../gcc/gcc/recog.h:286
0x85c83b9 maybe_gen_insn(insn_code, unsigned int, expand_operand*)
        ../../gcc/gcc/optabs.c:8217
0x85c8604 maybe_expand_insn(insn_code, unsigned int, expand_operand*)
        ../../gcc/gcc/optabs.c:8243
0x83942ef emit_cstore
        ../../gcc/gcc/expmed.c:5121
0x8394a85 emit_store_flag_1
        ../../gcc/gcc/expmed.c:5362
0x8394b7c emit_store_flag(rtx_def*, rtx_code, rtx_def*, rtx_def*, machine_mode,
int, int)
        ../../gcc/gcc/expmed.c:5405
0x83959ec emit_store_flag_force(rtx_def*, rtx_code, rtx_def*, rtx_def*,
machine_mode, int, int)
        ../../gcc/gcc/expmed.c:5727
0x83ba5dd do_store_flag
        ../../gcc/gcc/expr.c:10832
0x83b1fb5 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        ../../gcc/gcc/expr.c:8787
0x83b9191 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**)
        ../../gcc/gcc/expr.c:10444
0x83ad831 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**)
        ../../gcc/gcc/expr.c:7796
0x83b3ab6 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**)
        ../../gcc/gcc/expr.c:9253
0x83ad831 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**)
        ../../gcc/gcc/expr.c:7796
0x831e807 expand_normal
        ../../gcc/gcc/expr.h:450
0x8320856 do_jump(tree_node*, rtx_def*, rtx_def*, int)
        ../../gcc/gcc/dojump.c:608
0x831fa22 do_jump_1(tree_code, tree_node*, tree_node*, rtx_def*, rtx_def*, int)
        ../../gcc/gcc/dojump.c:364
0x831e918 jumpifnot_1(tree_code, tree_node*, tree_node*, rtx_def*, int)
        ../../gcc/gcc/dojump.c:114
0x82af4bd expand_gimple_cond
        ../../gcc/gcc/cfgexpand.c:2030
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

emit_cstore has generated this comparison.  I propose to use copy_to_mode_reg
in this case to preserve the information about the mode.
I see that for the testcase, the unnecessary instructions are removed in
the ce1 pass.
>From gcc-bugs-return-433938-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Nov 08 13:21:04 2013
Return-Path: <gcc-bugs-return-433938-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 25746 invoked by alias); 8 Nov 2013 13:21:04 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 25728 invoked by uid 48); 8 Nov 2013 13:21:01 -0000
From: "octoploid at yandex dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/59050] New: [4.9 Regression] ICE: tree check: expected integer_cst, have nop_expr in tree_int_cst_lt, at tree.c:7083
Date: Fri, 08 Nov 2013 13:21:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: octoploid at yandex dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter
Message-ID: <bug-59050-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-11/txt/msg00715.txt.bz2
Content-length: 2369

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

            Bug ID: 59050
           Summary: [4.9 Regression] ICE: tree check: expected
                    integer_cst, have nop_expr in tree_int_cst_lt, at
                    tree.c:7083
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: octoploid at yandex dot com

markus@x4 tsan % cat test.ii
struct {
  int trace[6];
} a;
void fn1() {
  for (int i; i; i++) {
    a.trace[i] = a.trace[-i];
    a.trace[-i] = 0;
  }
}

markus@x4 tsan % /var/tmp/gcc_build_dir/./gcc/xgcc
-B/var/tmp/gcc_build_dir/./gcc -O3 test.ii
test.ii:3:3: warning: anonymous type with no linkage used to declare variable
‘<anonymous struct> a’ with linkage [enabled by default]
 } a;
   ^
test.ii: In function ‘void fn1()’:
test.ii:4:6: internal compiler error: tree check: expected integer_cst, have
nop_expr in tree_int_cst_lt, at tree.c:7083
 void fn1() {
      ^
0xd1c3f4 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../gcc/gcc/tree.c:9477
0xd1e354 tree_check
        ../../gcc/gcc/tree.h:2914
0xd1e354 tree_int_cst_lt(tree_node const*, tree_node const*)
        ../../gcc/gcc/tree.c:7083
0xd1e390 tree_int_cst_compare(tree_node const*, tree_node const*)
        ../../gcc/gcc/tree.c:7093
0x100228c comp_dr_addr_with_seg_len_pair
        ../../gcc/gcc/tree-vect-data-refs.c:2672
0x100af25 vec<dr_addr_with_seg_len_pair_t, va_heap, vl_embed>::qsort(int
(*)(void const*, void const*))
        ../../gcc/gcc/vec.h:941
0x100af25 vec<dr_addr_with_seg_len_pair_t, va_heap, vl_ptr>::qsort(int (*)(void
const*, void const*))
        ../../gcc/gcc/vec.h:1620
0x100af25 vect_prune_runtime_alias_test_list(_loop_vec_info*)
        ../../gcc/gcc/tree-vect-data-refs.c:2845
0xce76f2 vect_analyze_loop_2
        ../../gcc/gcc/tree-vect-loop.c:1716
0xce76f2 vect_analyze_loop(loop*)
        ../../gcc/gcc/tree-vect-loop.c:1807
0xcfdaff vectorize_loops()
        ../../gcc/gcc/tree-vectorizer.c:360
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
>From gcc-bugs-return-433939-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Nov 08 13:34:46 2013
Return-Path: <gcc-bugs-return-433939-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 5589 invoked by alias); 8 Nov 2013 13:34:46 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 5569 invoked by uid 48); 8 Nov 2013 13:34:43 -0000
From: "jsm28 at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug debug/59051] New: DW_tag_restrict_type not used
Date: Fri, 08 Nov 2013 13:34:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: debug
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jsm28 at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter
Message-ID: <bug-59051-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-11/txt/msg00716.txt.bz2
Content-length: 490

http://gcc.gnu.org/bugzilla/show_bug.cgi?idY051

            Bug ID: 59051
           Summary: DW_tag_restrict_type not used
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jsm28 at gcc dot gnu.org

GCC should use DW_tag_restrict_type in debug info when describing the types of
restrict-qualified pointers.


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

end of thread, other threads:[~2014-04-11 14:45 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-08 13:16 [Bug middle-end/59049] New: Two VOIDmode constant in comparison passed to cstoresi4 amylaar at gcc dot gnu.org
2013-11-08 16:27 ` [Bug middle-end/59049] " amylaar at gcc dot gnu.org
2013-11-08 16:56 ` amylaar at gcc dot gnu.org
2013-11-09 23:20 ` pinskia at gcc dot gnu.org
2013-11-11 10:13 ` amylaar at gcc dot gnu.org
2013-11-11 10:19 ` rguenth at gcc dot gnu.org
2013-11-11 10:28 ` rguenth at gcc dot gnu.org
2013-11-11 10:47 ` amylaar at gcc dot gnu.org
2013-11-11 18:58 ` amylaar at gcc dot gnu.org
2014-04-11 14:45 ` amylaar 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).