<p dir="auto">While packaging Julia 0.4.1 for Debian, we experienced a <a href="https://buildd.debian.org/status/fetch.php?pkg=julia&amp;arch=i386&amp;ver=0.4.1-1&amp;stamp=1448544177" rel="nofollow">build failure on x86</a>  caused by a timeout.</p>
<p dir="auto">I performed a series of test builds in a Debian unstable i386 chroot, building the latest <code class="notranslate">release-0.4</code> using various LLVM versions from 3.3 to 3.7. Please inspect the complete <a href="https://gist.github.com/d9f0ddab9658f57c762e">build and test suite logs</a> with</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="git clone https://gist.github.com/d9f0ddab9658f57c762e julia-llvm-linux-x86-tests"><pre class="notranslate"><code class="notranslate">git clone https://gist.github.com/d9f0ddab9658f57c762e julia-llvm-linux-x86-tests
</code></pre></div>
<p dir="auto">These are the run-times of the test suite obtained with <code class="notranslate">time</code>:</p>
<table role="table">
<thead>
<tr>
<th>arch</th>
<th>julia</th>
<th>llvm</th>
<th align="right">elapsed</th>
</tr>
</thead>
<tbody>
<tr>
<td>x86</td>
<td><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce/hovercard" href="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce"><tt>eb31eef</tt></a></td>
<td>3.3</td>
<td align="right">5:59.55</td>
</tr>
<tr>
<td>x86</td>
<td><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce/hovercard" href="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce"><tt>eb31eef</tt></a></td>
<td>3.4</td>
<td align="right"><em>segfault</em></td>
</tr>
<tr>
<td>x86</td>
<td><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce/hovercard" href="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce"><tt>eb31eef</tt></a></td>
<td>3.5</td>
<td align="right"><em>segfault</em></td>
</tr>
<tr>
<td>x86</td>
<td><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce/hovercard" href="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce"><tt>eb31eef</tt></a></td>
<td>3.6</td>
<td align="right"><em>segfault</em></td>
</tr>
<tr>
<td>x86</td>
<td><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce/hovercard" href="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce"><tt>eb31eef</tt></a></td>
<td>3.7</td>
<td align="right"><strong>1:04:29</strong></td>
</tr>
</tbody>
</table>
<p dir="auto">On x86 the Julia test suite is an <strong>order of magnitude slower</strong> using LLVM 3.7, compared to LLVM 3.3.</p>
<p dir="auto">(Using LLVM 3.4, 3.5, or 3.6 the test suite aborts with a segmentation fault.)</p>
<p dir="auto">For comparison I performed the same series of test builds in a Debian unstable amd64 chroot on the same machine. The test suite takes longer with LLVM versions &gt; 3.3, but the increase is still tolerable:</p>
<table role="table">
<thead>
<tr>
<th>arch</th>
<th>julia</th>
<th>llvm</th>
<th align="right">elapsed</th>
</tr>
</thead>
<tbody>
<tr>
<td>x86_64</td>
<td><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce/hovercard" href="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce"><tt>eb31eef</tt></a></td>
<td>3.3</td>
<td align="right">5:22.86</td>
</tr>
<tr>
<td>x86_64</td>
<td><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce/hovercard" href="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce"><tt>eb31eef</tt></a></td>
<td>3.4</td>
<td align="right">8:41.82</td>
</tr>
<tr>
<td>x86_64</td>
<td><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce/hovercard" href="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce"><tt>eb31eef</tt></a></td>
<td>3.5</td>
<td align="right">10:01.84</td>
</tr>
<tr>
<td>x86_64</td>
<td><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce/hovercard" href="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce"><tt>eb31eef</tt></a></td>
<td>3.6</td>
<td align="right">10:11.50</td>
</tr>
<tr>
<td>x86_64</td>
<td><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce/hovercard" href="https://github.com/JuliaLang/julia/commit/eb31eef9b8db897be0921b73f1469f8180e15cce"><tt>eb31eef</tt></a></td>
<td>3.7</td>
<td align="right">9:56.67</td>
</tr>
</tbody>
</table>
<p dir="auto">Unfortunately I cannot provide more detail regarding the x86 performance regression, but it appears to affect all tests across the board. This issue is blocking Julia 0.4 from entering Debian. The Julia version currently in Debian unstable, 0.3.12, does not exhibit this issue when using LLVM ≥ 3.4.</p>
<p dir="auto">I wish I had better news to report so shortly before the 0.4.2 release (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="119389323" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/14186" data-hovercard-type="pull_request" data-hovercard-url="/JuliaLang/julia/pull/14186/hovercard" href="https://github.com/JuliaLang/julia/pull/14186">#14186</a>).</p>
<p dir="auto">this is an umbrella issue for tracking known issues with switching to LLVM35 as default. please edit this post or add a comment below. close when someone edits <code class="notranslate">deps/Versions.make</code> to <del><code class="notranslate">3.6.0</code></del> <code class="notranslate">3.7.0</code></p>
<p dir="auto">current known issues:</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> requires editing deps/Versions.make - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="125800095" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/14623" data-hovercard-type="pull_request" data-hovercard-url="/JuliaLang/julia/pull/14623/hovercard" href="https://github.com/JuliaLang/julia/pull/14623">#14623</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="39789408" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/7910" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/7910/hovercard" href="https://github.com/JuliaLang/julia/issues/7910">#7910</a> (<a href="http://reviews.llvm.org/D6961" rel="nofollow">upstream patch</a> committed to 3.7 -- only an issue on Mac)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> figure out performance regression (perhaps only run passes once <del>(requires writing a <code class="notranslate">TargetMachine</code> wrapper and overloading <code class="notranslate">addPassesToEmitMC</code>)</del> (requires changes to LLVM to expose passes))</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> requires leaving behind LLVM33</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> would eliminate content from the "fixed in LLVM 3.5" issue label</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="41171385" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/8137" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/8137/hovercard" href="https://github.com/JuliaLang/julia/issues/8137">#8137</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="48613003" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/8999" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/8999/hovercard" href="https://github.com/JuliaLang/julia/issues/8999">#8999</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="51424119" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/9280" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/9280/hovercard" href="https://github.com/JuliaLang/julia/issues/9280">#9280</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="51882263" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/9339" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/9339/hovercard" href="https://github.com/JuliaLang/julia/issues/9339">#9339</a> <del>(LLVM36-only issue)</del></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="55996164" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/9967" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/9967/hovercard" href="https://github.com/JuliaLang/julia/issues/9967">#9967</a> (fixed in LLVM36)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="59502482" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/10377" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/10377/hovercard" href="https://github.com/JuliaLang/julia/issues/10377">#10377</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="59712802" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/10394" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/10394/hovercard" href="https://github.com/JuliaLang/julia/issues/10394">#10394</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="72480548" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/11085" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/11085/hovercard" href="https://github.com/JuliaLang/julia/issues/11085">#11085</a> linalg/arnoldi test on win64</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="72464823" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/11083" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/11083/hovercard" href="https://github.com/JuliaLang/julia/issues/11083">#11083</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <del><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="68233081" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/10806" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/10806/hovercard" href="https://github.com/JuliaLang/julia/issues/10806">#10806</a></del> (afaict, this is a non-fatal issue in valgrind. jwn)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="70869528" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/11003" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/11003/hovercard" href="https://github.com/JuliaLang/julia/issues/11003">#11003</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <del><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="106224074" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/13106" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/13106/hovercard" href="https://github.com/JuliaLang/julia/issues/13106">#13106</a></del> (this issue is a non-fatal performance regression. jwn)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> re-disable FPO</li>
</ul>
<p dir="auto">related:</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="39001785" data-permission-text="Title is private" data-url="https://github.com/JuliaLang/julia/issues/7779" data-hovercard-type="issue" data-hovercard-url="/JuliaLang/julia/issues/7779/hovercard" href="https://github.com/JuliaLang/julia/issues/7779">#7779</a> coverage flags are broken with LLVM 3.5 on master</li>
</ul>
<p dir="auto"><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Keno/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Keno">@Keno</a></p>