[PATCH] Copy over TREE_THIS_VOLATILE during forwprop (PR tree-optimization/50078)

Jeff Law law@redhat.com
Mon Nov 28 20:28:00 GMT 2011


-----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  <jakub@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-----



More information about the Gcc-patches mailing list