This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix the bug to check if lookup_stmt_eh_lp returns positive instead of non-zero
- From: Dehao Chen <dehao at google dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 13 Aug 2013 09:04:22 -0700
- Subject: Re: [PATCH] Fix the bug to check if lookup_stmt_eh_lp returns positive instead of non-zero
- References: <CAO2gOZWPHPqtG-nKnGQs9FuKRRH_-d4MijyFkCZ4+BOYrSe9+A at mail dot gmail dot com> <CAO2gOZXjYvvF-JNWB36=2pReMAzhnt7TaSLz1LDthNo8AJi1OQ at mail dot gmail dot com> <CAO2gOZU5rSrtAgag_QDEwJOd54sBKGyi0r+y0=iaOYLri7kdsA at mail dot gmail dot com>
ping ^3
Thanks,
Dehao
On Fri, Jul 26, 2013 at 6:15 PM, Dehao Chen <dehao@google.com> wrote:
> ping^2
>
> Thanks,
> Dehao
>
> On Tue, Jul 16, 2013 at 5:40 PM, Dehao Chen <dehao@google.com> wrote:
>> ping...
>>
>> Thanks,
>> Dehao
>>
>> On Mon, Jul 8, 2013 at 5:55 PM, Dehao Chen <dehao@google.com> wrote:
>>> In lookup_stmt_eh_lp, negative return value indicates a MUST_NOT_THROW
>>> region index. In this case, we should *not* add an EH edge during VPT.
>>>
>>> Bootstrapped and passed regression test.
>>>
>>> OK for trunk?
>>>
>>> Thanks,
>>> Dehao
>>>
>>> gcc/ChangeLog:
>>>
>>> 2013-07-08 Dehao Chen (dehao@google.com)
>>>
>>> * value-prof.c (gimple_ic): Fix the bug of adding EH edge.
>>>
>>> Index: gcc/value-prof.c
>>> ===================================================================
>>> --- gcc/value-prof.c (revision 200375)
>>> +++ gcc/value-prof.c (working copy)
>>> @@ -1359,8 +1359,7 @@ gimple_ic (gimple icall_stmt, struct cgraph_node *
>>>
>>> /* Build an EH edge for the direct call if necessary. */
>>> lp_nr = lookup_stmt_eh_lp (icall_stmt);
>>> - if (lp_nr != 0
>>> - && stmt_could_throw_p (dcall_stmt))
>>> + if (lp_nr > 0 && stmt_could_throw_p (dcall_stmt))
>>> {
>>> edge e_eh, e;
>>> edge_iterator ei;