pr22086.ll 640 B

12345678910111213141516171819202122232425262728
  1. ; RUN: opt -S -jump-threading < %s | FileCheck %s
  2. ; CHECK-LABEL: @f(
  3. ; CHECK-LABEL: entry:
  4. ; CHECK-NEXT: br label %[[loop:.*]]
  5. ; CHECK: [[loop]]:
  6. ; CHECK-NEXT: br label %[[loop]]
  7. define void @f() {
  8. entry:
  9. br label %for.cond1
  10. if.end16:
  11. %phi1 = phi i32 [ undef, %for.cond1 ]
  12. %g.3 = phi i32 [ %g.1, %for.cond1 ]
  13. %sext = shl i32 %g.3, 16
  14. %conv20 = ashr exact i32 %sext, 16
  15. %tobool21 = icmp eq i32 %phi1, 0
  16. br i1 %tobool21, label %lor.rhs, label %for.cond1
  17. for.cond1:
  18. %g.1 = phi i32 [ 0, %entry ], [ 0, %lor.rhs ], [ %g.3, %if.end16 ]
  19. br i1 undef, label %lor.rhs, label %if.end16
  20. lor.rhs:
  21. br label %for.cond1
  22. }