This is the mail archive of the gcc-patches@gcc.gnu.org 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] A pass to remove a large number of casts in C++ code


On Apr 9, 2004, at 13:46, Andrew Pinski wrote:

The eon result is 6% which means that it needs to looked into but when I looked into
dump files they were about the same, I need to look again. This might also just be
a normal variation that I did not know about before.


I will add a flag to make my life easier and make it able to disable it if it causes
a regression which I do not know about at this point.

I looked into the PPC assembly produced for some of the eon sources and I found that it
was loosing because of additional register pressure. Most of the additional register
pressure is due to that small arrays in structs are not turned into scalars by SRA so
GCC stores the variable two places, one in the array and one in a register unlike before
where it would use the value from the array. So when SRA acts on small arrays inside
structs, this will fix up all the performance problems with this cast pass.


Thanks,
Andrew Pinski


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