[AMDGPU] Add True16 register classes.
[llvm-project.git] / llvm / test / Transforms / GVN / 2007-07-26-InterlockingLoops.ll
blobe8fb8f1087cce987a6c68a02d52a272ddcb0814c
1 ; RUN: opt < %s -passes=gvn -S | FileCheck %s
3 @last = external global [65 x ptr]
5 define i32 @NextRootMove(i32 %wtm, i32 %x, i32 %y, i32 %z) {
6 entry:
7         %A = alloca ptr
8         %tmp17618 = load ptr, ptr getelementptr ([65 x ptr], ptr @last, i32 0, i32 1), align 4
9         store ptr %tmp17618, ptr %A
10 ; CHECK: entry:
11 ; CHECK-NEXT: alloca ptr
12 ; CHECK-NEXT: %tmp17618 = load
13 ; CHECK-NOT: load
14 ; CHECK-NOT: phi
15         br label %cond_true116
17 cond_true116:
18    %cmp = icmp eq i32 %x, %y
19         br i1 %cmp, label %cond_true128, label %cond_true145
21 cond_true128:
22         %tmp17625 = load ptr, ptr getelementptr ([65 x ptr], ptr @last, i32 0, i32 1), align 4
23         store ptr %tmp17625, ptr %A
24    %cmp1 = icmp eq i32 %x, %z
25         br i1 %cmp1 , label %bb98.backedge, label %return.loopexit
27 bb98.backedge:
28         br label %cond_true116
30 cond_true145:
31         %tmp17631 = load ptr, ptr getelementptr ([65 x ptr], ptr @last, i32 0, i32 1), align 4
32         store ptr %tmp17631, ptr %A
33         br i1 false, label %bb98.backedge, label %return.loopexit
35 return.loopexit:
36         br label %return
38 return:
39         ret i32 0