summaryrefslogtreecommitdiff
path: root/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.ll
blob: bdcf1fa4778bab2887046797099ff06677f87aa6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
; RUN: opt < %s -globalopt

@V = global float 1.200000e+01          ; <float*> [#uses=1]
@G = internal global i32* null          ; <i32**> [#uses=2]

define i32 @user() {
        %P = load i32** @G              ; <i32*> [#uses=1]
        %Q = load i32* %P               ; <i32> [#uses=1]
        ret i32 %Q
}

define void @setter() {
        %Vi = bitcast float* @V to i32*         ; <i32*> [#uses=1]
        store i32* %Vi, i32** @G
        ret void
}