; a load or store of a pointer indicates that the pointer is not null.
; Any succeeding uses of the pointer should get this info
;
; XFAIL: *
; RUN: llvm-upgrade < %s | llvm-as | opt -cee -instcombine -simplifycfg | \
; RUN:   llvm-dis | not grep br
; END.

implementation   ; Functions:

declare void %foo()
declare void %bar()

int %nullptr(int* %j) {
bb0:
	store int 7, int* %j               ; j != null
	%cond220 = seteq int* %j, null     ; F
	br bool %cond220, label %bb3, label %bb4  ; direct branch

bb3:
	call void %foo()
	ret int 4                          ; Dead code
bb4:
	call void %bar()
	ret int 3                          ; Live code
}
