------- Comment #17 from jamborm at gcc dot gnu dot org 2009-06-08 17:49 ------- (In reply to comment #16) > Wait, (In reply to comment #15) > > (In reply to comment #11) > > > It is caused by revision 147980: > > > > > > http://gcc.gnu.org/ml/gcc-cvs/2009-05/msg00959.html > > > > > > > Revision 147978 also does not work if you compile the testcase with > > the -fno-tree-sra switch. > > > > New SRA uncovers this problem because it sees the structure containing > > only a single field always accessed as a structure and never as a > > scalar and so does not scalarize it. Something goes wrong later on, > > probably when expanding to RTL. Unfortunately, I cannot help fixing > > that. > > I think that should always scalarize as it is a single field as it is always > better to scalarize single field structs (except maybe bitfield ones).
Well, Richi seems to disagree: http://gcc.gnu.org/ml/gcc-patches/2009-06/msg00637.html I am not sure myself, I believe that there are not so many cases in which this would prove beneficial. When there are no operations performed on the scalars, the only situation I can think of would be some extensive copy propagation. Martin -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32950