On November 7, 2016 9:22:38 PM GMT+01:00, Jakub Jelinek <ja...@redhat.com> wrote: >On Mon, Nov 07, 2016 at 01:20:20PM +0100, Richard Biener wrote: >> Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk >> and branch. >> >> Richard. >> >> 2016-11-07 Richard Biener <rguent...@suse.de> >> >> PR target/78229 >> * config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust >> EH info. >> >> * g++.dg/pr78229.C: New testcase. > >On the trunk there are 2 other spots with gsi_replace (..., true); in >the same function (and both of them are for functions which also should >really be ECF_NOTHROW, but aren't). > >I haven't managed to create a simple testcase. Anyway, here is a fix, >bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
OK. Richard. >2016-11-07 Jakub Jelinek <ja...@redhat.com> > > PR target/78229 > * config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust > > EH info even for bzhi and pdep/pext. > >--- gcc/config/i386/i386.c.jj 2016-11-07 18:32:14.000000000 +0100 >+++ gcc/config/i386/i386.c 2016-11-07 18:46:10.901250307 +0100 >@@ -33537,7 +33537,7 @@ ix86_gimple_fold_builtin (gimple_stmt_it > location_t loc = gimple_location (stmt); > gimple *g = gimple_build_assign (gimple_call_lhs (stmt), arg0); > gimple_set_location (g, loc); >- gsi_replace (gsi, g, true); >+ gsi_replace (gsi, g, false); > return true; > } > break; >@@ -33554,7 +33554,7 @@ ix86_gimple_fold_builtin (gimple_stmt_it > arg0 = gimple_call_arg (stmt, 0); > gimple *g = gimple_build_assign (gimple_call_lhs (stmt), arg0); > gimple_set_location (g, loc); >- gsi_replace (gsi, g, true); >+ gsi_replace (gsi, g, false); > return true; > } > break; > > > Jakub