2
0

PR16069.ll 803 B

12345678910111213141516171819202122232425262728
  1. ; RUN: opt < %s -simplifycfg -S | FileCheck %s
  2. @b = extern_weak global i32
  3. define i32 @foo(i1 %y) {
  4. ; CHECK: define i32 @foo(i1 %y) {
  5. br i1 %y, label %bb1, label %bb2
  6. bb1:
  7. br label %bb3
  8. bb2:
  9. br label %bb3
  10. bb3:
  11. %cond.i = phi i32 [ 0, %bb1 ], [ srem (i32 1, i32 zext (i1 icmp eq (i32* @b, i32* null) to i32)), %bb2 ]
  12. ; CHECK: phi i32 {{.*}} srem (i32 1, i32 zext (i1 icmp eq (i32* @b, i32* null) to i32)), %bb2
  13. ret i32 %cond.i
  14. }
  15. define i32 @foo2(i1 %x) {
  16. ; CHECK: define i32 @foo2(i1 %x) {
  17. bb0:
  18. br i1 %x, label %bb1, label %bb2
  19. bb1:
  20. br label %bb2
  21. bb2:
  22. %cond = phi i32 [ 0, %bb1 ], [ srem (i32 1, i32 zext (i1 icmp eq (i32* @b, i32* null) to i32)), %bb0 ]
  23. ; CHECK: %cond = phi i32 [ 0, %bb1 ], [ srem (i32 1, i32 zext (i1 icmp eq (i32* @b, i32* null) to i32)), %bb0 ]
  24. ret i32 %cond
  25. }