This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] Merge status

> 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.

Great, thanks.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]