; RUN: opt < %s -argpromotion -simplifycfg -constmerge | llvm-dis
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i386-apple-darwin10.0"

%struct.VEC2 = type { double, double, double }
%struct.VERTEX = type { %struct.VEC2, %struct.VERTEX*, %struct.VERTEX* }
%struct.edge_rec = type { %struct.VERTEX*, %struct.edge_rec*, i32, i8* }

declare %struct.edge_rec* @alloc_edge() nounwind ssp

define i64 @build_delaunay(%struct.VERTEX* %tree, %struct.VERTEX* %extra) nounwind ssp {
entry:
  br i1 undef, label %bb11, label %bb12

bb11:                                             ; preds = %bb10
  %a = call %struct.edge_rec* @alloc_edge() nounwind ; <%struct.edge_rec*> [#uses=0]
  ret i64 123

bb12:                                             ; preds = %bb10
  %b = call %struct.edge_rec* @alloc_edge() nounwind ; <%struct.edge_rec*> [#uses=1]
  %c = ptrtoint %struct.edge_rec* %b to i64
  ret i64 %c
}