On Wed, Jul 23, 2014 at 2:11 PM, Martin Jambor <mjam...@suse.cz> wrote: > Hi, > > On Wed, Jul 23, 2014 at 11:51:37AM +0200, Richard Biener wrote: >> On Mon, Jul 21, 2014 at 7:06 PM, Wei Mi <w...@google.com> wrote: >> > Hi, >> > >> > This patch is to fix: >> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61776 >> > >> > It records func decls whose const/pure flags are reset during >> > instrumentation. After the loop resetting const/pure flags, find out >> > stmts calling those recorded funcs and perform cfg fixup on them. >> > >> > bootstrap and regression test pass on x86_64-linux-gnu. ok for trunk >> > and gcc-4_9? >> >> But fact is that it is _not_ necessary to split the block because there >> are no outgoing abnormal edges from it. >> >> The verifier failure is an artifact from using the same predicates during >> CFG building and CFG verifying (usually ok, but for this particular >> case it leads to this issue). >> >> So I don't think your patch is the proper way to address this issue >> (while it certainly works). >> >> Instead whether a call can make abnormal gotos should be recorded >> per-call and stored on the gimple-call. Martin - this is exactly >> one of the cases your patch would address? > > No, my patch, which is attached to PR 60449 in bugzilla, introduces > leaf and noreturn gimple statement attributes and uses them to deal > with what really seems to be a very similar problem. However, my > patch does not really look like 4.9 material.
It doesn't really matter for 4.9 if you built that with release checking. Richard. > Thanks, > > Martin