This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/11631] [3.4/3.3-hammer regression] zsh/kernel miscompilation
- From: "gbeauchesne at mandrakesoft dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Jul 2003 17:35:31 -0000
- Subject: [Bug optimization/11631] [3.4/3.3-hammer regression] zsh/kernel miscompilation
- References: <20030722141202.11631.gbeauchesne@mandrakesoft.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11631
------- Additional Comments From gbeauchesne at mandrakesoft dot com 2003-07-24 17:35 -------
Subject: Re: [3.4/3.3-hammer regression] zsh/kernel
miscompilation
On Thu, 24 Jul 2003, zlomek at gcc dot gnu dot org wrote:
> it is a bug in store motion,
Indeed, this coincidates with the following patch merged from mainline to
3.3-hammer branch between 2003/05/20 & 2003/07/08.
The reduced testcase also fails on current 3.3-hammer branch with -O2
-fno-unit-at-a-time.
Store motion got enabled with this patch:
<http://gcc.gnu.org/ml/gcc-patches/2003-02/msg02090.html>
2003-06-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
Merge from mainline:
* gcse.c (struct ls_expr): Added pattern_regs field.
(ldst_entry): Initialize it.
(extract_mentioned_regs, extract_mentioned_regs_helper):
New.
(store_ops_ok): Use regs precomputed by them.
(find_loads, store_killed_in_insn, load_kills_store):
Change return
type to bool.
(store_killed_before, store_killed_after): Take position
of register
set in account.
(reg_set_info): Store position of the setter.
(gcse_main): Enable store motion.
(mems_conflict_for_gcse_p): Enable load motion of
non-symbol mems.
(pre_insert_copy_insn, update_ld_motion_stores,
insert_store): Prevent rtl
sharing.
(simple_mem): Enable store motion of non-symbol mems.
(regvec): Type changed.
(LAST_AVAIL_CHECK_FAILURE): New.
(compute_store_table_current_insn): New.
(build_store_vectors): Computation of availability and
anticipatability
moved ...
(compute_store_table, find_moveable_store): ... here.
(delete_store): Remove senseless comment.
(store_motion): Reorganize.
* gcse.c (local_variable_p): New.