<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:michael.m.kuperstein@intel.com" title="Michael Kuperstein <michael.m.kuperstein@intel.com>"> <span class="fn">Michael Kuperstein</span></a>
</span> changed
<a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED --- - Regression due to GMR changes in r242512"
href="https://llvm.org/bugs/show_bug.cgi?id=24288">bug 24288</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>RESOLVED
</td>
<td>REOPENED
</td>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>FIXED
</td>
<td>---
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED --- - Regression due to GMR changes in r242512"
href="https://llvm.org/bugs/show_bug.cgi?id=24288#c6">Comment # 6</a>
on <a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED --- - Regression due to GMR changes in r242512"
href="https://llvm.org/bugs/show_bug.cgi?id=24288">bug 24288</a>
from <span class="vcard"><a class="email" href="mailto:michael.m.kuperstein@intel.com" title="Michael Kuperstein <michael.m.kuperstein@intel.com>"> <span class="fn">Michael Kuperstein</span></a>
</span></b>
<pre>Not hard enough. :-)
That still doesn't fix the original eembc issue, I over-reduced the reproducer.
This still fails:
@ptr = internal unnamed_addr global i8* getelementptr inbounds ([4096 x i8],
[4096 x i8]* @arr, i32 0, i32 0), align 4
@arr = internal global [4096 x i8] zeroinitializer, align 1
define i8* @foo(i32 %k, i32 %incr, i8* %p) {
entry:
%start = icmp sgt i32 %k, 0
br i1 %start, label %for.body, label %for.end
for.body:
%i = phi i32 [ %next, %for.body ], [ 0, %entry ]
%mul= mul nsw i32 %i, %incr
%readptr = getelementptr inbounds i8, i8* %p, i32 %mul
%val = load i8, i8* %readptr, align 1
%writeptr = load i8*, i8** @ptr
%newptr = getelementptr inbounds i8, i8* %writeptr
store i8* %newptr, i8** @ptr, align 4
store i8 %val, i8* %writeptr, align 1
%cmpptr = load i8*, i8** @ptr
%cmp = icmp eq i8* %cmpptr, getelementptr inbounds ([4096 x i8], [4096 x i8]*
@arr, i32 1, i32 0)
store i8* getelementptr inbounds ([4096 x i8], [4096 x i8]* @arr, i32 0, i32
0), i8** @ptr
%next = add i32 %i, 1
br i1 %cmp, label %for.body, label %for.end
for.end:
%ret = load i8*, i8** @ptr
ret i8* %ret
}
The only difference is the store just before %next.</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>