[PATCH] D24680: Jump threading: avoid trying to split edge into landingpad block (PR27840)

Nick Lewycky via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 21 10:16:48 PDT 2016


On 21 September 2016 at 10:11, Hans Wennborg <hans at chromium.org> wrote:

> hans added a comment.
>
> In https://reviews.llvm.org/D24680#545412, @nlewycky wrote:
>
> > I'm concerned that the fix is too narrow. There's 10 callers to
> llvm::SplitEdge in LLVM and haven't audited them so I don't know whether
> they also check whether they also do this check. It's certainly not in the
> comment on SplitEdge that it's allowed to assert if you pass it a landing
> pad block.
>
>
> My thinking was that it seems what jump threading is trying to do with a
> "branch on xor" pattern isn't going to work with a landingpad anyway, and
> this would fix the crash that people run into in practice.
>
> I agree it doesn't fix the wider problem of what to do when SplitEdge
> fails, but it seems like a good improvement to me.
>

I'm not opposed to landing this patch, it's an obviously correct fix to a
bug with multiple dupes.

I do think the PR isn't really fixed until the underlying API gets fixed,
and would like the PR would stay open to track the design problem even if
it's asymptomatic once this patch lands.

Nick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160921/b8e4c1d9/attachment.html>


More information about the llvm-commits mailing list