<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in complex-loop-nesting.ll</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>5c028081 - [polly] Introduce -polly-print-* passes to replace -analyze.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/polly/test/ScopInfo/complex-loop-nesting.ll#5c028081</link>
        <description>[polly] Introduce -polly-print-* passes to replace -analyze.The `opt -analyze` option only works with the legacy pass manager and might be removed in the future, as explained in llvm.org/PR53733. This patch introduced -polly-print-* passes that print what the pass would print with the `-analyze` option and replaces all uses of `-analyze` in the regression tests.There are two exceptions: `CodeGen\single_loop_param_less_equal.ll` and `CodeGen\loop_with_condition_nested.ll` use `-analyze on the `-loops` pass which is not part of Polly.Reviewed By: aeubanksDifferential Revision: https://reviews.llvm.org/D120782

            List of files:
            /llvm-project-15.0.7/polly/test/ScopInfo/complex-loop-nesting.ll</description>
        <pubDate>Mon, 14 Mar 2022 13:39:25 +0000</pubDate>
        <dc:creator>Michael Kruse &lt;llvm-project@meinersbur.de&gt;</dc:creator>
    </item>
<item>
        <title>beffdb9d - [ScopDetect] Reject loop with multiple exit blocks.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/polly/test/ScopInfo/complex-loop-nesting.ll#beffdb9d</link>
        <description>[ScopDetect] Reject loop with multiple exit blocks.The current statement domain derivation algorithm does not (always)consider that different exit blocks of a loop can have differentconditions to be reached.From the code      for (int i = n; ; i-=2) {        if (i &lt;= 0) goto even;        if (i &lt;= 1) goto odd;        A[i] = i;      }    even:      A[0] = 42;      return;    odd:      A[1] = 21;      return;Polly currently derives the following domains:        Stmt_even_critedge            Domain :=                [n] -&gt; { Stmt_even_critedge[] };        Stmt_odd            Domain :=                [n] -&gt; { Stmt_odd[] : (1 + n) mod 2 = 0 and n &gt; 0 };while the domain for the odd case is correct, Stmt_even is assumed to beexecuted unconditionally, which is obviously wrong. While projecting outthe loop dimension in `adjustDomainDimensions`, it does not considerthat there are other exit condition that have matched before.I don&apos;t know a how to fix this without changing a lot of code. ThereforeThis patch rejects loops with multiple exist blocks to fix themiscompile of test-suite&apos;s uuencode.The odd condition is transformed by LLVM to    %cmp1 = icmp eq i64 %indvars.iv, 1such that the project_out in adjustDomainDimensions() indeed onlymatches for odd n (using this condition only, we&apos;d have an infinite loopotherwise).The even condition manifests as    %cmp = icmp slt i64 %indvars.iv, 3Because buildDomainsWithBranchConstraints() does not consider other exitconditions, it has to assume that the induction variable will eventuallybe lower than 3 and taking this exit.IMHO we need to reuse the algorithm that determines the number ofiterations (addLoopBoundsToHeaderDomain) to determine which exitcondition applies first. It has to happen inbuildDomainsWithBranchConstraints() because the result will need topropagate to successor BBs. Currently addLoopBoundsToHeaderDomain() justlook for union of all backedge conditions (which means leaving not theloop here). The patch in llvm.org/PR35465 changes it to look for exitconditions instead. This is required because there might be other exitconditions that do not alternatively go back to the loop header.Differential Revision: https://reviews.llvm.org/D45649llvm-svn: 330858

            List of files:
            /llvm-project-15.0.7/polly/test/ScopInfo/complex-loop-nesting.ll</description>
        <pubDate>Wed, 25 Apr 2018 18:53:33 +0000</pubDate>
        <dc:creator>Michael Kruse &lt;llvm@meinersbur.de&gt;</dc:creator>
    </item>
<item>
        <title>959a8dc3 - Update to ISL 0.16.1</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/polly/test/ScopInfo/complex-loop-nesting.ll#959a8dc3</link>
        <description>Update to ISL 0.16.1llvm-svn: 257898

            List of files:
            /llvm-project-15.0.7/polly/test/ScopInfo/complex-loop-nesting.ll</description>
        <pubDate>Fri, 15 Jan 2016 15:54:45 +0000</pubDate>
        <dc:creator>Michael Kruse &lt;llvm@meinersbur.de&gt;</dc:creator>
    </item>
<item>
        <title>5a9a65e4 - Prepare unit tests for update to ISL 0.16</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/polly/test/ScopInfo/complex-loop-nesting.ll#5a9a65e4</link>
        <description>Prepare unit tests for update to ISL 0.16ISL 0.16 will change how sets are printed which breaks 117 unit teststhat text-compare printed sets. This patch re-formats most of these unittests using a script and small manual editing on top of that. Whenactually updating ISL, most work is done by just re-running the scriptto adapt to the changed output.Some tests that compare IR and tests with single CHECK-lines that can beeasily updated manually are not included here.The re-format script will also be committed afterwards. The per-testformatter invocation command lines options will not be added in the nearfuture because it is ad hoc and would overwrite the manual edits.Ideally it also shouldn&apos;t be required anymore because ISL&apos;s set printinghas become more stable in 0.16.Differential Revision: http://reviews.llvm.org/D16095llvm-svn: 257851

            List of files:
            /llvm-project-15.0.7/polly/test/ScopInfo/complex-loop-nesting.ll</description>
        <pubDate>Fri, 15 Jan 2016 00:48:42 +0000</pubDate>
        <dc:creator>Michael Kruse &lt;llvm@meinersbur.de&gt;</dc:creator>
    </item>
<item>
        <title>30e2307f - [FIX] Schedule generation for block exiting multiple loops.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/polly/test/ScopInfo/complex-loop-nesting.ll#30e2307f</link>
        <description>[FIX] Schedule generation for block exiting multiple loops.  This fixes bug PR25604.llvm-svn: 256125

            List of files:
            /llvm-project-15.0.7/polly/test/ScopInfo/complex-loop-nesting.ll</description>
        <pubDate>Sun, 20 Dec 2015 17:12:22 +0000</pubDate>
        <dc:creator>Johannes Doerfert &lt;doerfert@cs.uni-saarland.de&gt;</dc:creator>
    </item>
</channel>
</rss>
