;
; Test: ExternalConstant
;
; Description:
;	This regression test helps check whether the instruction combining
;	optimization pass correctly handles global variables which are marked
;	as external and constant.
;
;	If a problem occurs, we should die on an assert().  Otherwise, we
;	should pass through the optimizer without failure.
;
; Extra code:
; RUN: opt < %s -instcombine
; END.

target datalayout = "e-p:32:32"
@silly = external constant i32          ; <i32*> [#uses=1]

declare void @bzero(i8*, i32)

declare void @bcopy(i8*, i8*, i32)

declare i32 @bcmp(i8*, i8*, i32)

declare i32 @fputs(i8*, i8*)

declare i32 @fputs_unlocked(i8*, i8*)

define i32 @function(i32 %a.1) {
entry:
        %a.0 = alloca i32               ; <i32*> [#uses=2]
        %result = alloca i32            ; <i32*> [#uses=2]
        store i32 %a.1, i32* %a.0
        %tmp.0 = load i32* %a.0         ; <i32> [#uses=1]
        %tmp.1 = load i32* @silly               ; <i32> [#uses=1]
        %tmp.2 = add i32 %tmp.0, %tmp.1         ; <i32> [#uses=1]
        store i32 %tmp.2, i32* %result
        br label %return

return:         ; preds = %entry
        %tmp.3 = load i32* %result              ; <i32> [#uses=1]
        ret i32 %tmp.3
}

