xref: /llvm-project/llvm/test/Transforms/LoopDeletion/noalias.ll (revision b4bb2f8aef01aeab8bf4fd164ed14a2c083d2858)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2; RUN: opt < %s -passes=loop-deletion -S | FileCheck %s
3
4define void @pr108052(i64 %n) {
5; CHECK-LABEL: define void @pr108052(
6; CHECK-SAME: i64 [[N:%.*]]) {
7; CHECK-NEXT:  [[ENTRY:.*:]]
8; CHECK-NEXT:    br label %[[FOR_EXIT:.*]]
9; CHECK:       [[FOR_EXIT]]:
10; CHECK-NEXT:    ret void
11;
12entry:
13  br label %for.body
14
15for.exit:
16  ret void
17
18for.body:
19  %indvar = phi i64 [ 0, %entry ], [ %inc, %for.body ]
20  call void @llvm.experimental.noalias.scope.decl(metadata !0)
21  %inc = add nuw i64 %indvar, 1
22  %exitcond.not = icmp eq i64 %inc, %n
23  br i1 %exitcond.not, label %for.exit, label %for.body
24}
25
26!0 = !{!1}
27!1 = distinct !{!1, !2, !"x: %a"}
28!2 = distinct !{!2, !"x"}
29