[PATCH] Verify edge probability consistency in verify_flow_info
Tom de Vries
Tom_deVries@mentor.com
Sun Aug 6 10:25:00 GMT 2017
On 08/04/2017 11:15 AM, Jan Hubicka wrote:
>>>
>>> III.
>>>
>>> I've written this patch to check for the missing probability more
>>> consistently. I'm not certain if we can require that the probability
>>> should always be set, so I'm just requiring that if it is set on one
>>> outgoing edge, it needs to be set on all outgoing edges.
>>>
>>> Sofar I've build a c-only x86_64 non-bootstrap compiler and ran dg.exp.
>>> The only problem I ran into was in attr-simd{,-2,-4}.c. I've written a
>>> tentative patch for that, and will submit it as follow-up.
>>>
>>> Is this check a good idea?
>> I think the additional checking is a good idea. Ideally we'd verify
>> that all edges have a probability. Until then I think you need some
>> kind of rationale in a comment for why the checking is limited.
>>
[ Not done yet. ]
I've extended the patch to skip over EH edges. I've limited the check
further (as shown in attached patch) to only check if 'EDGE_COUNT
(bb->succs) == 2'. That way I don't run into the more complicated cases
like a switch with default edge probability set to never, and all other
edges not set.
I've committed two patches for expand_oacc_for that trigger the check.
>>>
>>> OK for trunk if bootstrap and reg-test on x86_64 succeeds?
>> Yea, but I'd like to see ongoing work towards full checking.
>
> I have full checking in my tree for some time. At x86-64 bootstrap there
> is one remaining offender in simd_clone_adjust which was not fixed yet
> https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00219.html
> Jakub did not tell me what would be a reasonable guess :)
>
> After that I plan to enable full checking after checking arm/ppc.
> So I hope we will converge to full checking really soon. But having
> additional check is fine.
>
To make sure I understand correctly: are you saying that you have in a
local tree:
- patches that add missing edge probabilities, and
- a patch that adds a check that all edges have probabilities,
and that the state of that local tree is that for x86_64 bootstrap and
reg-test there only one regression site left?
If that is the case, I'd better stop fixing sites that trigger the check
in my patch.
Thanks,
- Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Verify-edge-probability-consistency-in-verify_flow_info.patch
Type: text/x-patch
Size: 1473 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20170806/39d519c4/attachment.bin>
More information about the Gcc-patches
mailing list