This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix verify_type ICE during Ada bootstrap
- From: Richard Biener <rguenther at suse dot de>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 25 Nov 2015 11:49:09 +0100 (CET)
- Subject: Re: Fix verify_type ICE during Ada bootstrap
- Authentication-results: sourceware.org; auth=none
- References: <20151124082008 dot GA90197 at kam dot mff dot cuni dot cz> <alpine dot LSU dot 2 dot 11 dot 1511240944040 dot 4884 at t29 dot fhfr dot qr> <20151124185104 dot GD90197 at kam dot mff dot cuni dot cz> <20151124193342 dot GF90197 at kam dot mff dot cuni dot cz>
On Tue, 24 Nov 2015, Jan Hubicka wrote:
> > >
> > > We do already wrap all bases into MEM_REFs at streaming time, it would
> > > be easy to adjust it to make it effectively alias-set zero. But of
> > > course the overhead and the downstream effects of having more MEM_REFs
> > > (we strip the unneeded ones at stream-in) are unknown (compared to
> > > the effect of disabling inlining).
> >
> > Hmm, I can test in on Firefox (once I get it back to working condition).
>
> One way would be to keep current MEM_REFS stripping and conditoinal in
> get_alias_set on strict aliasing, but extend inliner to introduce them at a
> point -fno-strict-aliasing is inlined to -fstrict-aliasing. That way we could
> drop the code in lto-streamer-out that forcingly set alias set to 0 when
> get_alias_set == 0 and hopefully get all code transitions right.
Yeah, that could also work. We can also rewrite overflow stuff
this way to do overflow related inlining (in one direction only?).
That is, when inlining !strict-overflow into strict-overflow code
re-write arithmetic to unsigned during inlining.
Sth for next stage1.
Maybe you can open an enhancement PR for these cases.
Richard.