Improve the implementation of .incbin directive by replacing a loop by using
[oota-llvm.git] / test / Transforms / SimplifyCFG / 2006-10-29-InvokeCrash.ll
1 ; RUN: opt < %s -simplifycfg -disable-output
2 ; END.
3         %struct..4._102 = type { %struct.QVectorData* }
4         %struct..5._125 = type { %struct.QMapData* }
5         %struct.QAbstractTextDocumentLayout = type { %struct.QObject }
6         %struct.QBasicAtomic = type { i32 }
7         %struct.QFont = type { %struct.QFontPrivate*, i32 }
8         %struct.QFontMetrics = type { %struct.QFontPrivate* }
9         %struct.QFontPrivate = type opaque
10         %"struct.QFragmentMap<QTextBlockData>" = type { %struct.QFragmentMapData }
11         %struct.QFragmentMapData = type { %"struct.QFragmentMapData::._154", i32 }
12         %"struct.QFragmentMapData::._154" = type { %"struct.QFragmentMapData::Header"* }
13         %"struct.QFragmentMapData::Header" = type { i32, i32, i32, i32, i32, i32, i32, i32 }
14         %"struct.QHash<uint,QHashDummyValue>" = type { %"struct.QHash<uint,QHashDummyValue>::._152" }
15         %"struct.QHash<uint,QHashDummyValue>::._152" = type { %struct.QHashData* }
16         %struct.QHashData = type { %"struct.QHashData::Node"*, %"struct.QHashData::Node"**, %struct.QBasicAtomic, i32, i32, i16, i16, i32, i8 }
17         %"struct.QHashData::Node" = type { %"struct.QHashData::Node"*, i32 }
18         %"struct.QList<QObject*>::._92" = type { %struct.QListData }
19         %"struct.QList<QPointer<QObject> >" = type { %"struct.QList<QObject*>::._92" }
20         %struct.QListData = type { %"struct.QListData::Data"* }
21         %"struct.QListData::Data" = type { %struct.QBasicAtomic, i32, i32, i32, i8, [1 x i8*] }
22         %"struct.QMap<QUrl,QVariant>" = type { %struct..5._125 }
23         %struct.QMapData = type { %"struct.QMapData::Node"*, [12 x %"struct.QMapData::Node"*], %struct.QBasicAtomic, i32, i32, i32, i8 }
24         %"struct.QMapData::Node" = type { %"struct.QMapData::Node"*, [1 x %"struct.QMapData::Node"*] }
25         %struct.QObject = type { i32 (...)**, %struct.QObjectData* }
26         %struct.QObjectData = type { i32 (...)**, %struct.QObject*, %struct.QObject*, %"struct.QList<QPointer<QObject> >", i8, [3 x i8], i32, i32 }
27         %struct.QObjectPrivate = type { %struct.QObjectData, i32, %struct.QObject*, %"struct.QList<QPointer<QObject> >", %"struct.QVector<QAbstractTextDocumentLayout::Selection>", %struct.QString }
28         %struct.QPaintDevice = type { i32 (...)**, i16 }
29         %struct.QPainter = type { %struct.QPainterPrivate* }
30         %struct.QPainterPrivate = type opaque
31         %struct.QPointF = type { double, double }
32         %struct.QPrinter = type { %struct.QPaintDevice, %struct.QPrinterPrivate* }
33         %struct.QPrinterPrivate = type opaque
34         %struct.QRectF = type { double, double, double, double }
35         %"struct.QSet<uint>" = type { %"struct.QHash<uint,QHashDummyValue>" }
36         %"struct.QSharedDataPointer<QTextFormatPrivate>" = type { %struct.QTextFormatPrivate* }
37         %struct.QString = type { %"struct.QString::Data"* }
38         %"struct.QString::Data" = type { %struct.QBasicAtomic, i32, i32, i16*, i8, i8, [1 x i16] }
39         %struct.QTextBlockFormat = type { %struct.QTextFormat }
40         %struct.QTextBlockGroup = type { %struct.QAbstractTextDocumentLayout }
41         %struct.QTextDocumentConfig = type { %struct.QString }
42         %struct.QTextDocumentPrivate = type { %struct.QObjectPrivate, %struct.QString, %"struct.QVector<QAbstractTextDocumentLayout::Selection>", i1, i32, i32, i1, i32, i32, i32, i32, i1, %struct.QTextFormatCollection, %struct.QTextBlockGroup*, %struct.QAbstractTextDocumentLayout*, %"struct.QFragmentMap<QTextBlockData>", %"struct.QFragmentMap<QTextBlockData>", i32, %"struct.QList<QPointer<QObject> >", %"struct.QList<QPointer<QObject> >", %"struct.QMap<QUrl,QVariant>", %"struct.QMap<QUrl,QVariant>", %"struct.QMap<QUrl,QVariant>", %struct.QTextDocumentConfig, i1, i1, %struct.QPointF }
43         %struct.QTextFormat = type { %"struct.QSharedDataPointer<QTextFormatPrivate>", i32 }
44         %struct.QTextFormatCollection = type { %"struct.QVector<QAbstractTextDocumentLayout::Selection>", %"struct.QVector<QAbstractTextDocumentLayout::Selection>", %"struct.QSet<uint>", %struct.QFont }
45         %struct.QTextFormatPrivate = type opaque
46         %"struct.QVector<QAbstractTextDocumentLayout::Selection>" = type { %struct..4._102 }
47         %struct.QVectorData = type { %struct.QBasicAtomic, i32, i32, i8 }
48
49 define void @_ZNK13QTextDocument5printEP8QPrinter(%struct.QAbstractTextDocumentLayout* %this, %struct.QPrinter* %printer) {
50 entry:
51         %tmp = alloca %struct.QPointF, align 16         ; <%struct.QPointF*> [#uses=2]
52         %tmp.upgrd.1 = alloca %struct.QRectF, align 16          ; <%struct.QRectF*> [#uses=5]
53         %tmp2 = alloca %struct.QPointF, align 16                ; <%struct.QPointF*> [#uses=3]
54         %tmp.upgrd.2 = alloca %struct.QFontMetrics, align 16            ; <%struct.QFontMetrics*> [#uses=4]
55         %tmp.upgrd.3 = alloca %struct.QFont, align 16           ; <%struct.QFont*> [#uses=4]
56         %tmp3 = alloca %struct.QPointF, align 16                ; <%struct.QPointF*> [#uses=2]
57         %p = alloca %struct.QPainter, align 16          ; <%struct.QPainter*> [#uses=14]
58         %body = alloca %struct.QRectF, align 16         ; <%struct.QRectF*> [#uses=9]
59         %pageNumberPos = alloca %struct.QPointF, align 16               ; <%struct.QPointF*> [#uses=4]
60         %scaledPageSize = alloca %struct.QPointF, align 16              ; <%struct.QPointF*> [#uses=6]
61         %printerPageSize = alloca %struct.QPointF, align 16             ; <%struct.QPointF*> [#uses=3]
62         %fmt = alloca %struct.QTextBlockFormat, align 16                ; <%struct.QTextBlockFormat*> [#uses=5]
63         %font = alloca %struct.QFont, align 16          ; <%struct.QFont*> [#uses=5]
64         %tmp.upgrd.4 = call %struct.QTextDocumentPrivate* @_ZNK13QTextDocument6d_funcEv( %struct.QAbstractTextDocumentLayout* %this )           ; <%struct.QTextDocumentPrivate*> [#uses=5]
65         %tmp.upgrd.5 = getelementptr %struct.QPrinter* %printer, i32 0, i32 0           ; <%struct.QPaintDevice*> [#uses=1]
66         call void @_ZN8QPainterC1EP12QPaintDevice( %struct.QPainter* %p, %struct.QPaintDevice* %tmp.upgrd.5 )
67         %tmp.upgrd.6 = invoke i1 @_ZNK8QPainter8isActiveEv( %struct.QPainter* %p )
68                         to label %invcont unwind label %cleanup329              ; <i1> [#uses=1]
69 invcont:                ; preds = %entry
70         br i1 %tmp.upgrd.6, label %cond_next, label %cleanup328
71 cond_next:              ; preds = %invcont
72         %tmp8 = invoke %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %this )
73                         to label %invcont7 unwind label %cleanup329             ; <%struct.QAbstractTextDocumentLayout*> [#uses=0]
74 invcont7:               ; preds = %cond_next
75         %tmp10 = getelementptr %struct.QTextDocumentPrivate* %tmp.upgrd.4, i32 0, i32 26                ; <%struct.QPointF*> [#uses=1]
76         call void @_ZN7QPointFC1Edd( %struct.QPointF* %tmp, double 0.000000e+00, double 0.000000e+00 )
77         call void @_ZN6QRectFC1ERK7QPointFRK6QSizeF( %struct.QRectF* %body, %struct.QPointF* %tmp, %struct.QPointF* %tmp10 )
78         call void @_ZN7QPointFC1Ev( %struct.QPointF* %pageNumberPos )
79         %tmp12 = getelementptr %struct.QTextDocumentPrivate* %tmp.upgrd.4, i32 0, i32 26                ; <%struct.QPointF*> [#uses=1]
80         %tmp13 = call i1 @_ZNK6QSizeF7isValidEv( %struct.QPointF* %tmp12 )              ; <i1> [#uses=1]
81         br i1 %tmp13, label %cond_next15, label %bb
82 cond_next15:            ; preds = %invcont7
83         %tmp17 = getelementptr %struct.QTextDocumentPrivate* %tmp.upgrd.4, i32 0, i32 26                ; <%struct.QPointF*> [#uses=1]
84         %tmp.upgrd.7 = call double @_ZNK6QSizeF6heightEv( %struct.QPointF* %tmp17 )             ; <double> [#uses=1]
85         %tmp18 = fcmp oeq double %tmp.upgrd.7, 0x41DFFFFFFFC00000               ; <i1> [#uses=1]
86         br i1 %tmp18, label %bb, label %cond_next20
87 cond_next20:            ; preds = %cond_next15
88         br label %bb21
89 bb:             ; preds = %cond_next15, %invcont7
90         br label %bb21
91 bb21:           ; preds = %bb, %cond_next20
92         %iftmp.406.0 = phi i1 [ false, %bb ], [ true, %cond_next20 ]            ; <i1> [#uses=1]
93         br i1 %iftmp.406.0, label %cond_true24, label %cond_false
94 cond_true24:            ; preds = %bb21
95         %tmp.upgrd.8 = invoke i32 @_Z13qt_defaultDpiv( )
96                         to label %invcont25 unwind label %cleanup329            ; <i32> [#uses=1]
97 invcont25:              ; preds = %cond_true24
98         %tmp26 = sitofp i32 %tmp.upgrd.8 to double              ; <double> [#uses=2]
99         %tmp30 = invoke %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %this )
100                         to label %invcont29 unwind label %cleanup329            ; <%struct.QAbstractTextDocumentLayout*> [#uses=1]
101 invcont29:              ; preds = %invcont25
102         %tmp32 = invoke %struct.QPaintDevice* @_ZNK27QAbstractTextDocumentLayout11paintDeviceEv( %struct.QAbstractTextDocumentLayout* %tmp30 )
103                         to label %invcont31 unwind label %cleanup329            ; <%struct.QPaintDevice*> [#uses=3]
104 invcont31:              ; preds = %invcont29
105         %tmp34 = icmp eq %struct.QPaintDevice* %tmp32, null             ; <i1> [#uses=1]
106         br i1 %tmp34, label %cond_next42, label %cond_true35
107 cond_true35:            ; preds = %invcont31
108         %tmp38 = invoke i32 @_ZNK12QPaintDevice11logicalDpiXEv( %struct.QPaintDevice* %tmp32 )
109                         to label %invcont37 unwind label %cleanup329            ; <i32> [#uses=1]
110 invcont37:              ; preds = %cond_true35
111         %tmp38.upgrd.9 = sitofp i32 %tmp38 to double            ; <double> [#uses=1]
112         %tmp41 = invoke i32 @_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp32 )
113                         to label %invcont40 unwind label %cleanup329            ; <i32> [#uses=1]
114 invcont40:              ; preds = %invcont37
115         %tmp41.upgrd.10 = sitofp i32 %tmp41 to double           ; <double> [#uses=1]
116         br label %cond_next42
117 cond_next42:            ; preds = %invcont40, %invcont31
118         %sourceDpiY.2 = phi double [ %tmp41.upgrd.10, %invcont40 ], [ %tmp26, %invcont31 ]              ; <double> [#uses=1]
119         %sourceDpiX.2 = phi double [ %tmp38.upgrd.9, %invcont40 ], [ %tmp26, %invcont31 ]               ; <double> [#uses=1]
120         %tmp44 = getelementptr %struct.QPrinter* %printer, i32 0, i32 0         ; <%struct.QPaintDevice*> [#uses=1]
121         %tmp46 = invoke i32 @_ZNK12QPaintDevice11logicalDpiXEv( %struct.QPaintDevice* %tmp44 )
122                         to label %invcont45 unwind label %cleanup329            ; <i32> [#uses=1]
123 invcont45:              ; preds = %cond_next42
124         %tmp46.upgrd.11 = sitofp i32 %tmp46 to double           ; <double> [#uses=1]
125         %tmp48 = fdiv double %tmp46.upgrd.11, %sourceDpiX.2             ; <double> [#uses=2]
126         %tmp50 = getelementptr %struct.QPrinter* %printer, i32 0, i32 0         ; <%struct.QPaintDevice*> [#uses=1]
127         %tmp52 = invoke i32 @_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp50 )
128                         to label %invcont51 unwind label %cleanup329            ; <i32> [#uses=1]
129 invcont51:              ; preds = %invcont45
130         %tmp52.upgrd.12 = sitofp i32 %tmp52 to double           ; <double> [#uses=1]
131         %tmp54 = fdiv double %tmp52.upgrd.12, %sourceDpiY.2             ; <double> [#uses=2]
132         invoke void @_ZN8QPainter5scaleEdd( %struct.QPainter* %p, double %tmp48, double %tmp54 )
133                         to label %invcont57 unwind label %cleanup329
134 invcont57:              ; preds = %invcont51
135         %tmp.upgrd.13 = getelementptr %struct.QPointF* %scaledPageSize, i32 0, i32 0            ; <double*> [#uses=1]
136         %tmp60 = getelementptr %struct.QTextDocumentPrivate* %tmp.upgrd.4, i32 0, i32 26, i32 0         ; <double*> [#uses=1]
137         %tmp61 = load double* %tmp60            ; <double> [#uses=1]
138         store double %tmp61, double* %tmp.upgrd.13
139         %tmp62 = getelementptr %struct.QPointF* %scaledPageSize, i32 0, i32 1           ; <double*> [#uses=1]
140         %tmp63 = getelementptr %struct.QTextDocumentPrivate* %tmp.upgrd.4, i32 0, i32 26, i32 1         ; <double*> [#uses=1]
141         %tmp64 = load double* %tmp63            ; <double> [#uses=1]
142         store double %tmp64, double* %tmp62
143         %tmp65 = call double* @_ZN6QSizeF6rwidthEv( %struct.QPointF* %scaledPageSize )          ; <double*> [#uses=2]
144         %tmp67 = load double* %tmp65            ; <double> [#uses=1]
145         %tmp69 = fmul double %tmp67, %tmp48             ; <double> [#uses=1]
146         store double %tmp69, double* %tmp65
147         %tmp71 = call double* @_ZN6QSizeF7rheightEv( %struct.QPointF* %scaledPageSize )         ; <double*> [#uses=2]
148         %tmp73 = load double* %tmp71            ; <double> [#uses=1]
149         %tmp75 = fmul double %tmp73, %tmp54             ; <double> [#uses=1]
150         store double %tmp75, double* %tmp71
151         %tmp78 = getelementptr %struct.QPrinter* %printer, i32 0, i32 0         ; <%struct.QPaintDevice*> [#uses=1]
152         %tmp80 = invoke i32 @_ZNK12QPaintDevice6heightEv( %struct.QPaintDevice* %tmp78 )
153                         to label %invcont79 unwind label %cleanup329            ; <i32> [#uses=1]
154 invcont79:              ; preds = %invcont57
155         %tmp82 = getelementptr %struct.QPrinter* %printer, i32 0, i32 0         ; <%struct.QPaintDevice*> [#uses=1]
156         %tmp84 = invoke i32 @_ZNK12QPaintDevice5widthEv( %struct.QPaintDevice* %tmp82 )
157                         to label %invcont83 unwind label %cleanup329            ; <i32> [#uses=1]
158 invcont83:              ; preds = %invcont79
159         %tmp80.upgrd.14 = sitofp i32 %tmp80 to double           ; <double> [#uses=1]
160         %tmp84.upgrd.15 = sitofp i32 %tmp84 to double           ; <double> [#uses=1]
161         call void @_ZN6QSizeFC1Edd( %struct.QPointF* %printerPageSize, double %tmp84.upgrd.15, double %tmp80.upgrd.14 )
162         %tmp85 = call double @_ZNK6QSizeF6heightEv( %struct.QPointF* %printerPageSize )         ; <double> [#uses=1]
163         %tmp86 = call double @_ZNK6QSizeF6heightEv( %struct.QPointF* %scaledPageSize )          ; <double> [#uses=1]
164         %tmp87 = fdiv double %tmp85, %tmp86             ; <double> [#uses=1]
165         %tmp88 = call double @_ZNK6QSizeF5widthEv( %struct.QPointF* %printerPageSize )          ; <double> [#uses=1]
166         %tmp89 = call double @_ZNK6QSizeF5widthEv( %struct.QPointF* %scaledPageSize )           ; <double> [#uses=1]
167         %tmp90 = fdiv double %tmp88, %tmp89             ; <double> [#uses=1]
168         invoke void @_ZN8QPainter5scaleEdd( %struct.QPainter* %p, double %tmp90, double %tmp87 )
169                         to label %cond_next194 unwind label %cleanup329
170 cond_false:             ; preds = %bb21
171         %tmp.upgrd.16 = getelementptr %struct.QAbstractTextDocumentLayout* %this, i32 0, i32 0          ; <%struct.QObject*> [#uses=1]
172         %tmp95 = invoke %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument5cloneEP7QObject( %struct.QAbstractTextDocumentLayout* %this, %struct.QObject* %tmp.upgrd.16 )
173                         to label %invcont94 unwind label %cleanup329            ; <%struct.QAbstractTextDocumentLayout*> [#uses=9]
174 invcont94:              ; preds = %cond_false
175         %tmp99 = invoke %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument14documentLayoutEv( %struct.QAbstractTextDocumentLayout* %tmp95 )
176                         to label %invcont98 unwind label %cleanup329            ; <%struct.QAbstractTextDocumentLayout*> [#uses=1]
177 invcont98:              ; preds = %invcont94
178         %tmp101 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
179                         to label %invcont100 unwind label %cleanup329           ; <%struct.QPaintDevice*> [#uses=1]
180 invcont100:             ; preds = %invcont98
181         invoke void @_ZN27QAbstractTextDocumentLayout14setPaintDeviceEP12QPaintDevice( %struct.QAbstractTextDocumentLayout* %tmp99, %struct.QPaintDevice* %tmp101 )
182                         to label %invcont103 unwind label %cleanup329
183 invcont103:             ; preds = %invcont100
184         %tmp105 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
185                         to label %invcont104 unwind label %cleanup329           ; <%struct.QPaintDevice*> [#uses=1]
186 invcont104:             ; preds = %invcont103
187         %tmp107 = invoke i32 @_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp105 )
188                         to label %invcont106 unwind label %cleanup329           ; <i32> [#uses=1]
189 invcont106:             ; preds = %invcont104
190         %tmp108 = sitofp i32 %tmp107 to double          ; <double> [#uses=1]
191         %tmp109 = fmul double %tmp108, 0x3FE93264C993264C               ; <double> [#uses=1]
192         %tmp109.upgrd.17 = fptosi double %tmp109 to i32         ; <i32> [#uses=3]
193         %tmp.upgrd.18 = call %struct.QTextBlockGroup* @_ZNK13QTextDocument9rootFrameEv( %struct.QAbstractTextDocumentLayout* %tmp95 )           ; <%struct.QTextBlockGroup*> [#uses=1]
194         invoke void @_ZNK10QTextFrame11frameFormatEv( %struct.QTextBlockFormat* sret  %fmt, %struct.QTextBlockGroup* %tmp.upgrd.18 )
195                         to label %invcont111 unwind label %cleanup329
196 invcont111:             ; preds = %invcont106
197         %tmp112 = sitofp i32 %tmp109.upgrd.17 to double         ; <double> [#uses=1]
198         invoke void @_ZN16QTextFrameFormat9setMarginEd( %struct.QTextBlockFormat* %fmt, double %tmp112 )
199                         to label %invcont114 unwind label %cleanup192
200 invcont114:             ; preds = %invcont111
201         %tmp116 = call %struct.QTextBlockGroup* @_ZNK13QTextDocument9rootFrameEv( %struct.QAbstractTextDocumentLayout* %tmp95 )         ; <%struct.QTextBlockGroup*> [#uses=1]
202         invoke void @_ZN10QTextFrame14setFrameFormatERK16QTextFrameFormat( %struct.QTextBlockGroup* %tmp116, %struct.QTextBlockFormat* %fmt )
203                         to label %invcont117 unwind label %cleanup192
204 invcont117:             ; preds = %invcont114
205         %tmp119 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
206                         to label %invcont118 unwind label %cleanup192           ; <%struct.QPaintDevice*> [#uses=1]
207 invcont118:             ; preds = %invcont117
208         %tmp121 = invoke i32 @_ZNK12QPaintDevice6heightEv( %struct.QPaintDevice* %tmp119 )
209                         to label %invcont120 unwind label %cleanup192           ; <i32> [#uses=1]
210 invcont120:             ; preds = %invcont118
211         %tmp121.upgrd.19 = sitofp i32 %tmp121 to double         ; <double> [#uses=1]
212         %tmp123 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
213                         to label %invcont122 unwind label %cleanup192           ; <%struct.QPaintDevice*> [#uses=1]
214 invcont122:             ; preds = %invcont120
215         %tmp125 = invoke i32 @_ZNK12QPaintDevice5widthEv( %struct.QPaintDevice* %tmp123 )
216                         to label %invcont124 unwind label %cleanup192           ; <i32> [#uses=1]
217 invcont124:             ; preds = %invcont122
218         %tmp125.upgrd.20 = sitofp i32 %tmp125 to double         ; <double> [#uses=1]
219         call void @_ZN6QRectFC1Edddd( %struct.QRectF* %tmp.upgrd.1, double 0.000000e+00, double 0.000000e+00, double %tmp125.upgrd.20, double %tmp121.upgrd.19 )
220         %tmp126 = getelementptr %struct.QRectF* %body, i32 0, i32 0             ; <double*> [#uses=1]
221         %tmp127 = getelementptr %struct.QRectF* %tmp.upgrd.1, i32 0, i32 0              ; <double*> [#uses=1]
222         %tmp128 = load double* %tmp127          ; <double> [#uses=1]
223         store double %tmp128, double* %tmp126
224         %tmp129 = getelementptr %struct.QRectF* %body, i32 0, i32 1             ; <double*> [#uses=1]
225         %tmp130 = getelementptr %struct.QRectF* %tmp.upgrd.1, i32 0, i32 1              ; <double*> [#uses=1]
226         %tmp131 = load double* %tmp130          ; <double> [#uses=1]
227         store double %tmp131, double* %tmp129
228         %tmp132 = getelementptr %struct.QRectF* %body, i32 0, i32 2             ; <double*> [#uses=1]
229         %tmp133 = getelementptr %struct.QRectF* %tmp.upgrd.1, i32 0, i32 2              ; <double*> [#uses=1]
230         %tmp134 = load double* %tmp133          ; <double> [#uses=1]
231         store double %tmp134, double* %tmp132
232         %tmp135 = getelementptr %struct.QRectF* %body, i32 0, i32 3             ; <double*> [#uses=1]
233         %tmp136 = getelementptr %struct.QRectF* %tmp.upgrd.1, i32 0, i32 3              ; <double*> [#uses=1]
234         %tmp137 = load double* %tmp136          ; <double> [#uses=1]
235         store double %tmp137, double* %tmp135
236         %tmp138 = call double @_ZNK6QRectF6heightEv( %struct.QRectF* %body )            ; <double> [#uses=1]
237         %tmp139 = sitofp i32 %tmp109.upgrd.17 to double         ; <double> [#uses=1]
238         %tmp140 = fsub double %tmp138, %tmp139          ; <double> [#uses=1]
239         %tmp142 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
240                         to label %invcont141 unwind label %cleanup192           ; <%struct.QPaintDevice*> [#uses=1]
241 invcont141:             ; preds = %invcont124
242         invoke void @_ZNK13QTextDocument11defaultFontEv( %struct.QFont* sret  %tmp.upgrd.3, %struct.QAbstractTextDocumentLayout* %tmp95 )
243                         to label %invcont144 unwind label %cleanup192
244 invcont144:             ; preds = %invcont141
245         invoke void @_ZN12QFontMetricsC1ERK5QFontP12QPaintDevice( %struct.QFontMetrics* %tmp.upgrd.2, %struct.QFont* %tmp.upgrd.3, %struct.QPaintDevice* %tmp142 )
246                         to label %invcont146 unwind label %cleanup173
247 invcont146:             ; preds = %invcont144
248         %tmp149 = invoke i32 @_ZNK12QFontMetrics6ascentEv( %struct.QFontMetrics* %tmp.upgrd.2 )
249                         to label %invcont148 unwind label %cleanup168           ; <i32> [#uses=1]
250 invcont148:             ; preds = %invcont146
251         %tmp149.upgrd.21 = sitofp i32 %tmp149 to double         ; <double> [#uses=1]
252         %tmp150 = fadd double %tmp140, %tmp149.upgrd.21         ; <double> [#uses=1]
253         %tmp152 = invoke %struct.QPaintDevice* @_ZNK8QPainter6deviceEv( %struct.QPainter* %p )
254                         to label %invcont151 unwind label %cleanup168           ; <%struct.QPaintDevice*> [#uses=1]
255 invcont151:             ; preds = %invcont148
256         %tmp154 = invoke i32 @_ZNK12QPaintDevice11logicalDpiYEv( %struct.QPaintDevice* %tmp152 )
257                         to label %invcont153 unwind label %cleanup168           ; <i32> [#uses=1]
258 invcont153:             ; preds = %invcont151
259         %tmp155 = mul i32 %tmp154, 5            ; <i32> [#uses=1]
260         %tmp156 = sdiv i32 %tmp155, 72          ; <i32> [#uses=1]
261         %tmp156.upgrd.22 = sitofp i32 %tmp156 to double         ; <double> [#uses=1]
262         %tmp157 = fadd double %tmp150, %tmp156.upgrd.22         ; <double> [#uses=1]
263         %tmp158 = call double @_ZNK6QRectF5widthEv( %struct.QRectF* %body )             ; <double> [#uses=1]
264         %tmp159 = sitofp i32 %tmp109.upgrd.17 to double         ; <double> [#uses=1]
265         %tmp160 = fsub double %tmp158, %tmp159          ; <double> [#uses=1]
266         call void @_ZN7QPointFC1Edd( %struct.QPointF* %tmp2, double %tmp160, double %tmp157 )
267         %tmp161 = getelementptr %struct.QPointF* %pageNumberPos, i32 0, i32 0           ; <double*> [#uses=1]
268         %tmp162 = getelementptr %struct.QPointF* %tmp2, i32 0, i32 0            ; <double*> [#uses=1]
269         %tmp163 = load double* %tmp162          ; <double> [#uses=1]
270         store double %tmp163, double* %tmp161
271         %tmp164 = getelementptr %struct.QPointF* %pageNumberPos, i32 0, i32 1           ; <double*> [#uses=1]
272         %tmp165 = getelementptr %struct.QPointF* %tmp2, i32 0, i32 1            ; <double*> [#uses=1]
273         %tmp166 = load double* %tmp165          ; <double> [#uses=1]
274         store double %tmp166, double* %tmp164
275         invoke void @_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp.upgrd.2 )
276                         to label %cleanup171 unwind label %cleanup173
277 cleanup168:             ; preds = %invcont151, %invcont148, %invcont146
278         %val168 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
279                     cleanup
280         invoke void @_ZN12QFontMetricsD1Ev( %struct.QFontMetrics* %tmp.upgrd.2 )
281                         to label %cleanup173 unwind label %cleanup173
282 cleanup171:             ; preds = %invcont153
283         invoke void @_ZN5QFontD1Ev( %struct.QFont* %tmp.upgrd.3 )
284                         to label %finally170 unwind label %cleanup192
285 cleanup173:             ; preds = %cleanup168, %cleanup168, %invcont153, %invcont144
286         %val173 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
287                     cleanup
288         invoke void @_ZN5QFontD1Ev( %struct.QFont* %tmp.upgrd.3 )
289                         to label %cleanup192 unwind label %cleanup192
290 finally170:             ; preds = %cleanup171
291         invoke void @_ZNK13QTextDocument11defaultFontEv( %struct.QFont* sret  %font, %struct.QAbstractTextDocumentLayout* %tmp95 )
292                         to label %invcont177 unwind label %cleanup192
293 invcont177:             ; preds = %finally170
294         invoke void @_ZN5QFont12setPointSizeEi( %struct.QFont* %font, i32 10 )
295                         to label %invcont179 unwind label %cleanup187
296 invcont179:             ; preds = %invcont177
297         invoke void @_ZN13QTextDocument14setDefaultFontERK5QFont( %struct.QAbstractTextDocumentLayout* %tmp95, %struct.QFont* %font )
298                         to label %invcont181 unwind label %cleanup187
299 invcont181:             ; preds = %invcont179
300         call void @_ZNK6QRectF4sizeEv( %struct.QPointF* sret  %tmp3, %struct.QRectF* %body )
301         invoke void @_ZN13QTextDocument11setPageSizeERK6QSizeF( %struct.QAbstractTextDocumentLayout* %tmp95, %struct.QPointF* %tmp3 )
302                         to label %cleanup185 unwind label %cleanup187
303 cleanup185:             ; preds = %invcont181
304         invoke void @_ZN5QFontD1Ev( %struct.QFont* %font )
305                         to label %cleanup190 unwind label %cleanup192
306 cleanup187:             ; preds = %invcont181, %invcont179, %invcont177
307         %val187 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
308                     cleanup
309         invoke void @_ZN5QFontD1Ev( %struct.QFont* %font )
310                         to label %cleanup192 unwind label %cleanup192
311 cleanup190:             ; preds = %cleanup185
312         invoke void @_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt )
313                         to label %cond_next194 unwind label %cleanup329
314 cleanup192:             ; preds = %cleanup187, %cleanup187, %cleanup185, %finally170, %cleanup173, %cleanup173, %cleanup171, %invcont141, %invcont124, %invcont122, %invcont120, %invcont118, %invcont117, %invcont114, %invcont111
315         %val192 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
316                     cleanup
317         invoke void @_ZN16QTextFrameFormatD1Ev( %struct.QTextBlockFormat* %fmt )
318                         to label %cleanup329 unwind label %cleanup329
319 cond_next194:           ; preds = %cleanup190, %invcont83
320         %clonedDoc.1 = phi %struct.QAbstractTextDocumentLayout* [ null, %invcont83 ], [ %tmp95, %cleanup190 ]           ; <%struct.QAbstractTextDocumentLayout*> [#uses=3]
321         %doc.1 = phi %struct.QAbstractTextDocumentLayout* [ %this, %invcont83 ], [ %tmp95, %cleanup190 ]                ; <%struct.QAbstractTextDocumentLayout*> [#uses=2]
322         %tmp197 = invoke i1 @_ZNK8QPrinter13collateCopiesEv( %struct.QPrinter* %printer )
323                         to label %invcont196 unwind label %cleanup329           ; <i1> [#uses=1]
324 invcont196:             ; preds = %cond_next194
325         br i1 %tmp197, label %cond_true200, label %cond_false204
326 cond_true200:           ; preds = %invcont196
327         %tmp203 = invoke i32 @_ZNK8QPrinter9numCopiesEv( %struct.QPrinter* %printer )
328                         to label %invcont202 unwind label %cleanup329           ; <i32> [#uses=1]
329 invcont202:             ; preds = %cond_true200
330         br label %cond_next208
331 cond_false204:          ; preds = %invcont196
332         %tmp207 = invoke i32 @_ZNK8QPrinter9numCopiesEv( %struct.QPrinter* %printer )
333                         to label %invcont206 unwind label %cleanup329           ; <i32> [#uses=1]
334 invcont206:             ; preds = %cond_false204
335         br label %cond_next208
336 cond_next208:           ; preds = %invcont206, %invcont202
337         %pageCopies.0 = phi i32 [ %tmp203, %invcont202 ], [ 1, %invcont206 ]            ; <i32> [#uses=2]
338         %docCopies.0 = phi i32 [ 1, %invcont202 ], [ %tmp207, %invcont206 ]             ; <i32> [#uses=2]
339         %tmp211 = invoke i32 @_ZNK8QPrinter8fromPageEv( %struct.QPrinter* %printer )
340                         to label %invcont210 unwind label %cleanup329           ; <i32> [#uses=3]
341 invcont210:             ; preds = %cond_next208
342         %tmp214 = invoke i32 @_ZNK8QPrinter6toPageEv( %struct.QPrinter* %printer )
343                         to label %invcont213 unwind label %cleanup329           ; <i32> [#uses=3]
344 invcont213:             ; preds = %invcont210
345         %tmp216 = icmp eq i32 %tmp211, 0                ; <i1> [#uses=1]
346         br i1 %tmp216, label %cond_true217, label %cond_next225
347 cond_true217:           ; preds = %invcont213
348         %tmp219 = icmp eq i32 %tmp214, 0                ; <i1> [#uses=1]
349         br i1 %tmp219, label %cond_true220, label %cond_next225
350 cond_true220:           ; preds = %cond_true217
351         %tmp223 = invoke i32 @_ZNK13QTextDocument9pageCountEv( %struct.QAbstractTextDocumentLayout* %doc.1 )
352                         to label %invcont222 unwind label %cleanup329           ; <i32> [#uses=1]
353 invcont222:             ; preds = %cond_true220
354         br label %cond_next225
355 cond_next225:           ; preds = %invcont222, %cond_true217, %invcont213
356         %toPage.1 = phi i32 [ %tmp223, %invcont222 ], [ %tmp214, %cond_true217 ], [ %tmp214, %invcont213 ]              ; <i32> [#uses=2]
357         %fromPage.1 = phi i32 [ 1, %invcont222 ], [ %tmp211, %cond_true217 ], [ %tmp211, %invcont213 ]          ; <i32> [#uses=2]
358         %tmp.page = invoke i32 @_ZNK8QPrinter9pageOrderEv( %struct.QPrinter* %printer )
359                         to label %invcont227 unwind label %cleanup329           ; <i32> [#uses=1]
360 invcont227:             ; preds = %cond_next225
361         %tmp228 = icmp eq i32 %tmp.page, 1              ; <i1> [#uses=1]
362         br i1 %tmp228, label %cond_true230, label %cond_next234
363 cond_true230:           ; preds = %invcont227
364         br label %cond_next234
365 cond_next234:           ; preds = %cond_true230, %invcont227
366         %ascending.1 = phi i1 [ false, %cond_true230 ], [ true, %invcont227 ]           ; <i1> [#uses=1]
367         %toPage.2 = phi i32 [ %fromPage.1, %cond_true230 ], [ %toPage.1, %invcont227 ]          ; <i32> [#uses=1]
368         %fromPage.2 = phi i32 [ %toPage.1, %cond_true230 ], [ %fromPage.1, %invcont227 ]                ; <i32> [#uses=1]
369         br label %bb309
370 bb237:          ; preds = %cond_true313, %cond_next293
371         %iftmp.410.4 = phi i1 [ %iftmp.410.5, %cond_true313 ], [ %iftmp.410.1, %cond_next293 ]          ; <i1> [#uses=1]
372         %page.4 = phi i32 [ %fromPage.2, %cond_true313 ], [ %page.3, %cond_next293 ]            ; <i32> [#uses=4]
373         br label %bb273
374 invcont240:             ; preds = %cond_true277
375         %tmp242 = icmp eq i32 %tmp241, 2                ; <i1> [#uses=1]
376         br i1 %tmp242, label %bb252, label %cond_next244
377 cond_next244:           ; preds = %invcont240
378         %tmp247 = invoke i32 @_ZNK8QPrinter12printerStateEv( %struct.QPrinter* %printer )
379                         to label %invcont246 unwind label %cleanup329           ; <i32> [#uses=1]
380 invcont246:             ; preds = %cond_next244
381         %tmp248 = icmp eq i32 %tmp247, 3                ; <i1> [#uses=1]
382         br i1 %tmp248, label %bb252, label %bb253
383 bb252:          ; preds = %invcont246, %invcont240
384         br label %bb254
385 bb253:          ; preds = %invcont246
386         br label %bb254
387 bb254:          ; preds = %bb253, %bb252
388         %iftmp.410.0 = phi i1 [ true, %bb252 ], [ false, %bb253 ]               ; <i1> [#uses=2]
389         br i1 %iftmp.410.0, label %UserCanceled, label %cond_next258
390 cond_next258:           ; preds = %bb254
391         invoke fastcc void @_Z9printPageiP8QPainterPK13QTextDocumentRK6QRectFRK7QPointF( i32 %page.4, %struct.QPainter* %p, %struct.QAbstractTextDocumentLayout* %doc.1, %struct.QRectF* %body, %struct.QPointF* %pageNumberPos )
392                         to label %invcont261 unwind label %cleanup329
393 invcont261:             ; preds = %cond_next258
394         %tmp263 = add i32 %pageCopies.0, -1             ; <i32> [#uses=1]
395         %tmp265 = icmp sgt i32 %tmp263, %j.4            ; <i1> [#uses=1]
396         br i1 %tmp265, label %cond_true266, label %cond_next270
397 cond_true266:           ; preds = %invcont261
398         %tmp269 = invoke i1 @_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer )
399                         to label %cond_next270 unwind label %cleanup329         ; <i1> [#uses=0]
400 cond_next270:           ; preds = %cond_true266, %invcont261
401         %tmp272 = add i32 %j.4, 1               ; <i32> [#uses=1]
402         br label %bb273
403 bb273:          ; preds = %cond_next270, %bb237
404         %iftmp.410.1 = phi i1 [ %iftmp.410.4, %bb237 ], [ %iftmp.410.0, %cond_next270 ]         ; <i1> [#uses=2]
405         %j.4 = phi i32 [ 0, %bb237 ], [ %tmp272, %cond_next270 ]                ; <i32> [#uses=3]
406         %tmp276 = icmp slt i32 %j.4, %pageCopies.0              ; <i1> [#uses=1]
407         br i1 %tmp276, label %cond_true277, label %bb280
408 cond_true277:           ; preds = %bb273
409         %tmp241 = invoke i32 @_ZNK8QPrinter12printerStateEv( %struct.QPrinter* %printer )
410                         to label %invcont240 unwind label %cleanup329           ; <i32> [#uses=1]
411 bb280:          ; preds = %bb273
412         %tmp283 = icmp eq i32 %page.4, %toPage.2                ; <i1> [#uses=1]
413         br i1 %tmp283, label %bb297, label %cond_next285
414 cond_next285:           ; preds = %bb280
415         br i1 %ascending.1, label %cond_true287, label %cond_false290
416 cond_true287:           ; preds = %cond_next285
417         %tmp289 = add i32 %page.4, 1            ; <i32> [#uses=1]
418         br label %cond_next293
419 cond_false290:          ; preds = %cond_next285
420         %tmp292 = add i32 %page.4, -1           ; <i32> [#uses=1]
421         br label %cond_next293
422 cond_next293:           ; preds = %cond_false290, %cond_true287
423         %page.3 = phi i32 [ %tmp289, %cond_true287 ], [ %tmp292, %cond_false290 ]               ; <i32> [#uses=1]
424         %tmp296 = invoke i1 @_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer )
425                         to label %bb237 unwind label %cleanup329                ; <i1> [#uses=0]
426 bb297:          ; preds = %bb280
427         %tmp299 = add i32 %docCopies.0, -1              ; <i32> [#uses=1]
428         %tmp301 = icmp sgt i32 %tmp299, %i.1            ; <i1> [#uses=1]
429         br i1 %tmp301, label %cond_true302, label %cond_next306
430 cond_true302:           ; preds = %bb297
431         %tmp305 = invoke i1 @_ZN8QPrinter7newPageEv( %struct.QPrinter* %printer )
432                         to label %cond_next306 unwind label %cleanup329         ; <i1> [#uses=0]
433 cond_next306:           ; preds = %cond_true302, %bb297
434         %tmp308 = add i32 %i.1, 1               ; <i32> [#uses=1]
435         br label %bb309
436 bb309:          ; preds = %cond_next306, %cond_next234
437         %iftmp.410.5 = phi i1 [ undef, %cond_next234 ], [ %iftmp.410.1, %cond_next306 ]         ; <i1> [#uses=1]
438         %i.1 = phi i32 [ 0, %cond_next234 ], [ %tmp308, %cond_next306 ]         ; <i32> [#uses=3]
439         %tmp312 = icmp slt i32 %i.1, %docCopies.0               ; <i1> [#uses=1]
440         br i1 %tmp312, label %cond_true313, label %UserCanceled
441 cond_true313:           ; preds = %bb309
442         br label %bb237
443 UserCanceled:           ; preds = %bb309, %bb254
444         %tmp318 = icmp eq %struct.QAbstractTextDocumentLayout* %clonedDoc.1, null               ; <i1> [#uses=1]
445         br i1 %tmp318, label %cleanup327, label %cond_true319
446 cond_true319:           ; preds = %UserCanceled
447         %tmp.upgrd.23 = getelementptr %struct.QAbstractTextDocumentLayout* %clonedDoc.1, i32 0, i32 0, i32 0            ; <i32 (...)***> [#uses=1]
448         %tmp.upgrd.24 = load i32 (...)*** %tmp.upgrd.23         ; <i32 (...)**> [#uses=1]
449         %tmp322 = getelementptr i32 (...)** %tmp.upgrd.24, i32 4                ; <i32 (...)**> [#uses=1]
450         %tmp.upgrd.25 = load i32 (...)** %tmp322                ; <i32 (...)*> [#uses=1]
451         %tmp.upgrd.26 = bitcast i32 (...)* %tmp.upgrd.25 to void (%struct.QAbstractTextDocumentLayout*)*                ; <void (%struct.QAbstractTextDocumentLayout*)*> [#uses=1]
452         invoke void %tmp.upgrd.26( %struct.QAbstractTextDocumentLayout* %clonedDoc.1 )
453                         to label %cleanup327 unwind label %cleanup329
454 cleanup327:             ; preds = %cond_true319, %UserCanceled
455         call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
456         ret void
457 cleanup328:             ; preds = %invcont
458         call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
459         ret void
460 cleanup329:             ; preds = %cond_true319, %cond_true302, %cond_next293, %cond_true277, %cond_true266, %cond_next258, %cond_next244, %cond_next225, %cond_true220, %invcont210, %cond_next208, %cond_false204, %cond_true200, %cond_next194, %cleanup192, %cleanup192, %cleanup190, %invcont106, %invcont104, %invcont103, %invcont100, %invcont98, %invcont94, %cond_false, %invcont83, %invcont79, %invcont57, %invcont51, %invcont45, %cond_next42, %invcont37, %cond_true35, %invcont29, %invcont25, %cond_true24, %cond_next, %entry
461         %val = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
462                  cleanup
463         call void @_ZN8QPainterD1Ev( %struct.QPainter* %p )
464         resume { i8*, i32 } %val
465 }
466
467 declare void @_ZN6QSizeFC1Edd(%struct.QPointF*, double, double)
468
469 declare i1 @_ZNK6QSizeF7isValidEv(%struct.QPointF*)
470
471 declare double @_ZNK6QSizeF5widthEv(%struct.QPointF*)
472
473 declare double @_ZNK6QSizeF6heightEv(%struct.QPointF*)
474
475 declare double* @_ZN6QSizeF6rwidthEv(%struct.QPointF*)
476
477 declare double* @_ZN6QSizeF7rheightEv(%struct.QPointF*)
478
479 declare %struct.QTextDocumentPrivate* @_ZNK13QTextDocument6d_funcEv(%struct.QAbstractTextDocumentLayout*)
480
481 declare void @_ZN7QPointFC1Ev(%struct.QPointF*)
482
483 declare void @_ZN7QPointFC1Edd(%struct.QPointF*, double, double)
484
485 declare void @_ZN16QTextFrameFormat9setMarginEd(%struct.QTextBlockFormat*, double)
486
487 declare void @_ZN6QRectFC1Edddd(%struct.QRectF*, double, double, double, double)
488
489 declare void @_ZN6QRectFC1ERK7QPointFRK6QSizeF(%struct.QRectF*, %struct.QPointF*, %struct.QPointF*)
490
491 declare double @_ZNK6QRectF5widthEv(%struct.QRectF*)
492
493 declare double @_ZNK6QRectF6heightEv(%struct.QRectF*)
494
495 declare void @_ZNK6QRectF4sizeEv(%struct.QPointF*, %struct.QRectF*)
496
497 declare void @_ZN16QTextFrameFormatD1Ev(%struct.QTextBlockFormat*)
498
499 declare void @_ZNK10QTextFrame11frameFormatEv(%struct.QTextBlockFormat*, %struct.QTextBlockGroup*)
500
501 declare void @_ZN10QTextFrame14setFrameFormatERK16QTextFrameFormat(%struct.QTextBlockGroup*, %struct.QTextBlockFormat*)
502
503 declare i32 @_ZNK12QPaintDevice5widthEv(%struct.QPaintDevice*)
504
505 declare i32 @_ZNK12QPaintDevice6heightEv(%struct.QPaintDevice*)
506
507 declare i32 @_ZNK12QPaintDevice11logicalDpiXEv(%struct.QPaintDevice*)
508
509 declare i32 @_ZNK12QPaintDevice11logicalDpiYEv(%struct.QPaintDevice*)
510
511 declare %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument5cloneEP7QObject(%struct.QAbstractTextDocumentLayout*, %struct.QObject*)
512
513 declare void @_ZN5QFontD1Ev(%struct.QFont*)
514
515 declare %struct.QAbstractTextDocumentLayout* @_ZNK13QTextDocument14documentLayoutEv(%struct.QAbstractTextDocumentLayout*)
516
517 declare %struct.QTextBlockGroup* @_ZNK13QTextDocument9rootFrameEv(%struct.QAbstractTextDocumentLayout*)
518
519 declare i32 @_ZNK13QTextDocument9pageCountEv(%struct.QAbstractTextDocumentLayout*)
520
521 declare void @_ZNK13QTextDocument11defaultFontEv(%struct.QFont*, %struct.QAbstractTextDocumentLayout*)
522
523 declare void @_ZN13QTextDocument14setDefaultFontERK5QFont(%struct.QAbstractTextDocumentLayout*, %struct.QFont*)
524
525 declare void @_ZN13QTextDocument11setPageSizeERK6QSizeF(%struct.QAbstractTextDocumentLayout*, %struct.QPointF*)
526
527 declare void @_Z9printPageiP8QPainterPK13QTextDocumentRK6QRectFRK7QPointF(i32, %struct.QPainter*, %struct.QAbstractTextDocumentLayout*, %struct.QRectF*, %struct.QPointF*)
528
529 declare void @_ZN12QFontMetricsD1Ev(%struct.QFontMetrics*)
530
531 declare void @_ZN8QPainterC1EP12QPaintDevice(%struct.QPainter*, %struct.QPaintDevice*)
532
533 declare i1 @_ZNK8QPainter8isActiveEv(%struct.QPainter*)
534
535 declare i32 @_Z13qt_defaultDpiv()
536
537 declare %struct.QPaintDevice* @_ZNK27QAbstractTextDocumentLayout11paintDeviceEv(%struct.QAbstractTextDocumentLayout*)
538
539 declare void @_ZN8QPainter5scaleEdd(%struct.QPainter*, double, double)
540
541 declare %struct.QPaintDevice* @_ZNK8QPainter6deviceEv(%struct.QPainter*)
542
543 declare void @_ZN27QAbstractTextDocumentLayout14setPaintDeviceEP12QPaintDevice(%struct.QAbstractTextDocumentLayout*, %struct.QPaintDevice*)
544
545 declare void @_ZN12QFontMetricsC1ERK5QFontP12QPaintDevice(%struct.QFontMetrics*, %struct.QFont*, %struct.QPaintDevice*)
546
547 declare i32 @_ZNK12QFontMetrics6ascentEv(%struct.QFontMetrics*)
548
549 declare void @_ZN5QFont12setPointSizeEi(%struct.QFont*, i32)
550
551 declare i1 @_ZNK8QPrinter13collateCopiesEv(%struct.QPrinter*)
552
553 declare i32 @_ZNK8QPrinter9numCopiesEv(%struct.QPrinter*)
554
555 declare i32 @_ZNK8QPrinter8fromPageEv(%struct.QPrinter*)
556
557 declare i32 @_ZNK8QPrinter6toPageEv(%struct.QPrinter*)
558
559 declare i32 @_ZNK8QPrinter9pageOrderEv(%struct.QPrinter*)
560
561 declare i32 @_ZNK8QPrinter12printerStateEv(%struct.QPrinter*)
562
563 declare i1 @_ZN8QPrinter7newPageEv(%struct.QPrinter*)
564
565 declare void @_ZN8QPainterD1Ev(%struct.QPainter*)
566
567 declare i32 @__gxx_personality_v0(...)