56 lines · plain
1; RUN: opt < %s -disable-output "-passes=print<scalar-evolution>" 2>&1 | FileCheck %s2 3; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test1'4; CHECK-NOT: (trunc i{{.*}}ext5 6define i16 @test1(i8 %x) {7 %A = sext i8 %x to i328 %B = trunc i32 %A to i169 ret i16 %B10}11 12; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test2'13; CHECK-NOT: (trunc i{{.*}}ext14 15define i8 @test2(i16 %x) {16 %A = sext i16 %x to i3217 %B = trunc i32 %A to i818 ret i8 %B19}20 21; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test3'22; CHECK-NOT: (trunc i{{.*}}ext23 24define i16 @test3(i16 %x) {25 %A = sext i16 %x to i3226 %B = trunc i32 %A to i1627 ret i16 %B28}29 30; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test4'31; CHECK-NOT: (trunc i{{.*}}ext32 33define i16 @test4(i8 %x) {34 %A = zext i8 %x to i3235 %B = trunc i32 %A to i1636 ret i16 %B37}38 39; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test5'40; CHECK-NOT: (trunc i{{.*}}ext41 42define i8 @test5(i16 %x) {43 %A = zext i16 %x to i3244 %B = trunc i32 %A to i845 ret i8 %B46}47 48; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'test6'49; CHECK-NOT: (trunc i{{.*}}ext50 51define i16 @test6(i16 %x) {52 %A = zext i16 %x to i3253 %B = trunc i32 %A to i1654 ret i16 %B55}56