> > But yes, the VIEW_CONVERT "stripping" is a bit fragile and I don't > > remember what exactly we gain from it (when not done on registers). > > I guess gain is really limited to Ada - there are very few cases we do VCE > otherwise. (I think we could do more of them). We can make > useless_type_conversion NOP/CONVERT only. That in fact makes quite a sense > because those are types with gimple operations on it. Perhaps also VCE on > vectors, but not VCE in general.
FWIW that's fine with me. Yes, Ada tends to generate a lot of VCEs but I try to get rid of the useless ones as much as I can so assistance from the middle- end is not really required. I'll test Richard's patch and install it if the outcome is positive (unless you want to do the vector thing right away). -- Eric Botcazou