[LLVMbugs] [Bug 1197] switch lowering infinitely loops, chews memory.
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Wed Feb 21 03:31:11 PST 2007
http://llvm.org/bugs/show_bug.cgi?id=1197
asl at math.spbu.ru changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
------- Additional Comments From asl at math.spbu.ru 2007-02-21 05:31 -------
switch lowering is still broken somehow.
Consider the folowing code:
define i32 @main(i32 %argc, i8** %argv) {
old_entry1:
br label %cond_next
cond_next:
%not.tmp14 = icmp slt i32 %argc, 11
%hvar2 = zext i1 %not.tmp14 to i32
switch i32 %hvar2, label %old_entry [
i32 -2, label %cond_true
i32 -1, label %cond_next
i32 0, label %cond_true15
i32 1, label %cond_next22
]
cond_true15:
ret i32 1
cond_true:
ret i32 2
cond_next22:
ret i32 3
old_entry:
ret i32 4
}
(Yes, I know, that cases -1 and -2 are really dead).
Resulting binary will always produce result code 4. Commenting out "-1" and "-2"
cases will fix the problem.
------- 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