[LLVMbugs] [Bug 965] NEW: -globalmodref-aa & unreachable don't go along very well.
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Sun Oct 22 17:33:43 PDT 2006
http://llvm.org/bugs/show_bug.cgi?id=965
Summary: -globalmodref-aa & unreachable don't go along very well.
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Global Analyses
AssignedTo: unassignedbugs at nondot.org
ReportedBy: patil.nikhil at gmail.com
Hi,
I have been playing with functions marked __attribute__((noreturn));
Specifically consider a following code:
void f(void) __attribute__((noreturn));
int call_f()
{
f();
}
void f()
{
while(1)
;
}
With "opt -globalsmodref-aa -adce" this gets compiled to:
int %call_f() {
entry:
%retval = alloca int, align 4 ; <int*> [#uses=1]
unreachable ; **** WRONG!!
return: ; No predecessors!
%retval = load int* %retval ; <int> [#uses=1]
ret int %retval
void %f() {
entry:
br label %bb
bb: ; preds = %bb, %entry
br label %bb
return: ; No predecessors!
ret void
}
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
More information about the llvm-bugs
mailing list