1*5c028081SMichael Kruse; RUN: opt %loadPolly -polly-print-detect -disable-output < %s | FileCheck %s
243e1eadfSJohannes Doerfert;
343e1eadfSJohannes Doerfert; Verify polly skips this function
443e1eadfSJohannes Doerfert;
543e1eadfSJohannes Doerfert; CHECK-NOT: Valid Region for Scop
643e1eadfSJohannes Doerfert;
743e1eadfSJohannes Doerfert;    void polly_skip_me(int *A, int N) {
843e1eadfSJohannes Doerfert;      for (int i = 0; i < N; i++)
943e1eadfSJohannes Doerfert;        A[i] = A[i] * A[i] + A[i];
1043e1eadfSJohannes Doerfert;    }
1143e1eadfSJohannes Doerfert;
1243e1eadfSJohannes Doerferttarget datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S64"
1343e1eadfSJohannes Doerfert
1443e1eadfSJohannes Doerfertdefine void @polly_skip_me(i32* %A, i32 %N) #0 {
1543e1eadfSJohannes Doerfertentry:
1643e1eadfSJohannes Doerfert  br label %entry.split
1743e1eadfSJohannes Doerfert
1843e1eadfSJohannes Doerfertentry.split:                                      ; preds = %entry
1943e1eadfSJohannes Doerfert  %cmp1 = icmp sgt i32 %N, 0
2043e1eadfSJohannes Doerfert  br i1 %cmp1, label %for.body.preheader, label %for.end
2143e1eadfSJohannes Doerfert
2243e1eadfSJohannes Doerfertfor.body.preheader:                               ; preds = %entry.split
2343e1eadfSJohannes Doerfert  br label %for.body
2443e1eadfSJohannes Doerfert
2543e1eadfSJohannes Doerfertfor.body:                                         ; preds = %for.body.preheader, %for.body
2643e1eadfSJohannes Doerfert  %i.02 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
27bad3ff20SDavid Blaikie  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.02
28c94eca05SDavid Blaikie  %tmp = load i32, i32* %arrayidx, align 4
2943e1eadfSJohannes Doerfert  %mul = mul nsw i32 %tmp, %tmp
3043e1eadfSJohannes Doerfert  %add = add nsw i32 %mul, %tmp
31bad3ff20SDavid Blaikie  %arrayidx3 = getelementptr inbounds i32, i32* %A, i32 %i.02
3243e1eadfSJohannes Doerfert  store i32 %add, i32* %arrayidx3, align 4
3343e1eadfSJohannes Doerfert  %inc = add nsw i32 %i.02, 1
3443e1eadfSJohannes Doerfert  %cmp = icmp slt i32 %inc, %N
3543e1eadfSJohannes Doerfert  br i1 %cmp, label %for.body, label %for.end.loopexit
3643e1eadfSJohannes Doerfert
3743e1eadfSJohannes Doerfertfor.end.loopexit:                                 ; preds = %for.body
3843e1eadfSJohannes Doerfert  br label %for.end
3943e1eadfSJohannes Doerfert
4043e1eadfSJohannes Doerfertfor.end:                                          ; preds = %for.end.loopexit, %entry.split
4143e1eadfSJohannes Doerfert  ret void
4243e1eadfSJohannes Doerfert}
4343e1eadfSJohannes Doerfert
4443e1eadfSJohannes Doerfertattributes #0 = { "polly.skip.fn" }
45