125 lines · plain
1; RUN: opt %loadNPMPolly '-polly-ignore-func=f.*,g.*' '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2;3; Check that the flag `-polly-ignore-func` works with regexes.4;5; CHECK: Function: h6; CHECK-NEXT: Region: %for.cond---%for.end7;8; CHECK-NOT: Function:9;10; void f1(int* sum) {11; for (int i = 0; i <= 100; i++)12; sum += i * 3;13; }14; void f2(int* sum) {15; for (int i = 0; i <= 100; i++)16; sum += i * 3;17; }18; void g1(int* sum) {19; for (int i = 0; i <= 100; i++)20; sum += i * 3;21; }22; void h(int* sum) {23; for (int i = 0; i <= 100; i++)24; sum += i * 3;25; }26target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S64"27 28define void @f1(ptr %sum) {29entry:30 br label %entry.split131 32entry.split1: ; preds = %entry33 br label %entry.split34 35entry.split: ; preds = %entry.split136 br label %for.cond37 38for.cond: ; preds = %for.cond, %entry.split39 %i1.0 = phi i32 [ 0, %entry.split ], [ %inc, %for.cond ]40 %sum.reload = load i32, ptr %sum41 %mul = mul nsw i32 %i1.0, 342 %add = add nsw i32 %sum.reload, %mul43 %inc = add nsw i32 %i1.0, 144 store i32 %add, ptr %sum45 %cmp = icmp slt i32 %i1.0, 10046 br i1 %cmp, label %for.cond, label %for.end47 48for.end: ; preds = %for.cond49 ret void50}51 52 53define void @f2(ptr %sum) {54entry:55 br label %entry.split156 57entry.split1: ; preds = %entry58 br label %entry.split59 60entry.split: ; preds = %entry.split161 br label %for.cond62 63for.cond: ; preds = %for.cond, %entry.split64 %i1.0 = phi i32 [ 0, %entry.split ], [ %inc, %for.cond ]65 %sum.reload = load i32, ptr %sum66 %mul = mul nsw i32 %i1.0, 367 %add = add nsw i32 %sum.reload, %mul68 %inc = add nsw i32 %i1.0, 169 store i32 %add, ptr %sum70 %cmp = icmp slt i32 %i1.0, 10071 br i1 %cmp, label %for.cond, label %for.end72 73for.end: ; preds = %for.cond74 ret void75}76 77define void @g1(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 101define void @h(ptr %sum) {102entry:103 br label %entry.split1104 105entry.split1: ; preds = %entry106 br label %entry.split107 108entry.split: ; preds = %entry.split1109 br label %for.cond110 111for.cond: ; preds = %for.cond, %entry.split112 %i1.0 = phi i32 [ 0, %entry.split ], [ %inc, %for.cond ]113 %sum.reload = load i32, ptr %sum114 %mul = mul nsw i32 %i1.0, 3115 %add = add nsw i32 %sum.reload, %mul116 %inc = add nsw i32 %i1.0, 1117 store i32 %add, ptr %sum118 %cmp = icmp slt i32 %i1.0, 100119 br i1 %cmp, label %for.cond, label %for.end120 121for.end: ; preds = %for.cond122 ret void123}124 125