2010-11-18-LCSSA.ll 914 B

12345678910111213141516171819202122232425262728
  1. ; RUN: opt < %s -loop-unswitch
  2. ; PR8622
  3. @g_38 = external global i32, align 4
  4. define void @func_67(i32 %p_68.coerce) nounwind {
  5. entry:
  6. br i1 true, label %for.end12, label %bb.nph
  7. bb.nph: ; preds = %entry
  8. %g_38.promoted = load i32, i32* @g_38
  9. br label %for.body
  10. for.body: ; preds = %for.cond, %bb.nph
  11. %tobool.i = icmp eq i32 %p_68.coerce, 1
  12. %xor4.i = xor i32 %p_68.coerce, 1
  13. %call1 = select i1 %tobool.i, i32 0, i32 %xor4.i
  14. br label %for.cond
  15. for.cond: ; preds = %for.body
  16. br i1 true, label %for.cond.for.end12_crit_edge, label %for.body
  17. for.cond.for.end12_crit_edge: ; preds = %for.cond
  18. store i32 %call1, i32* @g_38
  19. br label %for.end12
  20. for.end12: ; preds = %for.cond.for.end12_crit_edge, %entry
  21. ret void
  22. }