rle-nonlocal.ll 535 B

12345678910111213141516171819202122232425
  1. ; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
  2. define i32 @main(i32** %p, i32 %x, i32 %y) {
  3. block1:
  4. %cmp = icmp eq i32 %x, %y
  5. br i1 %cmp , label %block2, label %block3
  6. block2:
  7. %a = load i32*, i32** %p
  8. br label %block4
  9. block3:
  10. %b = load i32*, i32** %p
  11. br label %block4
  12. block4:
  13. ; CHECK-NOT: %existingPHI = phi
  14. ; CHECK: %DEAD = phi
  15. %existingPHI = phi i32* [ %a, %block2 ], [ %b, %block3 ]
  16. %DEAD = load i32*, i32** %p
  17. %c = load i32, i32* %DEAD
  18. %d = load i32, i32* %existingPHI
  19. %e = add i32 %c, %d
  20. ret i32 %e
  21. }