[llvm] r280610 - Fix inliner funclet unwind memoization

Renato Golin via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 5 15:07:50 PDT 2016


On 4 September 2016 at 02:23, Joseph Tremoulet via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: josepht
> Date: Sat Sep  3 20:23:20 2016
> New Revision: 280610
>
> URL: http://llvm.org/viewvc/llvm-project?rev=280610&view=rev
> Log:
> Fix inliner funclet unwind memoization
>
> Summary:
> The inliner may need to determine where a given funclet unwinds to,
> and this determination may depend on other funclets throughout the
> funclet tree.  The code that performs this walk in getUnwindDestToken
> memoizes results to avoid redundant computations.  In the case that
> a funclet's unwind destination is derived from its ancestor, there's
> code to walk back down the tree from the ancestor updating the memo
> map of its descendants to record the unwind destination.  This change
> fixes that code to account for the case that some descendant has a
> different unwind destination, which can happen if that unwind dest
> is a descendant of the EHPad being queried and thus didn't determine
> its unwind destination.
>
> Also update test inline-funclets.ll, which is supposed to cover such
> scenarios, to include a case that fails an assertion without this fix
> but passes with it.
>
> Fixes PR29151.
>
>
> Reviewers: majnemer
>
> Subscribers: llvm-commits
>
> Differential Revision: https://reviews.llvm.org/D24117
>
> Modified:
>     llvm/trunk/lib/Transforms/Utils/InlineFunction.cpp
>     llvm/trunk/test/Transforms/Inline/inline-funclets.ll

Hi,

This patch is very likely to have broken this test:

http://lab.llvm.org:8011/builders/clang-cmake-armv7-a15/builds/14952/steps/ninja%20check%201/logs/FAIL%3A%20LLVM%3A%3Ainline-funclets.ll

Unfortunately, our bots didn't detect because of a change in the
builder which made all bots not report any errors.

If you can't fix it quickly, please revert and we'll investigate that
later, as right now, we're dealing with a large number of concurrent
failures and we won't have time to investigate further.

Sorry.
--renato


More information about the llvm-commits mailing list