Xamarin Public Jenkins (auto-signing) f32dbaf0b2 Imported Upstream version 5.18.0.225
Former-commit-id: 10196d987d5fc5564b9d3b33b1fdf13190f4d0b5
2018-12-21 19:01:49 +00:00

26 lines
606 B
LLVM

; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s
define i1 @main(i16 %a) {
; CHECK-LABEL: Classifying expressions for: @main
entry:
br label %body
body:
%dec2 = phi i16 [ %a, %entry ], [ %dec, %cond ]
%dec = add i16 %dec2, -1
%conv2 = zext i16 %dec2 to i32
%conv = zext i16 %dec to i32
; CHECK: %conv = zext i16 %dec to i32
; CHECK-NEXT: --> {(zext i16 (-1 + %a) to i32),+,65535}<nuw><%body>
; CHECK-NOT: --> {(65535 + (zext i16 %a to i32)),+,65535}<nuw><%body>
br label %cond
cond:
br i1 false, label %body, label %exit
exit:
%ret = icmp ne i32 %conv, 0
ret i1 %ret
}