Just saw that you "accepted" this in phab together with your "so I guess
it's okay" comment ;)

Submitted as r209531.


On Fri, May 23, 2014 at 6:36 PM, Manuel Klimek <[email protected]> wrote:

> On Thu, May 22, 2014 at 6:42 PM, Jordan Rose <[email protected]>wrote:
>
>> Okay, I think I understand now. If the first dead statement is the first
>> expression in a return statement, and then there's a temporary destructors
>> block, and then the return statement, then we'd still want to treat that as
>> part of the return statement. And that happens right now because we don't
>> optimize out the case with no control flow.
>>
>> I'm worried, though, that this will catch something in a dead else block
>> and go sailing off the end to look for a return statement,
>
>
> Btw, with the current implementation we will not sail off the end of
> else-blocks:
> +      if (Current->pred_size() > 1) {
> +        // If there is more than one predecessor, we're dealing with
> incoming
> +        // control flow - if the return statement is in that block, it
> might
> +        // well be reachable via a different control flow, thus it's not
> dead.
> +        return false;
>        }
>
> Let me know if you want me to change anything, or if you have an idea for
> a fundamentally different approach.
>
> build a parent map, and then not actually find anything (of course). It
>> seems like a fair amount of extra work. Then again, we have already decided
>> to emit a diagnostic at this point, so I guess it's okay.
>>
>> http://reviews.llvm.org/D3638
>>
>>
>>
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to