brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · e852b17 Raw
65 lines · plain
1; RUN: opt %loadNPMPolly -passes=polly -disable-output -polly-debug < %s 2>&1 | FileCheck %s2 3; optimizing region1 as invalidates region2's SCoP.4; It is not recognized as a SCoP anymore because of aliasing.5 6; REQUIRES: asserts7; CHECK: SCoP detected but dismissed8; CHECK: SCoP in Region 'region2_entry => region2_exit' disappeared9 10define void @testcase(ptr %arg, i32 %arg1, ptr %arg2, i64 %arg3, i64 %arg4, i64 %arg5, i64 %arg6, i64 %arg7, ptr %arg8, i64 %arg9) {11bb:12  %i = sext i32 %arg1 to i6413  br label %region1_entry14 15region1_entry:                                             ; preds = %region2_exit, %bb16  %i11 = phi i64 [ 0, %bb ], [ 0, %region2_exit ]17  br i1 true, label %bb12, label %bb1418 19bb12:                                             ; preds = %bb12, %region1_entry20  store <2 x i64> zeroinitializer, ptr null, align 1621  %i13 = icmp eq i64 0, %arg322  br i1 %i13, label %bb14, label %bb1223 24bb14:                                             ; preds = %bb14, %bb12, %region1_entry25  %i15 = load <8 x i16>, ptr null, align 1626  %i16 = icmp eq i64 0, %arg327  br i1 %i16, label %region1_exit, label %bb1428 29region1_exit:                                             ; preds = %bb1430  call void null(ptr null, ptr null, i8 0)31  br i1 false, label %region2_entry, label %region2_exit32 33region2_entry:                                             ; preds = %region2_entry, %region1_exit34  store <2 x i64> zeroinitializer, ptr null, align 1635  br i1 true, label %bb19, label %region2_entry36 37bb19:                                             ; preds = %region2_entry38  %i20 = mul i64 %i11, %i39  %i21 = getelementptr i8, ptr %arg, i64 %i2040  %i22 = load i32, ptr null, align 441  br label %bb2442 43bb24:                                             ; preds = %bb24, %bb1944  %i25 = load i64, ptr %i21, align 145  %i26 = getelementptr i8, ptr %i21, i64 %i46  %i27 = load i64, ptr %i26, align 147  store i64 0, ptr %arg2, align 148  %i28 = getelementptr i8, ptr %i26, i64 %i49  %i29 = load i64, ptr %arg, align 150  %i30 = getelementptr i8, ptr %i28, i64 %arg451  %i31 = getelementptr i8, ptr %i30, i64 %arg952  %i32 = getelementptr i8, ptr %i31, i64 %arg653  %i33 = getelementptr i8, ptr %i32, i64 %arg554  %i34 = getelementptr i8, ptr %i33, i64 %arg755  %i35 = load i64, ptr %i34, align 156  %i36 = icmp eq i64 0, %arg357  br i1 %i36, label %region2_exit, label %bb2458 59region2_exit:                                             ; preds = %bb24, %region1_exit60  br i1 false, label %bb37, label %region1_entry61 62bb37:                                             ; preds = %region2_exit63  ret void64}65