59 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2 3; Derived from test-suite/SingleSource/UnitTests/Vector/SSE/sse.stepfft.c4 5; The values %mul.i44 is simplified to constant 4 by ScalarEvolution, but6; SCEVAffinator used to check whether the sdiv's argument was constant.7 8target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"9target triple = "x86_64-unknown-linux-gnu"10 11; Function Attrs: nounwind uwtable12define void @cfft2(i32 %n, ptr %A) local_unnamed_addr {13entry:14 br i1 true, label %for.body.lr.ph, label %for.end15 16for.body.lr.ph: ; preds = %entry17 br label %for.body18 19for.body: ; preds = %for.inc, %for.body.lr.ph20 %mj.017 = phi i32 [ 1, %for.body.lr.ph ], [ poison, %for.inc ]21 br i1 true, label %if.else, label %if.then22 23if.then: ; preds = %for.body24 br label %for.inc25 26if.else: ; preds = %for.body27 %mul.i44 = shl i32 %mj.017, 228 %div.i45 = sdiv i32 %n, %mul.i4429 br i1 true, label %for.body.i58.lr.ph, label %for.inc30 31for.body.i58.lr.ph: ; preds = %if.else32 br i1 false, label %for.body.i58.us, label %for.body.i58.preheader33 34for.body.i58.preheader: ; preds = %for.body.i58.lr.ph35 br label %for.body.i5836 37for.body.i58.us: ; preds = %for.body.i58.us, %for.body.i58.lr.ph38 br i1 false, label %for.inc, label %for.body.i58.us39 40for.body.i58: ; preds = %for.body.i58, %for.body.i58.preheader41 store double 0.0, ptr %A42 %exitcond42 = icmp eq i32 0, %div.i4543 br i1 %exitcond42, label %for.inc, label %for.body.i5844 45for.inc: ; preds = %for.body.i58, %for.body.i58.us, %if.else, %if.then46 br i1 undef, label %for.end, label %for.body47 48for.end: ; preds = %for.inc, %entry49 ret void50}51 52!llvm.ident = !{!0}53 54!0 = !{!"clang version 3.9.0 (trunk 273249) (llvm/trunk 273255)"}55 56; CHECK-LABEL: Stmt_for_body_i5857; CHECK-NEXT: Domain :=58; CHECK-NEXT: [n] -> { Stmt_for_body_i58[0] : -3 <= n <= 3 };59