-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 12/05/11 13:34, Jakub Jelinek wrote: > Hi! > > When a multiply stmt has zero uses, convert_mult_to_fma > immediately returns true, meaning the multiplication can be > deleted. Normally it should be DCE job to remove dead stmts, not > widening_mul pass IMHO, and in this case it shouldn't be removed > because it can throw and wasn't DCEd because of it. For > -fnon-call-exceptions if there is at least one use, we wouldn't be > optimizing multiply and add/sub into FMA, because the > multiplication (stmt_can_throw_p) would be in different bb from the > addition/subtraction, so there is no need to purge dead eh edges > etc. in the caller. > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for > trunk? > > 2011-12-05 Jakub Jelinek <ja...@redhat.com> > > PR tree-optimization/51396 * tree-ssa-math-opts.c > (convert_mult_to_fma): Don't optimize if MUL_RESULT has zero uses. > > * g++.dg/opt/pr51396.C: New test. OK jeff -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJO3S8HAAoJEBRtltQi2kC7DJMH/1WWEPgOUKetgCzqVnFNEpnD 7t/OzOxJ9J6bDcHKxV4xobMSBL7D6GATeK9K7I7cjuUjX/eiUPRdG/YyjbVz9VqH SCgrFA6WCYU/p38m4Z8pT+2SHl9H+T1Dswi/wItbYv4JmvuxIauT5xyKOZbxnKte A3OXzhmaFsvSQzx1O6X2NjqtEzGwqK8asu70oo6mLUfBaHW7iPnO1yxlzNOm6fL/ O3PpqEbbfa40xddI9s1BkgJXUcwCPu40hkHS9GtTR1s/WAnel5VV5z576j0cZEU6 kzX1cYj9PX6L8p3n1KETkaLvsiCejbUKaOHfGSL0KcUd08CBdIGmjxTZcoJZZoY= =m24e -----END PGP SIGNATURE-----