brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · 93253b7 Raw
93 lines · plain
1; RUN: opt %loadNPMPolly -disable-output -polly-invariant-load-hoisting -polly-allow-dereference-of-all-function-parameters '-passes=polly-custom<scops>' -polly-print-scops < %s 2>&1 | FileCheck %s --check-prefix=SCOP2 3; RUN: opt %loadNPMPolly -S -polly-invariant-load-hoisting '-passes=polly<no-default-opts>' < %s 2>&1 | FileCheck %s --check-prefix=CODE-RTC4 5 6; RUN: opt %loadNPMPolly -S -polly-invariant-load-hoisting -polly-allow-dereference-of-all-function-parameters '-passes=polly<no-default-opts>' < %s 2>&1 | FileCheck %s --check-prefix=CODE7 8; SCOP:      Function: hoge9; SCOP-NEXT: Region: %bb15---%bb3710; SCOP-NEXT: Max Loop Depth:  211; SCOP-NEXT: Invariant Accesses: {12; SCOP-NEXT:         ReadAccess :=	[Reduction Type: NONE] [Scalar: 0]13; SCOP-NEXT:             [tmp, tmp17, tmp28] -> { Stmt_bb29[i0] -> MemRef_arg1[0] };14; SCOP-NEXT:         Execution Context: [tmp, tmp17, tmp28] -> {  :  }15; SCOP-NEXT:         ReadAccess :=	[Reduction Type: NONE] [Scalar: 0]16; SCOP-NEXT:             [tmp, tmp17, tmp28] -> { Stmt_bb27[] -> MemRef_arg[0] };17; SCOP-NEXT:         Execution Context: [tmp, tmp17, tmp28] -> {  :  }18; SCOP-NEXT: }19 20; Check that without the option `-polly-allow-dereference-of-all-function-parameters`21; we do generate the runtime check.22; CODE-RTC: polly.preload.cond:                               ; preds = %polly.preload.begin23; CODE-RTC-NEXT: br i1 %{{[a-zA-Z0-9\.]*}}, label %polly.preload.exec, label %polly.preload.merge24 25; Check that we don't generate a runtime check because we treat all26; parameters as dereferenceable.27; CODE-NOT: polly.preload.cond:                               ; preds = %polly.preload.begin28; CODE-NOT: br i1 %{{r1:[a-zA-Z0-9]*}}, label %polly.preload.exec, label %polly.preload.merge29 30target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-f128:128:128-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"31target triple = "x86_64-unknown-linux-gnu"32 33@global = external global i3234 35; Function Attrs: nounwind uwtable36define void @hoge(ptr noalias %arg, ptr noalias %arg1, ptr noalias %arg2, ptr %A) #0 {37bb:38  %tmp = load i32, ptr @global, align 439  %tmp3 = icmp sgt i32 %tmp, 140  br label %bb1441 42bb14:                                             ; preds = %bb43  br label %bb1544 45bb15:                                             ; preds = %bb1446  br i1 %tmp3, label %bb16, label %bb2747 48bb16:                                             ; preds = %bb1549  %tmp17 = load i32, ptr %arg1, align 450  br label %bb1851 52bb18:                                             ; preds = %bb18, %bb1653  %tmp19 = phi i32 [ %tmp25, %bb18 ], [ 1, %bb16 ]54  %tmp20 = sext i32 %tmp19 to i6455  %tmp21 = add nsw i64 %tmp20, -156  %tmp22 = getelementptr [0 x double], ptr %arg2, i64 0, i64 %tmp2157  store i64 undef, ptr %tmp22, align 858  %tmp24 = icmp eq i32 %tmp19, %tmp1759  %tmp25 = add i32 %tmp19, 160  br i1 %tmp24, label %bb26, label %bb1861 62bb26:                                             ; preds = %bb1863  br label %bb2764 65bb27:                                             ; preds = %bb26, %bb1566  %tmp28 = load i32, ptr %arg, align 467  store float 42.0, ptr %A68  br label %bb2969 70bb29:                                             ; preds = %bb35, %bb2771  %tmp30 = load i32, ptr %arg1, align 472  store float 42.0, ptr %A73  br label %bb3174 75bb31:                                             ; preds = %bb31, %bb2976  %tmp32 = phi i32 [ 1, %bb31 ], [ 1, %bb29 ]77  store float 42.0, ptr %A78  %tmp33 = icmp eq i32 %tmp32, %tmp3079  br i1 %tmp33, label %bb34, label %bb3180 81bb34:                                             ; preds = %bb3182  br label %bb3583 84bb35:                                             ; preds = %bb3485  %tmp36 = icmp eq i32 0, %tmp2886  br i1 %tmp36, label %bb37, label %bb2987 88bb37:                                             ; preds = %bb3589  ret void90}91 92attributes #0 = { nounwind uwtable }93