2014-06-10-SwitchContiguousOpt.ll 461 B

123456789101112131415161718192021222324252627
  1. ; RUN: opt < %s -lowerswitch -S | FileCheck %s
  2. ; CHECK-NOT: icmp eq i32 %0, 1
  3. define i32 @foo(i32 %a) #0 {
  4. entry:
  5. %retval = alloca i32, align 4
  6. %a.addr = alloca i32, align 4
  7. store i32 %a, i32* %a.addr, align 4
  8. %0 = load i32, i32* %a.addr, align 4
  9. switch i32 %0, label %sw.default [
  10. i32 0, label %sw.bb
  11. i32 1, label %sw.bb1
  12. i32 2, label %sw.bb2
  13. ]
  14. sw.bb:
  15. ret i32 12
  16. sw.bb1:
  17. ret i32 4
  18. sw.bb2:
  19. ret i32 2
  20. sw.default:
  21. ret i32 9
  22. }