2004-12-10-SimplifyCFGCrash.ll 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. ; RUN: opt < %s -simplifycfg -disable-output
  2. define void @symhash_add() {
  3. entry:
  4. br i1 undef, label %then.0, label %UnifiedReturnBlock
  5. then.0: ; preds = %entry
  6. br i1 undef, label %loopentry.2, label %loopentry.1.preheader
  7. loopentry.1.preheader: ; preds = %then.0
  8. br label %loopentry.1.outer
  9. loopentry.1.outer: ; preds = %loopexit.1, %loopentry.1.preheader
  10. br label %loopentry.1
  11. loopentry.1: ; preds = %endif.1, %then.4, %then.3, %then.1, %loopentry.1.outer
  12. br i1 undef, label %loopexit.1, label %no_exit.1
  13. no_exit.1: ; preds = %loopentry.1
  14. br i1 undef, label %then.1, label %else.0
  15. then.1: ; preds = %no_exit.1
  16. br label %loopentry.1
  17. else.0: ; preds = %no_exit.1
  18. br i1 undef, label %then.2, label %else.1
  19. then.2: ; preds = %else.0
  20. br i1 undef, label %then.3, label %endif.1
  21. then.3: ; preds = %then.2
  22. br label %loopentry.1
  23. else.1: ; preds = %else.0
  24. br i1 undef, label %endif.1, label %then.4
  25. then.4: ; preds = %else.1
  26. br label %loopentry.1
  27. endif.1: ; preds = %else.1, %then.2
  28. br label %loopentry.1
  29. loopexit.1: ; preds = %loopentry.1
  30. br i1 undef, label %loopentry.1.outer, label %loopentry.2
  31. loopentry.2: ; preds = %no_exit.2, %loopexit.1, %then.0
  32. br i1 undef, label %loopexit.2, label %no_exit.2
  33. no_exit.2: ; preds = %loopentry.2
  34. br label %loopentry.2
  35. loopexit.2: ; preds = %loopentry.2
  36. ret void
  37. UnifiedReturnBlock: ; preds = %entry
  38. ret void
  39. }