--- Comment #7 from hjl at lucon dot org 2006-11-01 18:05 ---
If I change the code from
dw_fde_ref fde = &fde_table[fde_table_in_use - 1];
to
dw_fde_node *fde = fde_table + fde_table_in_use - 1;
I got the same problem.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29680
--- Comment #6 from dberlin at gcc dot gnu dot org 2006-11-01 17:53 ---
Subject: Re: Misscompilation of spec2006 gcc
> > >
> > > and for_clobber is only true on call operands, we do not insert SMT. The
> > > lists
> > > of virtual operands thus become disjoint.
> > We should not inse
--
rakdver at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|rakdver at gcc dot gnu dot |unassigned at gcc dot gnu
|org
--- Comment #5 from rakdver at atrey dot karlin dot mff dot cuni dot cz
2006-11-01 08:05 ---
Subject: Re: Misscompilation of spec2006 gcc
> > --- Comment #3 from rakdver at gcc dot gnu dot org 2006-11-01 00:49
> > ---
> > access_can_touch_variable determines that fde_13->dw_
--- Comment #4 from dberlin at gcc dot gnu dot org 2006-11-01 01:29 ---
Subject: Re: Misscompilation of spec2006 gcc
>
> --- Comment #3 from rakdver at gcc dot gnu dot org 2006-11-01 00:49
> ---
> access_can_touch_variable determines that fde_13->dw_fde_cfi cannot touch
> cie
--- Comment #3 from rakdver at gcc dot gnu dot org 2006-11-01 00:49 ---
access_can_touch_variable determines that fde_13->dw_fde_cfi cannot touch
cie_cfi_head; the list of virtual operands of the load thus becomes empty, and
we insert SMT.48 for it.
On *p, we cannot eliminate cie_cfi_he
--- Comment #2 from rakdver at gcc dot gnu dot org 2006-11-01 00:12 ---
The problematic piece of .alias5 dump:
p_27 = &fde_13->dw_fde_cfi;
# VUSE ;
D.1763_23 = fde_13->dw_fde_cfi;
if (D.1763_23 != 0B) goto ; else goto ;
# p_18 = PHI ;
:;
# cie_cfi_head_82 = V_MAY_DEF ;
--- Comment #1 from rakdver at gcc dot gnu dot org 2006-11-01 00:07 ---
Created an attachment (id=12523)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12523&action=view)
The testcase.
--
rakdver at gcc dot gnu dot org changed:
What|Removed |A