[Bug middle-end/20714] emit_no_conflict_block does invalid reordering
--- Additional Comments From amylaar at gcc dot gnu dot org 2005-05-13 13:50 --- An updated patch is here: http://gcc.gnu.org/ml/gcc-patches/2005-05/msg01238.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20714
[Bug middle-end/20714] emit_no_conflict_block does invalid reordering
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-05-13 18:23 --- Subject: Bug 20714 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-05-13 18:23:17 Modified files: gcc: optabs.c ChangeLog Log message: PR middle-end/20714: * optabs.c (no_conflict_data): New struct. (no_conflict_move_test): New function. (emit_no_conflict_block): Use it. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/optabs.c.diff?cvsroot=gccr1=1.278r2=1.279 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.8768r2=2.8769 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20714
[Bug middle-end/20714] emit_no_conflict_block does invalid reordering
--- Additional Comments From amylaar at gcc dot gnu dot org 2005-05-13 18:30 --- Fixed on mainline. -- What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20714
[Bug middle-end/20714] emit_no_conflict_block does invalid reordering
-- What|Removed |Added Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20714
[Bug middle-end/20714] emit_no_conflict_block does invalid reordering
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-04-08 17:42 --- Subject: Bug 20714 CVSROOT:/cvs/gcc Module name:gcc Branch: sh-elf-4_1-branch Changes by: [EMAIL PROTECTED] 2005-04-08 17:41:35 Modified files: gcc/config/sh : crt1.asm elf.h lib1funcs.asm libgcc-excl.ver linux.h sh-protos.h sh.c sh.h sh.md shmedia.md sshmedia.h t-sh64 ushmedia.h Added files: gcc/config/sh : divtab.c newlib.h superh.h superh64.h t-superh Log message: 2005-04-06 Jorn Rennecke [EMAIL PROTECTED] PR middle-end/20793: * integrate.c (allocate_initial_values): Update register liveness information. PR rtl-optimization/20769: * bt-load.c (compute_defs_uses_and_gen): Check for the blockage pattern emitted by expand_nl_goto_receiver. PR rtl-optimization/20756: * basic-block.h (PROP_DEAD_INSN): Define. * flow.c (propagate_one_insn): Set during mark_set_regs call for a dead insn. PR middle-end/20714 * optabs.c (no_conflict_data): New struct. (no_conflict_move_test): New function. (emit_no_conflict_block): Use it. Workaround for PR rtl-optimization/20413: * sh.md (blt_media_i32, blt_media_i32+1): New splitters. Merge of SuperH / STM SH specific patches, including fix for PR target/20695: * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h when building with libgloss. (sh*elf): Implement --without-fp option. (sh64-superh-linux*): Don't multilib. (sh*-*-linux): Use sh3 as basic multilib. * config/sh/crt1.asm (SHmedia start): Add code to enable the MMU, and to set up vbr. Enable FPU before calling set_fpscr. Load atexit address just before use. Use __SH_FPU_ANY__. (SH3*/SH4* start): Add code to set up vbr. Use __SH_FPU_ANY__. Set DN bit in fpscr. * config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Merge into: config/sh/sh.h (SH_ASM_SPEC, SUBTARGET_ASM_ISA_SPEC): Here. * config/sh/lib1funcs.asm (HIDDEN_FUNC, HIDDEN_ALIAS): Define. (FMOVD_WORKS): Don't define for __SH5__. (ashiftrt_r4_0, ashiftrt_r4_1, ashiftrt_r4_2, ashiftrt_r4_3): Hide. (ashiftrt_r4_4, ashiftrt_r4_5, ashiftrt_r4_6, ashiftrt_r4_7): Hide. (ashiftrt_r4_8, ashiftrt_r4_9, ashiftrt_r4_10, ashiftrt_r4_11): Hide. (ashiftrt_r4_12, ashiftrt_r4_13, ashiftrt_r4_14, ashiftrt_r4_15): Hide. (ashiftrt_r4_16, ashiftrt_r4_17, ashiftrt_r4_18, ashiftrt_r4_19): Hide. (ashiftrt_r4_20, ashiftrt_r4_21, ashiftrt_r4_22, ashiftrt_r4_23): Hide. (ashiftrt_r4_24, ashiftrt_r4_25, ashiftrt_r4_26, ashiftrt_r4_27): Hide. (ashiftrt_r4_28, ashiftrt_r4_29, ashiftrt_r4_30, ashiftrt_r4_31): Hide. (ashiftrt_r4_32, ashrsi3, ashlsi3, lshrsi3, movmem, movstr): Hide. (movstrSI64, movmemSI64, movstrSI60, movmemSI60): Hide. (movstrSI56, movmemSI56, movstrSI52, movmemSI52): Hide. (movstrSI48, movmemSI48, movstrSI44, movmemSI44): Hide. (movstrSI40, movmemSI40, movstrSI36, movmemSI36): Hide. (movstrSI32, movmemSI32, movstrSI28, movmemSI28): Hide. (movstrSI24, movmemSI24, movstrSI20, movmemSI20): Hide. (movstrSI16,movmemSI16, movstrSI12,movmemSI12): Hide. (movstrSI8,movmemSI8, movstrSI4,movmemSI4): Hide. (movmemSI0, movstrSI0): Remove. (movmemSI4): Schedule last store into rts delay slot. (movmem): Shorten code. Provide ENDFUNC. (movmem_i4_even, movmem_i4_odd, movmemSI12_i4, mulsi3): Hide. (mulsi3): Provide ENDFUNC. (sdivsi3_i4, sdivsi3_i4, udivsi3_i4, udivsi3, set_fpscr): Hide. (SH5 sdivsi3): Reimplement, using: (div_table): New, linear approximation table lookup for division seed. (sdivsi3_2): New SH5 entry point. (divdi3): Use hidden alias for udivdi3. (moddi3): Use hidden alias for umoddi3. (init_trampoline): Hide. Provide exact ENDFUNC. (ic_invalidate): Hide. Re-implement SH4 version, using (ic_invalidate_array): New global. (GCC_shcompact_return_trampoline, GCC_nested_trampoline): Hide. (GCC_push_shmedia_regs_nofpu): Only provide for __SH4_NOFPU__. (GCC_pop_shmedia_regs_nofpu): Likewise. * config/sh/libgcc-excl.ver (__mulsi3): Add. * config/sh/linux.h (TARGET_DEFAULT): Include TARGET_OPT_DEFAULT. * config/sh/sh-protos.h (sh_function_kind): New enum. (sh_gen_truncate, replace_n_hard_rtx): Declare. (function_symbol): Update declaration. (shmedia_cleanup_truncate, sh_contains_memref_p): Declare. * sh.c (cfgloop.h): Include. (TARGET_ADJUST_UNROLL_MAX): Redefine. (print_operand): Add '' and 'U' support. Handle TRUNCATE and
[Bug middle-end/20714] emit_no_conflict_block does invalid reordering
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-04-08 18:28 --- Subject: Bug 20714 CVSROOT:/cvs/gcc Module name:gcc Branch: sh-elf-4_1-branch Changes by: [EMAIL PROTECTED] 2005-04-08 18:28:02 Modified files: gcc: ChangeLog basic-block.h bt-load.c config.gcc flow.c integrate.c loop.c optabs.c Log message: 2005-04-06 Jorn Rennecke [EMAIL PROTECTED] PR middle-end/20793: * integrate.c (allocate_initial_values): Update register liveness information. PR rtl-optimization/20769: * bt-load.c (compute_defs_uses_and_gen): Check for the blockage pattern emitted by expand_nl_goto_receiver. PR rtl-optimization/20756: * basic-block.h (PROP_DEAD_INSN): Define. * flow.c (propagate_one_insn): Set during mark_set_regs call for a dead insn. PR middle-end/20714 * optabs.c (no_conflict_data): New struct. (no_conflict_move_test): New function. (emit_no_conflict_block): Use it. Workaround for PR rtl-optimization/20413: * sh.md (blt_media_i32, blt_media_i32+1): New splitters. Merge of SuperH / STM SH specific patches, including fix for PR target/20695: * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h when building with libgloss. (sh*elf): Implement --without-fp option. (sh64-superh-linux*): Don't multilib. (sh*-*-linux): Use sh3 as basic multilib. [config/sh/* changes elided] 2005-04-06 Andrew Stubbs [EMAIL PROTECTED] Jorn Rennecke [EMAIL PROTECTED] * config/sh/superh64.h, config/sh/superh.h: New files. * config/sh/newlib.h, config/sh/t-superh: Likewise. * config.gcc: Add support for sh*-superh-elf* and sh64-superh-linux*. 2005-04-06 Jorn Rennecke [EMAIL PROTECTED] Richard Shann [EMAIL PROTECTED] PR middle-end/20396: * loop.c (combine_movables): Take TRULY_NOOP_TRUNCATION into account. * optabs.c (expand_binop): Likewise. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcconly_with_tag=sh-elf-4_1-branchr1=2.8142r2=2.8142.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/basic-block.h.diff?cvsroot=gcconly_with_tag=sh-elf-4_1-branchr1=1.246r2=1.246.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/bt-load.c.diff?cvsroot=gcconly_with_tag=sh-elf-4_1-branchr1=2.32r2=2.32.10.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config.gcc.diff?cvsroot=gcconly_with_tag=sh-elf-4_1-branchr1=1.530r2=1.530.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcconly_with_tag=sh-elf-4_1-branchr1=1.623r2=1.623.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/integrate.c.diff?cvsroot=gcconly_with_tag=sh-elf-4_1-branchr1=1.273r2=1.273.20.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop.c.diff?cvsroot=gcconly_with_tag=sh-elf-4_1-branchr1=1.525r2=1.525.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/optabs.c.diff?cvsroot=gcconly_with_tag=sh-elf-4_1-branchr1=1.268r2=1.268.2.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20714
[Bug middle-end/20714] emit_no_conflict_block does invalid reordering
--- Additional Comments From amylaar at gcc dot gnu dot org 2005-04-08 19:07 --- The patch has been posted here: http://gcc.gnu.org/ml/gcc-patches/2005-04/msg00903.html -- What|Removed |Added Keywords||patch http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20714
[Bug middle-end/20714] emit_no_conflict_block does invalid reordering
--- Additional Comments From amylaar at gcc dot gnu dot org 2005-04-01 15:20 --- Created an attachment (id=8507) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8507action=view) proposed patch This implements a similar dependency check as in emit_libcall_block, except that we might have to consider multiple sets / clobbers. This also fixes the bogosity of checking only the first set for setting part of target, and looking at the SET_DEST of USEs and CLOBBERs. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20714
[Bug middle-end/20714] emit_no_conflict_block does invalid reordering
-- What|Removed |Added OtherBugsDependingO||20695 nThis|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20714