brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · e8fb8f1 Raw
41 lines · plain
1; RUN: opt < %s -passes=gvn -S | FileCheck %s2 3@last = external global [65 x ptr]4 5define i32 @NextRootMove(i32 %wtm, i32 %x, i32 %y, i32 %z) {6entry:7        %A = alloca ptr8	%tmp17618 = load ptr, ptr getelementptr ([65 x ptr], ptr @last, i32 0, i32 1), align 49        store ptr %tmp17618, ptr %A10; CHECK: entry:11; CHECK-NEXT: alloca ptr12; CHECK-NEXT: %tmp17618 = load13; CHECK-NOT: load14; CHECK-NOT: phi15	br label %cond_true11616 17cond_true116:18   %cmp = icmp eq i32 %x, %y19	br i1 %cmp, label %cond_true128, label %cond_true14520 21cond_true128:22	%tmp17625 = load ptr, ptr getelementptr ([65 x ptr], ptr @last, i32 0, i32 1), align 423        store ptr %tmp17625, ptr %A24   %cmp1 = icmp eq i32 %x, %z25	br i1 %cmp1 , label %bb98.backedge, label %return.loopexit26 27bb98.backedge:28	br label %cond_true11629 30cond_true145:31	%tmp17631 = load ptr, ptr getelementptr ([65 x ptr], ptr @last, i32 0, i32 1), align 432        store ptr %tmp17631, ptr %A33	br i1 false, label %bb98.backedge, label %return.loopexit34 35return.loopexit:36	br label %return37 38return:39	ret i32 040}41