------- Comment #4 from jamborm at gcc dot gnu dot org 2010-01-06 14:07 ------- (In reply to comment #2) > SRA here again does somthing stupid: >
As I have already told richi on IRC, if "in.value = value_1(D)" was an assignment of two unions, it would have loaded the chars from the rhs and thus make the union unnecessary. But it cannot get the chars from the RHS as it is now and so uses the union to do the type conversion. I see no way to avoid this other than a third SRA scan of the entire function to catch cases like this and not pessimize other situations. I have put this to the bottom of my TODO list nevertheless, just in case, but will remove myself from the CC list as the main bug is something entirely different. Feel free to add me if there is anything else I should be aware of. Thanks. -- jamborm at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC|jamborm at gcc dot gnu dot | |org | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42587