101 lines · plain
1; RUN: opt %loadNPMPolly -polly-only-func=f,g '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2;3; Check that the flag `-polly-only-func` limits analysis to `f` and `g`.4;5; CHECK: Function: f6; CHECK-NEXT: Region: %for.cond---%for.end7;8; CHECK: Function: g9; CHECK-NEXT: Region: %for.cond---%for.end10;11; CHECK-NOT: Function: h12;13; void f(int* sum) {14; for (int i = 0; i <= 100; i++)15; sum += i * 3;16; }17; void g(int* sum) {18; for (int i = 0; i <= 100; i++)19; sum += i * 3;20; }21; void h(int* sum) {22; for (int i = 0; i <= 100; i++)23; sum += i * 3;24; }25target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S64"26 27define void @f(ptr %sum) {28entry:29 br label %entry.split130 31entry.split1: ; preds = %entry32 br label %entry.split33 34entry.split: ; preds = %entry.split135 br label %for.cond36 37for.cond: ; preds = %for.cond, %entry.split38 %i1.0 = phi i32 [ 0, %entry.split ], [ %inc, %for.cond ]39 %sum.reload = load i32, ptr %sum40 %mul = mul nsw i32 %i1.0, 341 %add = add nsw i32 %sum.reload, %mul42 %inc = add nsw i32 %i1.0, 143 store i32 %add, ptr %sum44 %cmp = icmp slt i32 %i1.0, 10045 br i1 %cmp, label %for.cond, label %for.end46 47for.end: ; preds = %for.cond48 ret void49}50 51 52define void @g(ptr %sum) {53entry:54 br label %entry.split155 56entry.split1: ; preds = %entry57 br label %entry.split58 59entry.split: ; preds = %entry.split160 br label %for.cond61 62for.cond: ; preds = %for.cond, %entry.split63 %i1.0 = phi i32 [ 0, %entry.split ], [ %inc, %for.cond ]64 %sum.reload = load i32, ptr %sum65 %mul = mul nsw i32 %i1.0, 366 %add = add nsw i32 %sum.reload, %mul67 %inc = add nsw i32 %i1.0, 168 store i32 %add, ptr %sum69 %cmp = icmp slt i32 %i1.0, 10070 br i1 %cmp, label %for.cond, label %for.end71 72for.end: ; preds = %for.cond73 ret void74}75 76 77define void @h(ptr %sum) {78entry:79 br label %entry.split180 81entry.split1: ; preds = %entry82 br label %entry.split83 84entry.split: ; preds = %entry.split185 br label %for.cond86 87for.cond: ; preds = %for.cond, %entry.split88 %i1.0 = phi i32 [ 0, %entry.split ], [ %inc, %for.cond ]89 %sum.reload = load i32, ptr %sum90 %mul = mul nsw i32 %i1.0, 391 %add = add nsw i32 %sum.reload, %mul92 %inc = add nsw i32 %i1.0, 193 store i32 %add, ptr %sum94 %cmp = icmp slt i32 %i1.0, 10095 br i1 %cmp, label %for.cond, label %for.end96 97for.end: ; preds = %for.cond98 ret void99}100 101