[LLVMbugs] [Bug 18927] New: Opt incorrectly optimizes pr41454 from gcc testsuite
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Feb 21 06:15:23 PST 2014
http://llvm.org/bugs/show_bug.cgi?id=18927
Bug ID: 18927
Summary: Opt incorrectly optimizes pr41454 from gcc testsuite
Product: tools
Version: 3.4
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: opt
Assignee: unassignedbugs at nondot.org
Reporter: ihusar at fit.vutbr.cz
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 12099
--> http://llvm.org/bugs/attachment.cgi?id=12099&action=edit
test c file
The code in attachment
#define OFFS 12
int main ()
{
int BM_tab2[OFFS];
int *BM_tab = BM_tab2;
int *BM_tab_base;
BM_tab_base = BM_tab;
BM_tab += OFFS;
while (BM_tab_base != BM_tab)
{
*--BM_tab = 6;
*--BM_tab = 6;
}
if (BM_tab2[0] != 6)
abort ();
return 0;
}
get incorrectly optimized by opt -O3 to
; Function Attrs: nounwind uwtable
define i32 @main() #0 {
if.then:
call void @abort() #2
unreachable
}
Strange is that when I change OFFS to e.g. 2, 4, 6, 8, 10 then it works
correctly. Values 12, 14, 16, ... cause this test be optimized only to the
abort call. With gcc this test works fine.
I used clang and opt with -O3:
clang version 3.4 (tags/RELEASE_34/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140221/791f2392/attachment.html>
More information about the llvm-bugs
mailing list