[LLVMbugs] [Bug 2967] New: instcombine is removing a traping instruction
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Tue Oct 28 06:48:48 PDT 2008
http://llvm.org/bugs/show_bug.cgi?id=2967
Summary: instcombine is removing a traping instruction
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Scalar Optimizations
AssignedTo: unassignedbugs at nondot.org
ReportedBy: alenhar2 at uiuc.edu
CC: llvmbugs at cs.uiuc.edu
In this code, instcombine reduces it to ret void. The trapping load is
removed. Essentially I would contend the load should be treated in the same
way a noreturn function before an unreachable is treated.
target datalayout =
"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-$
target triple = "i386-pc-linux-gnu"
define void @foo(i32 %x) nounwind {
entry:
%0 = icmp eq i32 %x, 0 ; <i1> [#uses=1]
br i1 %0, label %bb, label %return
bb: ; preds = %entry
%1 = volatile load i32* null ; <i32> [#uses=0]
unreachable
br label %return
return: ; preds = %entry
ret void
}
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list