This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] Merge status
- From: "Paolo Bonzini" <bonzini at gnu dot org>
- To: "Jan Hubicka" <hubicka at ucw dot cz>
- Cc: <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 14 Mar 2004 17:16:37 +0100
- Subject: Re: [tree-ssa] Merge status
- References: <000e01c4090b$4b9f5540$5adf1d97@philo> <20040313155847.GA12835@atrey.karlin.mff.cuni.cz>
> Problem of the ADDRESSOF patch is that it cause seriuos regressions on
> C++ code (like Gerald's testcase). For C++ code we commonly produce
> a=*(const char *)&char_vairable
> like constructions produced by C++ casts. RTL backend is able to use
> subreg to do the cast in register, but for tree we can't.
> Afaik Andrew and Richard has some plans to fix C++ forntend to do more
> firendly casts, but I am not sure what is status of this task.
As a short term solution there could be a quick cast-fixing GIMPLE pass, which
runs very late (possibly merged with TER?). It will be no more expensive then
purge_addressof and will still allow to remove CSE1.
> I did some SPEC testing and the regresisons were serious, tought I can't
> dig out the numbers anymore unforutnately :(
> I think elliminate of CONSTNT_P_RTX makes a lot of sense now.
Ok, I'll send the patch.
> Jeff has some numbers showing that RTL jump bypass pass makes very few
> matches on GCC bootstrap. I would think a lot in favour of removing it
> or making it run just once instead of three times.
There were 7 bypasses last time I read from Jeff on gcc-patches.
> I can run the SPECs for these.