xref: /llvm-project/llvm/test/Transforms/GlobalOpt/assume.ll (revision d586bd5ca231a6022f439d4c6e43cfeeb53eb1d6)
1; RUN: opt -S -passes=globalopt < %s | FileCheck %s
2
3; CHECK: @tmp = local_unnamed_addr global i32 42
4
5@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I_a, ptr null }]
6@tmp = global i32 0
7
8define i32 @TheAnswerToLifeTheUniverseAndEverything() {
9  ret i32 42
10}
11
12define void @_GLOBAL__I_a() {
13enter:
14  %tmp1 = call i32 @TheAnswerToLifeTheUniverseAndEverything()
15  store i32 %tmp1, ptr @tmp
16  %cmp = icmp eq i32 %tmp1, 42
17  call void @llvm.assume(i1 %cmp)
18  ret void
19}
20
21declare void @llvm.assume(i1)
22