switch_to_lookup_table.ll 910 B

1234567891011121314151617181920212223242526272829303132
  1. ; RUN: opt < %s -simplifycfg -S -mtriple=sparc-unknown-unknown | FileCheck %s
  2. ; Check that switches are not turned into lookup tables, as this is not
  3. ; considered profitable on the target.
  4. define i32 @f(i32 %c) nounwind uwtable readnone {
  5. entry:
  6. switch i32 %c, label %sw.default [
  7. i32 42, label %return
  8. i32 43, label %sw.bb1
  9. i32 44, label %sw.bb2
  10. i32 45, label %sw.bb3
  11. i32 46, label %sw.bb4
  12. i32 47, label %sw.bb5
  13. i32 48, label %sw.bb6
  14. ]
  15. sw.bb1: br label %return
  16. sw.bb2: br label %return
  17. sw.bb3: br label %return
  18. sw.bb4: br label %return
  19. sw.bb5: br label %return
  20. sw.bb6: br label %return
  21. sw.default: br label %return
  22. return:
  23. %retval.0 = phi i32 [ 15, %sw.default ], [ 1, %sw.bb6 ], [ 62, %sw.bb5 ], [ 27, %sw.bb4 ], [ -1, %sw.bb3 ], [ 0, %sw.bb2 ], [ 123, %sw.bb1 ], [ 55, %entry ]
  24. ret i32 %retval.0
  25. ; CHECK-LABEL: @f(
  26. ; CHECK-NOT: getelementptr
  27. ; CHECK: switch i32 %c
  28. }