xref: /llvm-project/llvm/test/Transforms/GlobalOpt/2010-02-25-MallocPromote.ll (revision d586bd5ca231a6022f439d4c6e43cfeeb53eb1d6)
1; PR6422
2; RUN: opt -passes=globalopt -S < %s
3target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
4target triple = "x86_64-unknown-linux-gnu"
5
6@fixLRBT = internal global ptr null              ; <ptr> [#uses=2]
7
8declare noalias ptr @malloc(i32)
9
10define i32 @parser() nounwind {
11bb918:
12  %malloccall.i10 = call ptr @malloc(i32 16) nounwind ; <ptr> [#uses=1]
13  store ptr %malloccall.i10, ptr @fixLRBT, align 8
14  %0 = load ptr, ptr @fixLRBT, align 8               ; <ptr> [#uses=0]
15  %A = load i32, ptr %0
16  ret i32 %A
17}
18