pr22641.ll 606 B

12345678910111213141516171819202122232425
  1. ; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s
  2. define i1 @main(i16 %a) {
  3. ; CHECK-LABEL: Classifying expressions for: @main
  4. entry:
  5. br label %body
  6. body:
  7. %dec2 = phi i16 [ %a, %entry ], [ %dec, %cond ]
  8. %dec = add i16 %dec2, -1
  9. %conv2 = zext i16 %dec2 to i32
  10. %conv = zext i16 %dec to i32
  11. ; CHECK: %conv = zext i16 %dec to i32
  12. ; CHECK-NEXT: --> {(zext i16 (-1 + %a) to i32),+,65535}<nuw><%body>
  13. ; CHECK-NOT: --> {(65535 + (zext i16 %a to i32)),+,65535}<nuw><%body>
  14. br label %cond
  15. cond:
  16. br i1 false, label %body, label %exit
  17. exit:
  18. %ret = icmp ne i32 %conv, 0
  19. ret i1 %ret
  20. }