IR: Make metadata typeless in assembly
[oota-llvm.git] / test / Analysis / ScalarEvolution / load-with-range-metadata.ll
1 ; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s
2
3 define i32 @slt_trip_count_with_range(i32 *%ptr0, i32 *%ptr1) {
4 ; CHECK-LABEL: slt_trip_count_with_range
5  entry:
6   %limit = load i32* %ptr0, !range !0
7   br label %loop
8
9  loop:
10 ; CHECK: Loop %loop: max backedge-taken count is 98
11   %index = phi i32 [ 0, %entry ], [ %index.inc, %loop ]
12   %index.inc = add i32 %index, 1
13   %continue = icmp slt i32 %index.inc, %limit
14   br i1 %continue, label %loop, label %loop.exit
15
16  loop.exit:
17   ret i32 0
18 }
19
20 define i32 @ult_trip_count_with_range(i32 *%ptr0, i32 *%ptr1) {
21 ; CHECK-LABEL: ult_trip_count_with_range
22  entry:
23   %limit = load i32* %ptr0, !range !0
24   br label %loop
25
26  loop:
27 ; CHECK: Loop %loop: max backedge-taken count is 98
28   %index = phi i32 [ 0, %entry ], [ %index.inc, %loop ]
29   %index.inc = add i32 %index, 1
30   %continue = icmp ult i32 %index.inc, %limit
31   br i1 %continue, label %loop, label %loop.exit
32
33  loop.exit:
34   ret i32 0
35 }
36
37 !0 = !{i32 1, i32 100}