llvm-project/polly/test/Simplify/scalability2.ll

189 lines
7.2 KiB
LLVM

; RUN: opt %loadPolly -polly-ignore-inbounds -polly-simplify -analyze < %s | FileCheck %s -match-full-lines
;
; Test scalability.
;
define void @func(i32 %n, double* noalias nonnull %A,
i32 %p0, i32 %p1, i32 %p2, i32 %p3, i32 %p4, i32 %p5, i32 %p6, i32 %p7, i32 %p8, i32 %p9,
i32 %p10, i32 %p11, i32 %p12, i32 %p13, i32 %p14, i32 %p15, i32 %p16, i32 %p17, i32 %p18, i32 %p19,
i32 %p20, i32 %p21, i32 %p22, i32 %p23, i32 %p24, i32 %p25, i32 %p26, i32 %p27, i32 %p28, i32 %p29,
i32 %p30, i32 %p31, i32 %p32, i32 %p33, i32 %p34, i32 %p35, i32 %p36, i32 %p37, i32 %p38, i32 %p39,
i32 %p40, i32 %p41, i32 %p42, i32 %p43, i32 %p44, i32 %p45, i32 %p46, i32 %p47, i32 %p48, i32 %p49,
i32 %p50, i32 %p51, i32 %p52, i32 %p53, i32 %p54, i32 %p55, i32 %p56, i32 %p57, i32 %p58, i32 %p59) {
entry:
br label %for
for:
%j = phi i32 [0, %entry], [%j.inc, %inc]
%j.cmp = icmp slt i32 %j, %n
br i1 %j.cmp, label %body, label %exit
body:
%A0 = getelementptr inbounds double, double* %A, i32 %p0
%A1 = getelementptr inbounds double, double* %A, i32 %p1
%A2 = getelementptr inbounds double, double* %A, i32 %p2
%A3 = getelementptr inbounds double, double* %A, i32 %p3
%A4 = getelementptr inbounds double, double* %A, i32 %p4
%A5 = getelementptr inbounds double, double* %A, i32 %p5
%A6 = getelementptr inbounds double, double* %A, i32 %p6
%A7 = getelementptr inbounds double, double* %A, i32 %p7
%A8 = getelementptr inbounds double, double* %A, i32 %p8
%A9 = getelementptr inbounds double, double* %A, i32 %p9
%A10 = getelementptr inbounds double, double* %A, i32 %p10
%A11 = getelementptr inbounds double, double* %A, i32 %p11
%A12 = getelementptr inbounds double, double* %A, i32 %p12
%A13 = getelementptr inbounds double, double* %A, i32 %p13
%A14 = getelementptr inbounds double, double* %A, i32 %p14
%A15 = getelementptr inbounds double, double* %A, i32 %p15
%A16 = getelementptr inbounds double, double* %A, i32 %p16
%A17 = getelementptr inbounds double, double* %A, i32 %p17
%A18 = getelementptr inbounds double, double* %A, i32 %p18
%A19 = getelementptr inbounds double, double* %A, i32 %p19
%A20 = getelementptr inbounds double, double* %A, i32 %p20
%A21 = getelementptr inbounds double, double* %A, i32 %p21
%A22 = getelementptr inbounds double, double* %A, i32 %p22
%A23 = getelementptr inbounds double, double* %A, i32 %p23
%A24 = getelementptr inbounds double, double* %A, i32 %p24
%A25 = getelementptr inbounds double, double* %A, i32 %p25
%A26 = getelementptr inbounds double, double* %A, i32 %p26
%A27 = getelementptr inbounds double, double* %A, i32 %p27
%A28 = getelementptr inbounds double, double* %A, i32 %p28
%A29 = getelementptr inbounds double, double* %A, i32 %p29
%A30 = getelementptr inbounds double, double* %A, i32 %p30
%A31 = getelementptr inbounds double, double* %A, i32 %p31
%A32 = getelementptr inbounds double, double* %A, i32 %p32
%A33 = getelementptr inbounds double, double* %A, i32 %p33
%A34 = getelementptr inbounds double, double* %A, i32 %p34
%A35 = getelementptr inbounds double, double* %A, i32 %p35
%A36 = getelementptr inbounds double, double* %A, i32 %p36
%A37 = getelementptr inbounds double, double* %A, i32 %p37
%A38 = getelementptr inbounds double, double* %A, i32 %p38
%A39 = getelementptr inbounds double, double* %A, i32 %p39
%A40 = getelementptr inbounds double, double* %A, i32 %p40
%A41 = getelementptr inbounds double, double* %A, i32 %p41
%A42 = getelementptr inbounds double, double* %A, i32 %p42
%A43 = getelementptr inbounds double, double* %A, i32 %p43
%A44 = getelementptr inbounds double, double* %A, i32 %p44
%A45 = getelementptr inbounds double, double* %A, i32 %p45
%A46 = getelementptr inbounds double, double* %A, i32 %p46
%A47 = getelementptr inbounds double, double* %A, i32 %p47
%A48 = getelementptr inbounds double, double* %A, i32 %p48
%A49 = getelementptr inbounds double, double* %A, i32 %p49
%A50 = getelementptr inbounds double, double* %A, i32 %p50
%A51 = getelementptr inbounds double, double* %A, i32 %p51
%A52 = getelementptr inbounds double, double* %A, i32 %p52
%A53 = getelementptr inbounds double, double* %A, i32 %p53
%A54 = getelementptr inbounds double, double* %A, i32 %p54
%A55 = getelementptr inbounds double, double* %A, i32 %p55
%A56 = getelementptr inbounds double, double* %A, i32 %p56
%A57 = getelementptr inbounds double, double* %A, i32 %p57
%A58 = getelementptr inbounds double, double* %A, i32 %p58
%A59 = getelementptr inbounds double, double* %A, i32 %p59
%val0 = load double, double* %A0
store double %val0, double* %A1
%val2 = load double, double* %A2
store double %val2, double* %A3
%val4 = load double, double* %A4
store double %val4, double* %A5
%val6 = load double, double* %A6
store double %val6, double* %A7
%val8 = load double, double* %A8
store double %val8, double* %A9
%val10 = load double, double* %A10
store double %val10, double* %A11
%val12 = load double, double* %A12
store double %val12, double* %A13
%val13 = load double, double* %A13
store double %val13, double* %A15
%val16 = load double, double* %A16
store double %val16, double* %A17
%val18 = load double, double* %A18
store double %val18, double* %A19
%val20 = load double, double* %A20
store double %val20, double* %A21
%val22 = load double, double* %A22
store double %val22, double* %A23
%val24 = load double, double* %A24
store double %val24, double* %A25
%val26 = load double, double* %A26
store double %val26, double* %A27
%val28 = load double, double* %A28
store double %val28, double* %A29
%val30 = load double, double* %A30
store double %val30, double* %A31
%val32 = load double, double* %A32
store double %val32, double* %A33
%val34 = load double, double* %A34
store double %val34, double* %A35
%val36 = load double, double* %A36
store double %val36, double* %A37
%val38 = load double, double* %A38
store double %val38, double* %A39
%val40 = load double, double* %A40
store double %val40, double* %A41
%val42 = load double, double* %A42
store double %val42, double* %A43
%val44 = load double, double* %A44
store double %val44, double* %A45
%val46 = load double, double* %A46
store double %val46, double* %A47
%val48 = load double, double* %A48
store double %val48, double* %A49
%val50 = load double, double* %A50
store double %val50, double* %A51
%val52 = load double, double* %A52
store double %val52, double* %A53
%val54 = load double, double* %A54
store double %val54, double* %A55
%val56 = load double, double* %A56
store double %val56, double* %A57
%val58 = load double, double* %A58
store double %val58, double* %A59
br label %inc
inc:
%j.inc = add nuw nsw i32 %j, 1
br label %for
exit:
br label %return
return:
ret void
}
; CHECK: SCoP could not be simplified