<?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 multiple_exiting_blocks_two_loop.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/multiple_exiting_blocks_two_loop.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/multiple_exiting_blocks_two_loop.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/multiple_exiting_blocks_two_loop.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/multiple_exiting_blocks_two_loop.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/multiple_exiting_blocks_two_loop.ll#959a8dc3</link>
        <description>Update to ISL 0.16.1llvm-svn: 257898

            List of files:
            /llvm-project-15.0.7/polly/test/ScopInfo/multiple_exiting_blocks_two_loop.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>f4ee371e - tests: Drop -polly-detect-unprofitable and -polly-no-early-exit</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll#f4ee371e</link>
        <description>tests: Drop -polly-detect-unprofitable and -polly-no-early-exitThese flags are now always passed to all tests and need to be disabled ifnot needed. Disabling these flags, rather than passing them to almost alltests, significantly simplfies our RUN: lines.llvm-svn: 249422

            List of files:
            /llvm-project-15.0.7/polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll</description>
        <pubDate>Tue, 06 Oct 2015 15:36:44 +0000</pubDate>
        <dc:creator>Tobias Grosser &lt;tobias@grosser.es&gt;</dc:creator>
    </item>
<item>
        <title>f4fa9879 - [FIX] Do not assume only one loop can be left at a time</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll#f4fa9879</link>
        <description>[FIX] Do not assume only one loop can be left at a timellvm-svn: 247291

            List of files:
            /llvm-project-15.0.7/polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll</description>
        <pubDate>Thu, 10 Sep 2015 15:53:59 +0000</pubDate>
        <dc:creator>Johannes Doerfert &lt;doerfert@cs.uni-saarland.de&gt;</dc:creator>
    </item>
</channel>
</rss>
