xref: /llvm-project/llvm/test/Transforms/SCCP/global.ll (revision 0991da36906bdb29b8f1030d5123bafb58fee79e)
19477d39eSFlorian Hahn; RUN: opt < %s -S -passes=ipsccp | FileCheck %s
29477d39eSFlorian Hahn
39477d39eSFlorian Hahn@_ZL6test1g = internal global i32 42, align 4
49477d39eSFlorian Hahn
59477d39eSFlorian Hahndefine void @_Z7test1f1v() nounwind {
69477d39eSFlorian Hahnentry:
7*0991da36SNikita Popov  %tmp = load i32, ptr @_ZL6test1g, align 4
89477d39eSFlorian Hahn  %cmp = icmp eq i32 %tmp, 0
99477d39eSFlorian Hahn  br i1 %cmp, label %if.then, label %if.end
109477d39eSFlorian Hahn
119477d39eSFlorian Hahnif.then:                                          ; preds = %entry
12*0991da36SNikita Popov  store i32 0, ptr @_ZL6test1g, align 4
139477d39eSFlorian Hahn  br label %if.end
149477d39eSFlorian Hahn
159477d39eSFlorian Hahnif.end:                                           ; preds = %if.then, %entry
169477d39eSFlorian Hahn  ret void
179477d39eSFlorian Hahn}
189477d39eSFlorian Hahn
199477d39eSFlorian Hahn; CHECK: @_Z7test1f2v()
209477d39eSFlorian Hahn; CHECK: entry:
219477d39eSFlorian Hahn; CHECK-NEXT: ret i32 42
229477d39eSFlorian Hahndefine i32 @_Z7test1f2v() nounwind {
239477d39eSFlorian Hahnentry:
24*0991da36SNikita Popov  %tmp = load i32, ptr @_ZL6test1g, align 4
259477d39eSFlorian Hahn  ret i32 %tmp
269477d39eSFlorian Hahn}
27