------- Comment #4 from rguenth at gcc dot gnu dot org 2008-01-02 14:11 ------- On the tree level there is no visible regression, but we have V_MUST_DEFs and a single SFT on the 4.2 branch while trunk does not create an extra virtual tag for the single-field union:
<bb 2>: # a1_12 = VDEF <a1_11(D)> a1.a = a; i = 0; <bb 3>: # VUSE <a1_23> # a2_14 = VDEF <a2_24> a2 = a1; # a2_15 = VDEF <a2_14> a2.a = a2.a + a; # VUSE <a2_15> # a1_16 = VDEF <a1_23> a1 = a2; i = i + 1; if (i != 100) goto <bb 3>; else goto <bb 4>; but, confirmed, there is a code quality regression as noted compared to 4.2. Also SRA could be extended to scalarize single-field unions. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu dot | |org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Known to fail| |4.3.0 Known to work| |4.2.2 Last reconfirmed|0000-00-00 00:00:00 |2008-01-02 14:11:21 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32964