When removing a function from the function set and adding it to deferred, we
[llvm.git] / test / Transforms / ArgumentPromotion / callgraph-update.ll
blob989043d7ea58604964c9605bc35857d7c0cb5f5e
1 ; RUN: opt < %s -argpromotion -simplifycfg -constmerge | llvm-dis
2 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"
3 target triple = "i386-apple-darwin10.0"
5 %struct.VEC2 = type { double, double, double }
6 %struct.VERTEX = type { %struct.VEC2, %struct.VERTEX*, %struct.VERTEX* }
7 %struct.edge_rec = type { %struct.VERTEX*, %struct.edge_rec*, i32, i8* }
9 declare %struct.edge_rec* @alloc_edge() nounwind ssp
11 define i64 @build_delaunay(%struct.VERTEX* %tree, %struct.VERTEX* %extra) nounwind ssp {
12 entry:
13   br i1 undef, label %bb11, label %bb12
15 bb11:                                             ; preds = %bb10
16   %a = call %struct.edge_rec* @alloc_edge() nounwind ; <%struct.edge_rec*> [#uses=0]
17   ret i64 123
19 bb12:                                             ; preds = %bb10
20   %b = call %struct.edge_rec* @alloc_edge() nounwind ; <%struct.edge_rec*> [#uses=1]
21   %c = ptrtoint %struct.edge_rec* %b to i64
22   ret i64 %c