1; RUN: opt -passes=transform-warning -disable-output < %s 2>&1 | FileCheck -allow-empty %s 2; 3; llvm.org/PR40546 4; Do not warn about about leftover llvm.loop.vectorize.enable for already 5; vectorized loops. 6 7target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 8 9define void @test(i32 %n) { 10entry: 11 %cmp = icmp eq i32 %n, 0 12 br i1 %cmp, label %simd.if.end, label %omp.inner.for.body.preheader 13 14omp.inner.for.body.preheader: 15 %wide.trip.count = zext i32 %n to i64 16 br label %omp.inner.for.body 17 18omp.inner.for.body: 19 %indvars.iv = phi i64 [ 0, %omp.inner.for.body.preheader ], [ %indvars.iv.next, %omp.inner.for.body ] 20 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 21 %exitcond = icmp eq i64 %indvars.iv.next, %wide.trip.count 22 br i1 %exitcond, label %simd.if.end, label %omp.inner.for.body, !llvm.loop !0 23 24simd.if.end: 25 ret void 26} 27 28!0 = distinct !{!0, !1, !2} 29!1 = !{!"llvm.loop.vectorize.enable", i1 true} 30!2 = !{!"llvm.loop.isvectorized"} 31 32 33; CHECK-NOT: loop not vectorized 34