[llvm-bugs] [Bug 39544] simple-loop-unswitch is too aggressive in unswitching leading to compile-time issues
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Jul 1 13:44:31 PDT 2019
https://bugs.llvm.org/show_bug.cgi?id=39544
Fedor Sergeev <fedor.v.sergeev at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|CONFIRMED |RESOLVED
Resolution|--- |FIXED
--- Comment #5 from Fedor Sergeev <fedor.v.sergeev at gmail.com> ---
(In reply to Vivek Pandya from comment #4)
> This seems to be fixed. I am not able to repro.
Yep fixed by:
commit 2e3e224e715eeb85ca9640e19ce14cd0bd4f3f6b
Author: Fedor Sergeev <fedor.sergeev at azul.com>
Date: Fri Nov 16 21:16:43 2018 +0000
[SimpleLoopUnswitch] adding cost multiplier to cap exponential unswitch
with
We need to control exponential behavior of loop-unswitch so we do not get
run-away compilation.
Suggested solution is to introduce a multiplier for an unswitch cost that
makes cost prohibitive as soon as there are too many candidates and too
many sibling loops (meaning we have already started duplicating loops
by unswitching).
It does solve the currently known problem with compile-time degradation
(PR 39544).
Tests are built on top of a recently implemented CHECK-COUNT-<num>
FileCheck directives.
Reviewed By: chandlerc, mkazantsev
Differential Revision: https://reviews.llvm.org/D54223
llvm-svn: 347097
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190701/2bc37b99/attachment.html>
More information about the llvm-bugs
mailing list