From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23962 invoked by alias); 8 Nov 2013 13:16:46 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 23924 invoked by uid 48); 8 Nov 2013 13:16:41 -0000 From: "amylaar at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/59049] New: Two VOIDmode constant in comparison passed to cstoresi4 Date: Fri, 08 Nov 2013 13:16:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: amylaar 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: 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/msg00714.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D59049 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=3Dnever -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 ver= sion 5.1.1, MPFR version 3.1.1, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=3D30 --param ggc-min-heapsize=3D4096 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 ver= sion 5.1.1, MPFR version 3.1.1, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=3D30 --param ggc-min-heapsize=3D4096 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 =E2=80=98main_test=E2=80=99: /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*) c= onst ../../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_m= ode, 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_modif= ier, 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_modif= ier, 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 for instructions. emit_cstore has generated this comparison. I propose to use copy_to_mode_r= eg 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: 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: List-Archive: List-Post: List-Help: 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" 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: 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=3D59050 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] =3D a.trace[-i]; a.trace[-i] =3D 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 variab= le =E2=80=98 a=E2=80=99 with linkage [enabled by default] } a; ^ test.ii: In function =E2=80=98void fn1()=E2=80=99: 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::qsort(int (*)(void const*, void const*)) ../../gcc/gcc/vec.h:941 0x100af25 vec::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 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: 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: List-Archive: List-Post: List-Help: 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" 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: 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?id=59051 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.