-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 11/28/11 11:36, Jakub Jelinek wrote: > Hi! > > On the following testcase the volatile load/store are optimized > away. IMHO this is a bug in forwprop, which replaces tmp_Y = > &nonvolvar[arg_X]; MEM[(volatile ...*)tmp_Y] ={v} ...; with > MEM[(volatile ...*)&nonvolvar][tmp_Y] ={v} ...; where the LHS is no > longer TREE_THIS_VOLATILE like before, TREE_THIS_VOLATILE is newly > only the MEM_REF operand of the non-volatile ARRAY_REF. This patch > copies the TREE_THIS_VOLATILE bit to the ARRAY_REF. > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for > trunk? > > 2011-11-28 Jakub Jelinek <ja...@redhat.com> > > PR tree-optimization/50078 * tree-ssa-forwprop.c > (forward_propagate_addr_expr_1): Copy over TREE_THIS_VOLATILE also > from the old to new lhs resp. rhs. > > * gcc.dg/pr50078.c: New test. Do we need to copy NOTRAP or any of the other flags?
OK, assuming we don't need to copy NOTRAP, etc. If those need to be copied too, preapproved with those changes. Jeff -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJO094dAAoJEBRtltQi2kC7Z+UH+QHq/yj9zX6wZz3cfTgZ4ZyR oWQypCXYUgoIBYrX+rWD91dzI/R+2Zy2F6u5zBOtlzrmNTLbQcQt3PL2fzhz76/L 0+lZ8c8kTwh0lvmTI7/LPQXf0o7Zli43xteOSADglFVVGcWIPus/honBmP3dqkV+ O1n6WZq95eEZVl8HciZOQKANz+yrcVyMi6u/8WioGdn/3Sl9YodpN2R0kuSr++5V //4XYO1crzMNqqjkxLTJNRNZiV0XH/WwiJx9MOoCKDMooBo7MNbDPtIcfeSbddIl GhqPEvwK+xBWyOatJMFsyRVlFvcWCfdKGBE//B7+m9ml7eS5pVe/kngphbvA6RI= =31Lf -----END PGP SIGNATURE-----