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