1; RUN: opt < %s -analyze -scalar-evolution | FileCheck %s 2 3; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test1' 4; CHECK-NOT: (trunc i{{.*}}ext 5 6define i16 @test1(i8 %x) { 7 %A = sext i8 %x to i32 8 %B = trunc i32 %A to i16 9 ret i16 %B 10} 11 12; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test2' 13; CHECK-NOT: (trunc i{{.*}}ext 14 15define i8 @test2(i16 %x) { 16 %A = sext i16 %x to i32 17 %B = trunc i32 %A to i8 18 ret i8 %B 19} 20 21; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test3' 22; CHECK-NOT: (trunc i{{.*}}ext 23 24define i16 @test3(i16 %x) { 25 %A = sext i16 %x to i32 26 %B = trunc i32 %A to i16 27 ret i16 %B 28} 29 30; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test4' 31; CHECK-NOT: (trunc i{{.*}}ext 32 33define i16 @test4(i8 %x) { 34 %A = zext i8 %x to i32 35 %B = trunc i32 %A to i16 36 ret i16 %B 37} 38 39; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test5' 40; CHECK-NOT: (trunc i{{.*}}ext 41 42define i8 @test5(i16 %x) { 43 %A = zext i16 %x to i32 44 %B = trunc i32 %A to i8 45 ret i8 %B 46} 47 48; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test6' 49; CHECK-NOT: (trunc i{{.*}}ext 50 51define i16 @test6(i16 %x) { 52 %A = zext i16 %x to i32 53 %B = trunc i32 %A to i16 54 ret i16 %B 55} 56