diff options
Diffstat (limited to 'test/Transforms/GVN/cond_br.ll')
-rw-r--r-- | test/Transforms/GVN/cond_br.ll | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/test/Transforms/GVN/cond_br.ll b/test/Transforms/GVN/cond_br.ll index 918e7d4..e69de29 100644 --- a/test/Transforms/GVN/cond_br.ll +++ b/test/Transforms/GVN/cond_br.ll @@ -1,55 +0,0 @@ -; RUN: opt -basicaa -gvn -S < %s | FileCheck %s -@y = external global i32 -@z = external global i32 - -; Function Attrs: nounwind ssp uwtable -define void @foo(i32 %x) { -; CHECK: @foo(i32 %x) -; CHECK: %.pre = load i32* @y -; CHECK: call void @bar(i32 %.pre) - - %t = sub i32 %x, %x - %.pre = load i32* @y, align 4 - %cmp = icmp sgt i32 %t, 2 - br i1 %cmp, label %if.then, label %entry.if.end_crit_edge - -entry.if.end_crit_edge: ; preds = %entry - br label %if.end - -if.then: ; preds = %entry - %add = add nsw i32 %x, 3 - store i32 %add, i32* @y, align 4 - br label %if.end - -if.end: ; preds = %entry.if.end_crit_edge, %if.then - %1 = phi i32 [ %.pre, %entry.if.end_crit_edge ], [ %add, %if.then ] - tail call void @bar(i32 %1) - ret void -} - -define void @foo2(i32 %x) { -; CHECK: @foo2(i32 %x) -; CHECK: %.pre = load i32* @y -; CHECK: tail call void @bar(i32 %.pre) -entry: - %t = sub i32 %x, %x - %.pre = load i32* @y, align 4 - %cmp = icmp sgt i32 %t, 2 - br i1 %cmp, label %if.then, label %if.else - -if.then: ; preds = %entry - %add = add nsw i32 %x, 3 - store i32 %add, i32* @y, align 4 - br label %if.end - -if.else: ; preds = %entry - store i32 1, i32* @z, align 4 - br label %if.end - -if.end: ; preds = %if.else, %if.then - %0 = phi i32 [ %.pre, %if.else ], [ %add, %if.then ] - tail call void @bar(i32 %0) - ret void -} - -declare void @bar(i32) |