This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH, PR61776] verify_flow_info failed: control flow in the middle of basic block with -fprofile-generate
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>, Wei Mi <wmi at google dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <hubicka at ucw dot cz>, David Li <davidxl at google dot com>
- Date: Wed, 23 Jul 2014 15:47:42 +0200
- Subject: Re: [PATCH, PR61776] verify_flow_info failed: control flow in the middle of basic block with -fprofile-generate
- Authentication-results: sourceware.org; auth=none
- References: <CA+4CFy7sLjEWstfiHGYAv77iXitaYbRBTRpi+JUwz641VSFhBQ at mail dot gmail dot com> <CAFiYyc3TO_o1_taze9F6h+-qNOxmMqCDJ_VZLdDz17MmUfXJzA at mail dot gmail dot com> <20140723121102 dot GC30804 at virgil dot suse>
On Wed, Jul 23, 2014 at 2:11 PM, Martin Jambor <firstname.lastname@example.org> wrote:
> On Wed, Jul 23, 2014 at 11:51:37AM +0200, Richard Biener wrote:
>> On Mon, Jul 21, 2014 at 7:06 PM, Wei Mi <email@example.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.