• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; Make sure GVN doesn't incorrectly think the branch terminating
2; bb2 has a constant condition.
3; RUN: opt -S -newgvn %s | FileCheck %s
4
5@a = common global i32 0
6@patatino = private unnamed_addr constant [3 x i8] c"0\0A\00"
7
8define void @tinkywinky() {
9bb:
10  %tmp = load i32, i32* @a
11  %tmp1 = icmp sge i32 %tmp, 0
12  br i1 %tmp1, label %bb2, label %bb7
13bb2:
14  %tmp4 = icmp sgt i32 %tmp, 0
15; CHECK: br i1 %tmp4, label %bb5, label %bb7
16  br i1 %tmp4, label %bb5, label %bb7
17bb5:
18  %tmp6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @patatino, i32 0, i32 0))
19  br label %bb7
20bb7:
21  ret void
22}
23
24declare i32 @printf(i8*, ...)
25