1 ; RUN: opt %loadNPMPolly -polly-only-func=f,g '-passes=print<polly-function-scops>' -disable-output < %s 2>&1 | FileCheck %s
3 ; Check that the flag `-polly-only-func` limits analysis to `f` and `g`.
6 ; CHECK-NEXT: Region: %for.cond---%for.end
9 ; CHECK-NEXT: Region: %for.cond---%for.end
11 ; CHECK-NOT: Function: h
14 ; for (int i = 0; i <= 100; i++)
18 ; for (int i = 0; i <= 100; i++)
22 ; for (int i = 0; i <= 100; i++)
25 target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S64"
27 define void @f(ptr %sum) {
29 br label %entry.split1
31 entry.split1: ; preds = %entry
34 entry.split: ; preds = %entry.split1
37 for.cond: ; preds = %for.cond, %entry.split
38 %i1.0 = phi i32 [ 0, %entry.split ], [ %inc, %for.cond ]
39 %sum.reload = load i32, ptr %sum
40 %mul = mul nsw i32 %i1.0, 3
41 %add = add nsw i32 %sum.reload, %mul
42 %inc = add nsw i32 %i1.0, 1
43 store i32 %add, ptr %sum
44 %cmp = icmp slt i32 %i1.0, 100
45 br i1 %cmp, label %for.cond, label %for.end
47 for.end: ; preds = %for.cond
52 define void @g(ptr %sum) {
54 br label %entry.split1
56 entry.split1: ; preds = %entry
59 entry.split: ; preds = %entry.split1
62 for.cond: ; preds = %for.cond, %entry.split
63 %i1.0 = phi i32 [ 0, %entry.split ], [ %inc, %for.cond ]
64 %sum.reload = load i32, ptr %sum
65 %mul = mul nsw i32 %i1.0, 3
66 %add = add nsw i32 %sum.reload, %mul
67 %inc = add nsw i32 %i1.0, 1
68 store i32 %add, ptr %sum
69 %cmp = icmp slt i32 %i1.0, 100
70 br i1 %cmp, label %for.cond, label %for.end
72 for.end: ; preds = %for.cond
77 define void @h(ptr %sum) {
79 br label %entry.split1
81 entry.split1: ; preds = %entry
84 entry.split: ; preds = %entry.split1
87 for.cond: ; preds = %for.cond, %entry.split
88 %i1.0 = phi i32 [ 0, %entry.split ], [ %inc, %for.cond ]
89 %sum.reload = load i32, ptr %sum
90 %mul = mul nsw i32 %i1.0, 3
91 %add = add nsw i32 %sum.reload, %mul
92 %inc = add nsw i32 %i1.0, 1
93 store i32 %add, ptr %sum
94 %cmp = icmp slt i32 %i1.0, 100
95 br i1 %cmp, label %for.cond, label %for.end
97 for.end: ; preds = %for.cond