------- Comment #15 from rguenth at gcc dot gnu dot org 2007-05-12 15:44
-------
forwprop looses the volatileness (035.dce vs 036.forwprop):
GTeth_txq_done (sc)
{
struct GTeth_desc * txd;
@@ -34,12 +47,10 @@
goto <bb 6> (<L4>);
<L0>:;
- D.1542_3 = &sc_1->txq_desc[0];
D.1543_4 = sc_1->txq_fi;
D.1544_5 = D.1543_4 * 4;
D.1545_6 = (struct GTeth_desc *) D.1544_5;
- txd_7 = D.1542_3 + D.1545_6;
- D.1546_8 =/v txd_7->ed_cmdsts;
+ D.1546_8 = sc_1->txq_desc[D.1543_4].ed_cmdsts;
if (D.1546_8 != 0) goto <L1>; else goto <L2>;
<L1>:;
I'll take a quick shot.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31797