[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


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) {
        br label %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
        ret i32 1
        ret i32 2
        ret i32 3
        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