<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - [LoopUnrollAndJam / LoopUnroll ] Instruction does not dominate all uses!"
href="https://bugs.llvm.org/show_bug.cgi?id=50661">50661</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[LoopUnrollAndJam / LoopUnroll ] Instruction does not dominate all uses!
</td>
</tr>
<tr>
<th>Product</th>
<td>libraries
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Loop Optimizer
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>paulsson@linux.vnet.ibm.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=24938" name="attach_24938" title="reduced testcase">attachment 24938</a> <a href="attachment.cgi?id=24938&action=edit" title="reduced testcase">[details]</a></span>
reduced testcase
opt -O3 ./tc_crash0_aftercreduce.ll -march=arch13 -S -o -
-extra-vectorizer-passes -enable-unroll-and-jam -allow-unroll-and-jam
-instcombine-code-sinking=false -unroll-and-jam-count=8 -keep-loops=false
Instruction does not dominate all uses!
%i18 = and i32 %c.promoted, 4
%i21 = and i32 %b.promoted, %i18
*** IR Dump After LCSSAPass on f ***
; Function Attrs: nofree norecurse nosync nounwind
define dso_local void @f() local_unnamed_addr #0 {
bb:
store i32 9, i32* @a, align 4
%c.promoted = load i32, i32* @c, align 4
%b.promoted = load i32, i32* @b, align 4
br label %bb8.outer
bb8.outer: ; preds = %bb14, %bb
%i258.ph = phi i32 [ %i25, %bb14 ], [ 9, %bb ]
%i216.ph = phi i32 [ %i21, %bb14 ], [ %b.promoted, %bb ]
%i174.ph = phi i32 [ %i18, %bb14 ], [ %c.promoted, %bb ]
br label %bb8
bb8: ; preds = %bb8.outer, %bb8
%i1.0 = phi i32 [ %i13, %bb8 ], [ 0, %bb8.outer ]
%i10 = icmp ult i32 %i1.0, 2
%i13 = add nuw nsw i32 %i1.0, 1
br i1 %i10, label %bb8, label %bb14
bb14: ; preds = %bb8
%i18 = and i32 %i174.ph, 4
%i21 = and i32 %i216.ph, %i18
%i25 = add nsw i32 %i258.ph, -4
%i6.not = icmp eq i32 %i25, 0
br i1 %i6.not, label %bb26, label %bb8.outer
bb26: ; preds = %bb14
%i18.lcssa = phi i32 [ %i18, %bb14 ]
%i21.lcssa = phi i32 [ %i21, %bb14 ]
%i25.lcssa = phi i32 [ %i25, %bb14 ]
store i32 %i18.lcssa, i32* @c, align 4
store i32 %i21.lcssa, i32* @b, align 4
store i32 %i25.lcssa, i32* @a, align 4
ret void
}
*** IR Dump After LoopUnrollPass on f ***
...
bb8.outer: ; preds = %bb
%i21 = and i32 %b.promoted, %i18
%i18 = and i32 %c.promoted, 4
...</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>