brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.0 KiB · 064a0d3 Raw
143 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2 3target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"4target triple = "x86_64-unknown-linux-gnu"5 6%struct.hoge = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [8 x [2 x i32]], [8 x [2 x i32]], [4 x [4 x i32]], i32, i32, i32, i32, [256 x i8], [256 x i8], [256 x i8], [256 x i8], [256 x i8], i32, i32, i32, i32, i32, i32, [500 x i8], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [256 x i8], [256 x i8], [256 x i8], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [1024 x i8], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [256 x i8], [256 x i8], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [256 x i8], i32, i32, ptr, ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, [5 x double], i32, [8 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [6 x double], [6 x double], [256 x i8], i32, i32, i32, i32, [2 x [5 x i32]], [2 x [5 x i32]], i32, i32, i32, i32, i32, i32, i32, i32, i32, [3 x i32], i32 }7 8; The execution context of invalid loads in this test case has at some point become very complex and we should bail.9; CHECK-NOT: Statements10 11@global = external global [300 x i8], align 1612@global1 = external global ptr, align 813@global2 = external unnamed_addr constant [79 x i8], align 114@global3 = external unnamed_addr constant [57 x i8], align 115 16declare void @widget()17 18; Function Attrs: nounwind19declare void @quux(ptr, i64, ptr, ...)20 21; Function Attrs: nounwind uwtable22define void @hoge(ptr %A) {23bb:24  br label %bb1525 26bb15:                                             ; preds = %bb27  %tmp = load ptr, ptr @global1, align 8, !tbaa !128  %tmp16 = getelementptr inbounds %struct.hoge, ptr %tmp, i64 0, i32 15329  store float 1.0, ptr %A30  %tmp17 = load i32, ptr %tmp16, align 4, !tbaa !531  %tmp18 = icmp eq i32 %tmp17, 032  br i1 %tmp18, label %bb24, label %bb1933 34bb19:                                             ; preds = %bb1535  %tmp20 = getelementptr inbounds %struct.hoge, ptr %tmp, i64 0, i32 5036  store float 1.0, ptr %A37  %tmp21 = load i32, ptr %tmp20, align 8, !tbaa !938  %tmp22 = icmp eq i32 %tmp21, 039  br i1 %tmp22, label %bb24, label %bb2340 41bb23:                                             ; preds = %bb1942  call void @widget()43  br label %bb2444 45bb24:                                             ; preds = %bb23, %bb19, %bb1546  %tmp25 = load ptr, ptr @global1, align 8, !tbaa !147  store float 1.0, ptr %A48  %tmp26 = getelementptr inbounds %struct.hoge, ptr %tmp25, i64 0, i32 1649  %tmp27 = load i32, ptr %tmp26, align 8, !tbaa !1050  %tmp28 = icmp eq i32 %tmp27, 351  br i1 %tmp28, label %bb29, label %bb3452 53bb29:                                             ; preds = %bb2454  store float 1.0, ptr %A55  %tmp31 = load i32, ptr %tmp25, align 8, !tbaa !1156  %tmp32 = icmp slt i32 %tmp31, 14457  br i1 %tmp32, label %bb33, label %bb3458 59bb33:                                             ; preds = %bb2960  call void (ptr, i64, ptr, ...) @quux(ptr @global, i64 300, ptr @global2, i32 144)61  br label %bb3462 63bb34:                                             ; preds = %bb33, %bb29, %bb2464  %tmp35 = load ptr, ptr @global1, align 8, !tbaa !165  store float 1.0, ptr %A66  %tmp36 = getelementptr inbounds %struct.hoge, ptr %tmp35, i64 0, i32 4067  %tmp37 = load i32, ptr %tmp36, align 8, !tbaa !1268  %tmp38 = icmp eq i32 %tmp37, 069  br i1 %tmp38, label %bb49, label %bb3970 71bb39:                                             ; preds = %bb3472  %tmp40 = getelementptr inbounds %struct.hoge, ptr %tmp35, i64 0, i32 4673  store float 1.0, ptr %A74  %tmp41 = load i32, ptr %tmp40, align 8, !tbaa !1375  %tmp42 = icmp eq i32 %tmp41, 076  br i1 %tmp42, label %bb49, label %bb4377 78bb43:                                             ; preds = %bb3979  %tmp44 = getelementptr inbounds %struct.hoge, ptr %tmp35, i64 0, i32 780  store float 1.0, ptr %A81  %tmp45 = getelementptr inbounds %struct.hoge, ptr %tmp35, i64 0, i32 4882  %tmp46 = load i32, ptr %tmp45, align 8, !tbaa !1483  %tmp47 = icmp slt i32 0, %tmp4684  br i1 %tmp47, label %bb48, label %bb4985 86bb48:                                             ; preds = %bb4387  call void @widget()88  br label %bb4989 90bb49:                                             ; preds = %bb48, %bb43, %bb39, %bb3491  store float 1.0, ptr %A92  %tmp50 = load ptr, ptr @global1, align 8, !tbaa !193  %tmp51 = getelementptr inbounds %struct.hoge, ptr %tmp50, i64 0, i32 19894  %tmp52 = load i32, ptr %tmp51, align 8, !tbaa !1595  %tmp53 = icmp eq i32 %tmp52, 096  br i1 %tmp53, label %bb59, label %bb5497 98bb54:                                             ; preds = %bb4999  store float 1.0, ptr %A100  %tmp55 = getelementptr inbounds %struct.hoge, ptr %tmp50, i64 0, i32 16101  %tmp56 = load i32, ptr %tmp55, align 8, !tbaa !10102  %tmp57 = icmp eq i32 %tmp56, 0103  br i1 %tmp57, label %bb58, label %bb59104 105bb58:                                             ; preds = %bb54106  call void (ptr, i64, ptr, ...) @quux(ptr @global, i64 300, ptr @global3)107  br label %bb59108 109bb59:                                             ; preds = %bb58, %bb54, %bb49110  store float 1.0, ptr %A111  %tmp60 = load ptr, ptr @global1, align 8, !tbaa !1112  %tmp61 = getelementptr inbounds %struct.hoge, ptr %tmp60, i64 0, i32 31113  %tmp62 = load i32, ptr %tmp61, align 4, !tbaa !16114  %tmp63 = icmp eq i32 %tmp62, 0115  br i1 %tmp63, label %bb65, label %bb64116 117bb64:                                             ; preds = %bb59118  br label %bb65119 120bb65:                                             ; preds = %bb64, %bb59121  ret void122}123 124!llvm.ident = !{!0}125 126!0 = !{!"clang version 3.8.0 (trunk 252261) (llvm/trunk 252271)"}127!1 = !{!2, !2, i64 0}128!2 = !{!"any pointer", !3, i64 0}129!3 = !{!"omnipotent char", !4, i64 0}130!4 = !{!"Simple C/C++ TBAA"}131!5 = !{!6, !7, i64 5100}132!6 = !{!"", !7, i64 0, !7, i64 4, !7, i64 8, !7, i64 12, !7, i64 16, !7, i64 20, !7, i64 24, !7, i64 28, !7, i64 32, !7, i64 36, !7, i64 40, !7, i64 44, !7, i64 48, !7, i64 52, !7, i64 56, !7, i64 60, !7, i64 64, !7, i64 68, !3, i64 72, !3, i64 136, !3, i64 200, !7, i64 264, !7, i64 268, !7, i64 272, !7, i64 276, !3, i64 280, !3, i64 536, !3, i64 792, !3, i64 1048, !3, i64 1304, !7, i64 1560, !7, i64 1564, !7, i64 1568, !7, i64 1572, !7, i64 1576, !7, i64 1580, !3, i64 1584, !7, i64 2084, !7, i64 2088, !7, i64 2092, !7, i64 2096, !7, i64 2100, !7, i64 2104, !7, i64 2108, !7, i64 2112, !7, i64 2116, !7, i64 2120, !7, i64 2124, !7, i64 2128, !7, i64 2132, !7, i64 2136, !7, i64 2140, !7, i64 2144, !7, i64 2148, !7, i64 2152, !7, i64 2156, !3, i64 2160, !3, i64 2416, !3, i64 2672, !7, i64 2928, !7, i64 2932, !7, i64 2936, !7, i64 2940, !7, i64 2944, !7, i64 2948, !7, i64 2952, !7, i64 2956, !7, i64 2960, !7, i64 2964, !7, i64 2968, !7, i64 2972, !3, i64 2976, !7, i64 4000, !7, i64 4004, !7, i64 4008, !7, i64 4012, !7, i64 4016, !7, i64 4020, !7, i64 4024, !7, i64 4028, !7, i64 4032, !7, i64 4036, !7, i64 4040, !7, i64 4044, !7, i64 4048, !7, i64 4052, !7, i64 4056, !7, i64 4060, !7, i64 4064, !7, i64 4068, !7, i64 4072, !7, i64 4076, !8, i64 4080, !7, i64 4088, !7, i64 4092, !7, i64 4096, !7, i64 4100, !7, i64 4104, !7, i64 4108, !7, i64 4112, !7, i64 4116, !7, i64 4120, !7, i64 4124, !7, i64 4128, !7, i64 4132, !7, i64 4136, !7, i64 4140, !7, i64 4144, !7, i64 4148, !7, i64 4152, !7, i64 4156, !7, i64 4160, !7, i64 4164, !7, i64 4168, !7, i64 4172, !7, i64 4176, !7, i64 4180, !7, i64 4184, !7, i64 4188, !3, i64 4192, !3, i64 4448, !7, i64 4704, !7, i64 4708, !7, i64 4712, !7, i64 4716, !7, i64 4720, !7, i64 4724, !7, i64 4728, !7, i64 4732, !7, i64 4736, !7, i64 4740, !7, i64 4744, !7, i64 4748, !7, i64 4752, !7, i64 4756, !7, i64 4760, !7, i64 4764, !7, i64 4768, !7, i64 4772, !3, i64 4776, !7, i64 5032, !7, i64 5036, !2, i64 5040, !2, i64 5048, !2, i64 5056, !2, i64 5064, !7, i64 5072, !7, i64 5076, !7, i64 5080, !7, i64 5084, !7, i64 5088, !7, i64 5092, !7, i64 5096, !7, i64 5100, !7, i64 5104, !7, i64 5108, !7, i64 5112, !7, i64 5116, !7, i64 5120, !7, i64 5124, !7, i64 5128, !7, i64 5132, !7, i64 5136, !8, i64 5144, !8, i64 5152, !8, i64 5160, !3, i64 5168, !7, i64 5208, !3, i64 5212, !3, i64 5244, !7, i64 5248, !7, i64 5252, !7, i64 5256, !7, i64 5260, !7, i64 5264, !7, i64 5268, !7, i64 5272, !7, i64 5276, !7, i64 5280, !7, i64 5284, !7, i64 5288, !3, i64 5296, !3, i64 5344, !3, i64 5392, !7, i64 5648, !7, i64 5652, !7, i64 5656, !7, i64 5660, !3, i64 5664, !3, i64 5704, !7, i64 5744, !7, i64 5748, !7, i64 5752, !7, i64 5756, !7, i64 5760, !7, i64 5764, !7, i64 5768, !7, i64 5772, !7, i64 5776, !3, i64 5780, !7, i64 5792}133!7 = !{!"int", !3, i64 0}134!8 = !{!"double", !3, i64 0}135!9 = !{!6, !7, i64 2136}136!10 = !{!6, !7, i64 64}137!11 = !{!6, !7, i64 0}138!12 = !{!6, !7, i64 2096}139!13 = !{!6, !7, i64 2120}140!14 = !{!6, !7, i64 2128}141!15 = !{!6, !7, i64 5776}142!16 = !{!6, !7, i64 1564}143