LLVM Ada language bindings. Credit to Rod Kay and the AuroraUX team.
[oota-llvm.git] / bindings / ada / llvm / llvm-binding.ads
1 -- This file is generated by SWIG. Do *not* modify by hand.
2 --
3
4 with Interfaces.C.Strings;
5
6
7 package llvm.Binding is
8
9    procedure LLVMDisposeMessage
10      (Message : in Interfaces.C.Strings.chars_ptr);
11
12    function LLVMContextCreate return  llvm.LLVMContextRef;
13
14    function LLVMGetGlobalContext return  llvm.LLVMContextRef;
15
16    procedure LLVMContextDispose (C : in llvm.LLVMContextRef);
17
18    function LLVMModuleCreateWithName
19      (ModuleID : in Interfaces.C.Strings.chars_ptr)
20       return     llvm.LLVMModuleRef;
21
22    function LLVMModuleCreateWithNameInContext
23      (ModuleID : in Interfaces.C.Strings.chars_ptr;
24       C        : in llvm.LLVMContextRef)
25       return     llvm.LLVMModuleRef;
26
27    procedure LLVMDisposeModule (M : in llvm.LLVMModuleRef);
28
29    function LLVMGetDataLayout
30      (M    : in llvm.LLVMModuleRef)
31       return Interfaces.C.Strings.chars_ptr;
32
33    procedure LLVMSetDataLayout
34      (M      : in llvm.LLVMModuleRef;
35       Triple : in Interfaces.C.Strings.chars_ptr);
36
37    function LLVMGetTarget
38      (M    : in llvm.LLVMModuleRef)
39       return Interfaces.C.Strings.chars_ptr;
40
41    procedure LLVMSetTarget
42      (M      : in llvm.LLVMModuleRef;
43       Triple : in Interfaces.C.Strings.chars_ptr);
44
45    function LLVMAddTypeName
46      (M    : in llvm.LLVMModuleRef;
47       Name : in Interfaces.C.Strings.chars_ptr;
48       Ty   : in llvm.LLVMTypeRef)
49       return Interfaces.C.int;
50
51    procedure LLVMDeleteTypeName
52      (M    : in llvm.LLVMModuleRef;
53       Name : in Interfaces.C.Strings.chars_ptr);
54
55    function LLVMGetTypeByName
56      (M    : in llvm.LLVMModuleRef;
57       Name : in Interfaces.C.Strings.chars_ptr)
58       return llvm.LLVMTypeRef;
59
60    procedure LLVMDumpModule (M : in llvm.LLVMModuleRef);
61
62    function LLVMGetTypeKind
63      (Ty   : in llvm.LLVMTypeRef)
64       return llvm.LLVMTypeKind;
65
66    function LLVMInt1Type return  llvm.LLVMTypeRef;
67
68    function LLVMInt8Type return  llvm.LLVMTypeRef;
69
70    function LLVMInt16Type return  llvm.LLVMTypeRef;
71
72    function LLVMInt32Type return  llvm.LLVMTypeRef;
73
74    function LLVMInt64Type return  llvm.LLVMTypeRef;
75
76    function LLVMIntType
77      (NumBits : in Interfaces.C.unsigned)
78       return    llvm.LLVMTypeRef;
79
80    function LLVMGetIntTypeWidth
81      (IntegerTy : in llvm.LLVMTypeRef)
82       return      Interfaces.C.unsigned;
83
84    function LLVMFloatType return  llvm.LLVMTypeRef;
85
86    function LLVMDoubleType return  llvm.LLVMTypeRef;
87
88    function LLVMX86FP80Type return  llvm.LLVMTypeRef;
89
90    function LLVMFP128Type return  llvm.LLVMTypeRef;
91
92    function LLVMPPCFP128Type return  llvm.LLVMTypeRef;
93
94    function LLVMFunctionType
95      (ReturnType : in llvm.LLVMTypeRef;
96       ParamTypes : access llvm.LLVMTypeRef;
97       ParamCount : in Interfaces.C.unsigned;
98       IsVarArg   : in Interfaces.C.int)
99       return       llvm.LLVMTypeRef;
100
101    function LLVMIsFunctionVarArg
102      (FunctionTy : in llvm.LLVMTypeRef)
103       return       Interfaces.C.int;
104
105    function LLVMGetReturnType
106      (FunctionTy : in llvm.LLVMTypeRef)
107       return       llvm.LLVMTypeRef;
108
109    function LLVMCountParamTypes
110      (FunctionTy : in llvm.LLVMTypeRef)
111       return       Interfaces.C.unsigned;
112
113    procedure LLVMGetParamTypes
114      (FunctionTy : in llvm.LLVMTypeRef;
115       Dest       : access llvm.LLVMTypeRef);
116
117    function LLVMStructType
118      (ElementTypes : access llvm.LLVMTypeRef;
119       ElementCount : in Interfaces.C.unsigned;
120       Packed       : in Interfaces.C.int)
121       return         llvm.LLVMTypeRef;
122
123    function LLVMCountStructElementTypes
124      (StructTy : in llvm.LLVMTypeRef)
125       return     Interfaces.C.unsigned;
126
127    procedure LLVMGetStructElementTypes
128      (StructTy : in llvm.LLVMTypeRef;
129       Dest     : access llvm.LLVMTypeRef);
130
131    function LLVMIsPackedStruct
132      (StructTy : in llvm.LLVMTypeRef)
133       return     Interfaces.C.int;
134
135    function LLVMArrayType
136      (ElementType  : in llvm.LLVMTypeRef;
137       ElementCount : in Interfaces.C.unsigned)
138       return         llvm.LLVMTypeRef;
139
140    function LLVMPointerType
141      (ElementType  : in llvm.LLVMTypeRef;
142       AddressSpace : in Interfaces.C.unsigned)
143       return         llvm.LLVMTypeRef;
144
145    function LLVMVectorType
146      (ElementType  : in llvm.LLVMTypeRef;
147       ElementCount : in Interfaces.C.unsigned)
148       return         llvm.LLVMTypeRef;
149
150    function LLVMGetElementType
151      (Ty   : in llvm.LLVMTypeRef)
152       return llvm.LLVMTypeRef;
153
154    function LLVMGetArrayLength
155      (ArrayTy : in llvm.LLVMTypeRef)
156       return    Interfaces.C.unsigned;
157
158    function LLVMGetPointerAddressSpace
159      (PointerTy : in llvm.LLVMTypeRef)
160       return      Interfaces.C.unsigned;
161
162    function LLVMGetVectorSize
163      (VectorTy : in llvm.LLVMTypeRef)
164       return     Interfaces.C.unsigned;
165
166    function LLVMVoidType return  llvm.LLVMTypeRef;
167
168    function LLVMLabelType return  llvm.LLVMTypeRef;
169
170    function LLVMOpaqueType return  llvm.LLVMTypeRef;
171
172    function LLVMCreateTypeHandle
173      (PotentiallyAbstractTy : in llvm.LLVMTypeRef)
174       return                  llvm.LLVMTypeHandleRef;
175
176    procedure LLVMRefineType
177      (AbstractTy : in llvm.LLVMTypeRef;
178       ConcreteTy : in llvm.LLVMTypeRef);
179
180    function LLVMResolveTypeHandle
181      (TypeHandle : in llvm.LLVMTypeHandleRef)
182       return       llvm.LLVMTypeRef;
183
184    procedure LLVMDisposeTypeHandle (TypeHandle : in llvm.LLVMTypeHandleRef);
185
186    function LLVMTypeOf (Val : in llvm.LLVMValueRef) return llvm.LLVMTypeRef;
187
188    function LLVMGetValueName
189      (Val  : in llvm.LLVMValueRef)
190       return Interfaces.C.Strings.chars_ptr;
191
192    procedure LLVMSetValueName
193      (Val  : in llvm.LLVMValueRef;
194       Name : in Interfaces.C.Strings.chars_ptr);
195
196    procedure LLVMDumpValue (Val : in llvm.LLVMValueRef);
197
198    function LLVMIsAArgument
199      (Val  : in llvm.LLVMValueRef)
200       return llvm.LLVMValueRef;
201
202    function LLVMIsABasicBlock
203      (Val  : in llvm.LLVMValueRef)
204       return llvm.LLVMValueRef;
205
206    function LLVMIsAInlineAsm
207      (Val  : in llvm.LLVMValueRef)
208       return llvm.LLVMValueRef;
209
210    function LLVMIsAUser
211      (Val  : in llvm.LLVMValueRef)
212       return llvm.LLVMValueRef;
213
214    function LLVMIsAConstant
215      (Val  : in llvm.LLVMValueRef)
216       return llvm.LLVMValueRef;
217
218    function LLVMIsAConstantAggregateZero
219      (Val  : in llvm.LLVMValueRef)
220       return llvm.LLVMValueRef;
221
222    function LLVMIsAConstantArray
223      (Val  : in llvm.LLVMValueRef)
224       return llvm.LLVMValueRef;
225
226    function LLVMIsAConstantExpr
227      (Val  : in llvm.LLVMValueRef)
228       return llvm.LLVMValueRef;
229
230    function LLVMIsAConstantFP
231      (Val  : in llvm.LLVMValueRef)
232       return llvm.LLVMValueRef;
233
234    function LLVMIsAConstantInt
235      (Val  : in llvm.LLVMValueRef)
236       return llvm.LLVMValueRef;
237
238    function LLVMIsAConstantPointerNull
239      (Val  : in llvm.LLVMValueRef)
240       return llvm.LLVMValueRef;
241
242    function LLVMIsAConstantStruct
243      (Val  : in llvm.LLVMValueRef)
244       return llvm.LLVMValueRef;
245
246    function LLVMIsAConstantVector
247      (Val  : in llvm.LLVMValueRef)
248       return llvm.LLVMValueRef;
249
250    function LLVMIsAGlobalValue
251      (Val  : in llvm.LLVMValueRef)
252       return llvm.LLVMValueRef;
253
254    function LLVMIsAFunction
255      (Val  : in llvm.LLVMValueRef)
256       return llvm.LLVMValueRef;
257
258    function LLVMIsAGlobalAlias
259      (Val  : in llvm.LLVMValueRef)
260       return llvm.LLVMValueRef;
261
262    function LLVMIsAGlobalVariable
263      (Val  : in llvm.LLVMValueRef)
264       return llvm.LLVMValueRef;
265
266    function LLVMIsAUndefValue
267      (Val  : in llvm.LLVMValueRef)
268       return llvm.LLVMValueRef;
269
270    function LLVMIsAInstruction
271      (Val  : in llvm.LLVMValueRef)
272       return llvm.LLVMValueRef;
273
274    function LLVMIsABinaryOperator
275      (Val  : in llvm.LLVMValueRef)
276       return llvm.LLVMValueRef;
277
278    function LLVMIsACallInst
279      (Val  : in llvm.LLVMValueRef)
280       return llvm.LLVMValueRef;
281
282    function LLVMIsAIntrinsicInst
283      (Val  : in llvm.LLVMValueRef)
284       return llvm.LLVMValueRef;
285
286    function LLVMIsADbgInfoIntrinsic
287      (Val  : in llvm.LLVMValueRef)
288       return llvm.LLVMValueRef;
289
290    function LLVMIsADbgDeclareInst
291      (Val  : in llvm.LLVMValueRef)
292       return llvm.LLVMValueRef;
293
294    function LLVMIsADbgFuncStartInst
295      (Val  : in llvm.LLVMValueRef)
296       return llvm.LLVMValueRef;
297
298    function LLVMIsADbgRegionEndInst
299      (Val  : in llvm.LLVMValueRef)
300       return llvm.LLVMValueRef;
301
302    function LLVMIsADbgRegionStartInst
303      (Val  : in llvm.LLVMValueRef)
304       return llvm.LLVMValueRef;
305
306    function LLVMIsADbgStopPointInst
307      (Val  : in llvm.LLVMValueRef)
308       return llvm.LLVMValueRef;
309
310    function LLVMIsAEHSelectorInst
311      (Val  : in llvm.LLVMValueRef)
312       return llvm.LLVMValueRef;
313
314    function LLVMIsAMemIntrinsic
315      (Val  : in llvm.LLVMValueRef)
316       return llvm.LLVMValueRef;
317
318    function LLVMIsAMemCpyInst
319      (Val  : in llvm.LLVMValueRef)
320       return llvm.LLVMValueRef;
321
322    function LLVMIsAMemMoveInst
323      (Val  : in llvm.LLVMValueRef)
324       return llvm.LLVMValueRef;
325
326    function LLVMIsAMemSetInst
327      (Val  : in llvm.LLVMValueRef)
328       return llvm.LLVMValueRef;
329
330    function LLVMIsACmpInst
331      (Val  : in llvm.LLVMValueRef)
332       return llvm.LLVMValueRef;
333
334    function LLVMIsAFCmpInst
335      (Val  : in llvm.LLVMValueRef)
336       return llvm.LLVMValueRef;
337
338    function LLVMIsAICmpInst
339      (Val  : in llvm.LLVMValueRef)
340       return llvm.LLVMValueRef;
341
342    function LLVMIsAExtractElementInst
343      (Val  : in llvm.LLVMValueRef)
344       return llvm.LLVMValueRef;
345
346    function LLVMIsAGetElementPtrInst
347      (Val  : in llvm.LLVMValueRef)
348       return llvm.LLVMValueRef;
349
350    function LLVMIsAInsertElementInst
351      (Val  : in llvm.LLVMValueRef)
352       return llvm.LLVMValueRef;
353
354    function LLVMIsAInsertValueInst
355      (Val  : in llvm.LLVMValueRef)
356       return llvm.LLVMValueRef;
357
358    function LLVMIsAPHINode
359      (Val  : in llvm.LLVMValueRef)
360       return llvm.LLVMValueRef;
361
362    function LLVMIsASelectInst
363      (Val  : in llvm.LLVMValueRef)
364       return llvm.LLVMValueRef;
365
366    function LLVMIsAShuffleVectorInst
367      (Val  : in llvm.LLVMValueRef)
368       return llvm.LLVMValueRef;
369
370    function LLVMIsAStoreInst
371      (Val  : in llvm.LLVMValueRef)
372       return llvm.LLVMValueRef;
373
374    function LLVMIsATerminatorInst
375      (Val  : in llvm.LLVMValueRef)
376       return llvm.LLVMValueRef;
377
378    function LLVMIsABranchInst
379      (Val  : in llvm.LLVMValueRef)
380       return llvm.LLVMValueRef;
381
382    function LLVMIsAInvokeInst
383      (Val  : in llvm.LLVMValueRef)
384       return llvm.LLVMValueRef;
385
386    function LLVMIsAReturnInst
387      (Val  : in llvm.LLVMValueRef)
388       return llvm.LLVMValueRef;
389
390    function LLVMIsASwitchInst
391      (Val  : in llvm.LLVMValueRef)
392       return llvm.LLVMValueRef;
393
394    function LLVMIsAUnreachableInst
395      (Val  : in llvm.LLVMValueRef)
396       return llvm.LLVMValueRef;
397
398    function LLVMIsAUnwindInst
399      (Val  : in llvm.LLVMValueRef)
400       return llvm.LLVMValueRef;
401
402    function LLVMIsAUnaryInstruction
403      (Val  : in llvm.LLVMValueRef)
404       return llvm.LLVMValueRef;
405
406    function LLVMIsAAllocationInst
407      (Val  : in llvm.LLVMValueRef)
408       return llvm.LLVMValueRef;
409
410    function LLVMIsAAllocaInst
411      (Val  : in llvm.LLVMValueRef)
412       return llvm.LLVMValueRef;
413
414    function LLVMIsAMallocInst
415      (Val  : in llvm.LLVMValueRef)
416       return llvm.LLVMValueRef;
417
418    function LLVMIsACastInst
419      (Val  : in llvm.LLVMValueRef)
420       return llvm.LLVMValueRef;
421
422    function LLVMIsABitCastInst
423      (Val  : in llvm.LLVMValueRef)
424       return llvm.LLVMValueRef;
425
426    function LLVMIsAFPExtInst
427      (Val  : in llvm.LLVMValueRef)
428       return llvm.LLVMValueRef;
429
430    function LLVMIsAFPToSIInst
431      (Val  : in llvm.LLVMValueRef)
432       return llvm.LLVMValueRef;
433
434    function LLVMIsAFPToUIInst
435      (Val  : in llvm.LLVMValueRef)
436       return llvm.LLVMValueRef;
437
438    function LLVMIsAFPTruncInst
439      (Val  : in llvm.LLVMValueRef)
440       return llvm.LLVMValueRef;
441
442    function LLVMIsAIntToPtrInst
443      (Val  : in llvm.LLVMValueRef)
444       return llvm.LLVMValueRef;
445
446    function LLVMIsAPtrToIntInst
447      (Val  : in llvm.LLVMValueRef)
448       return llvm.LLVMValueRef;
449
450    function LLVMIsASExtInst
451      (Val  : in llvm.LLVMValueRef)
452       return llvm.LLVMValueRef;
453
454    function LLVMIsASIToFPInst
455      (Val  : in llvm.LLVMValueRef)
456       return llvm.LLVMValueRef;
457
458    function LLVMIsATruncInst
459      (Val  : in llvm.LLVMValueRef)
460       return llvm.LLVMValueRef;
461
462    function LLVMIsAUIToFPInst
463      (Val  : in llvm.LLVMValueRef)
464       return llvm.LLVMValueRef;
465
466    function LLVMIsAZExtInst
467      (Val  : in llvm.LLVMValueRef)
468       return llvm.LLVMValueRef;
469
470    function LLVMIsAExtractValueInst
471      (Val  : in llvm.LLVMValueRef)
472       return llvm.LLVMValueRef;
473
474    function LLVMIsAFreeInst
475      (Val  : in llvm.LLVMValueRef)
476       return llvm.LLVMValueRef;
477
478    function LLVMIsALoadInst
479      (Val  : in llvm.LLVMValueRef)
480       return llvm.LLVMValueRef;
481
482    function LLVMIsAVAArgInst
483      (Val  : in llvm.LLVMValueRef)
484       return llvm.LLVMValueRef;
485
486    function LLVMConstNull
487      (Ty   : in llvm.LLVMTypeRef)
488       return llvm.LLVMValueRef;
489
490    function LLVMConstAllOnes
491      (Ty   : in llvm.LLVMTypeRef)
492       return llvm.LLVMValueRef;
493
494    function LLVMGetUndef
495      (Ty   : in llvm.LLVMTypeRef)
496       return llvm.LLVMValueRef;
497
498    function LLVMIsConstant
499      (Val  : in llvm.LLVMValueRef)
500       return Interfaces.C.int;
501
502    function LLVMIsNull (Val : in llvm.LLVMValueRef) return Interfaces.C.int;
503
504    function LLVMIsUndef
505      (Val  : in llvm.LLVMValueRef)
506       return Interfaces.C.int;
507
508    function LLVMConstPointerNull
509      (Ty   : in llvm.LLVMTypeRef)
510       return llvm.LLVMValueRef;
511
512    function LLVMConstInt
513      (IntTy      : in llvm.LLVMTypeRef;
514       N          : in Interfaces.C.Extensions.unsigned_long_long;
515       SignExtend : in Interfaces.C.int)
516       return       llvm.LLVMValueRef;
517
518    function LLVMConstReal
519      (RealTy : in llvm.LLVMTypeRef;
520       N      : in Interfaces.C.double)
521       return   llvm.LLVMValueRef;
522
523    function LLVMConstRealOfString
524      (RealTy : in llvm.LLVMTypeRef;
525       Text   : in Interfaces.C.Strings.chars_ptr)
526       return   llvm.LLVMValueRef;
527
528    function LLVMConstString
529      (Str               : in Interfaces.C.Strings.chars_ptr;
530       Length            : in Interfaces.C.unsigned;
531       DontNullTerminate : in Interfaces.C.int)
532       return              llvm.LLVMValueRef;
533
534    function LLVMConstArray
535      (ElementTy    : in llvm.LLVMTypeRef;
536       ConstantVals : access llvm.LLVMValueRef;
537       Length       : in Interfaces.C.unsigned)
538       return         llvm.LLVMValueRef;
539
540    function LLVMConstStruct
541      (ConstantVals : access llvm.LLVMValueRef;
542       Count        : in Interfaces.C.unsigned;
543       packed       : in Interfaces.C.int)
544       return         llvm.LLVMValueRef;
545
546    function LLVMConstVector
547      (ScalarConstantVals : access llvm.LLVMValueRef;
548       Size               : in Interfaces.C.unsigned)
549       return               llvm.LLVMValueRef;
550
551    function LLVMSizeOf (Ty : in llvm.LLVMTypeRef) return llvm.LLVMValueRef;
552
553    function LLVMConstNeg
554      (ConstantVal : in llvm.LLVMValueRef)
555       return        llvm.LLVMValueRef;
556
557    function LLVMConstNot
558      (ConstantVal : in llvm.LLVMValueRef)
559       return        llvm.LLVMValueRef;
560
561    function LLVMConstAdd
562      (LHSConstant : in llvm.LLVMValueRef;
563       RHSConstant : in llvm.LLVMValueRef)
564       return        llvm.LLVMValueRef;
565
566    function LLVMConstSub
567      (LHSConstant : in llvm.LLVMValueRef;
568       RHSConstant : in llvm.LLVMValueRef)
569       return        llvm.LLVMValueRef;
570
571    function LLVMConstMul
572      (LHSConstant : in llvm.LLVMValueRef;
573       RHSConstant : in llvm.LLVMValueRef)
574       return        llvm.LLVMValueRef;
575
576    function LLVMConstUDiv
577      (LHSConstant : in llvm.LLVMValueRef;
578       RHSConstant : in llvm.LLVMValueRef)
579       return        llvm.LLVMValueRef;
580
581    function LLVMConstSDiv
582      (LHSConstant : in llvm.LLVMValueRef;
583       RHSConstant : in llvm.LLVMValueRef)
584       return        llvm.LLVMValueRef;
585
586    function LLVMConstFDiv
587      (LHSConstant : in llvm.LLVMValueRef;
588       RHSConstant : in llvm.LLVMValueRef)
589       return        llvm.LLVMValueRef;
590
591    function LLVMConstURem
592      (LHSConstant : in llvm.LLVMValueRef;
593       RHSConstant : in llvm.LLVMValueRef)
594       return        llvm.LLVMValueRef;
595
596    function LLVMConstSRem
597      (LHSConstant : in llvm.LLVMValueRef;
598       RHSConstant : in llvm.LLVMValueRef)
599       return        llvm.LLVMValueRef;
600
601    function LLVMConstFRem
602      (LHSConstant : in llvm.LLVMValueRef;
603       RHSConstant : in llvm.LLVMValueRef)
604       return        llvm.LLVMValueRef;
605
606    function LLVMConstAnd
607      (LHSConstant : in llvm.LLVMValueRef;
608       RHSConstant : in llvm.LLVMValueRef)
609       return        llvm.LLVMValueRef;
610
611    function LLVMConstOr
612      (LHSConstant : in llvm.LLVMValueRef;
613       RHSConstant : in llvm.LLVMValueRef)
614       return        llvm.LLVMValueRef;
615
616    function LLVMConstXor
617      (LHSConstant : in llvm.LLVMValueRef;
618       RHSConstant : in llvm.LLVMValueRef)
619       return        llvm.LLVMValueRef;
620
621    function LLVMConstICmp
622      (Predicate   : in llvm.LLVMIntPredicate;
623       LHSConstant : in llvm.LLVMValueRef;
624       RHSConstant : in llvm.LLVMValueRef)
625       return        llvm.LLVMValueRef;
626
627    function LLVMConstFCmp
628      (Predicate   : in llvm.LLVMRealPredicate;
629       LHSConstant : in llvm.LLVMValueRef;
630       RHSConstant : in llvm.LLVMValueRef)
631       return        llvm.LLVMValueRef;
632
633    function LLVMConstShl
634      (LHSConstant : in llvm.LLVMValueRef;
635       RHSConstant : in llvm.LLVMValueRef)
636       return        llvm.LLVMValueRef;
637
638    function LLVMConstLShr
639      (LHSConstant : in llvm.LLVMValueRef;
640       RHSConstant : in llvm.LLVMValueRef)
641       return        llvm.LLVMValueRef;
642
643    function LLVMConstAShr
644      (LHSConstant : in llvm.LLVMValueRef;
645       RHSConstant : in llvm.LLVMValueRef)
646       return        llvm.LLVMValueRef;
647
648    function LLVMConstGEP
649      (ConstantVal     : in llvm.LLVMValueRef;
650       ConstantIndices : access llvm.LLVMValueRef;
651       NumIndices      : in Interfaces.C.unsigned)
652       return            llvm.LLVMValueRef;
653
654    function LLVMConstTrunc
655      (ConstantVal : in llvm.LLVMValueRef;
656       ToType      : in llvm.LLVMTypeRef)
657       return        llvm.LLVMValueRef;
658
659    function LLVMConstSExt
660      (ConstantVal : in llvm.LLVMValueRef;
661       ToType      : in llvm.LLVMTypeRef)
662       return        llvm.LLVMValueRef;
663
664    function LLVMConstZExt
665      (ConstantVal : in llvm.LLVMValueRef;
666       ToType      : in llvm.LLVMTypeRef)
667       return        llvm.LLVMValueRef;
668
669    function LLVMConstFPTrunc
670      (ConstantVal : in llvm.LLVMValueRef;
671       ToType      : in llvm.LLVMTypeRef)
672       return        llvm.LLVMValueRef;
673
674    function LLVMConstFPExt
675      (ConstantVal : in llvm.LLVMValueRef;
676       ToType      : in llvm.LLVMTypeRef)
677       return        llvm.LLVMValueRef;
678
679    function LLVMConstUIToFP
680      (ConstantVal : in llvm.LLVMValueRef;
681       ToType      : in llvm.LLVMTypeRef)
682       return        llvm.LLVMValueRef;
683
684    function LLVMConstSIToFP
685      (ConstantVal : in llvm.LLVMValueRef;
686       ToType      : in llvm.LLVMTypeRef)
687       return        llvm.LLVMValueRef;
688
689    function LLVMConstFPToUI
690      (ConstantVal : in llvm.LLVMValueRef;
691       ToType      : in llvm.LLVMTypeRef)
692       return        llvm.LLVMValueRef;
693
694    function LLVMConstFPToSI
695      (ConstantVal : in llvm.LLVMValueRef;
696       ToType      : in llvm.LLVMTypeRef)
697       return        llvm.LLVMValueRef;
698
699    function LLVMConstPtrToInt
700      (ConstantVal : in llvm.LLVMValueRef;
701       ToType      : in llvm.LLVMTypeRef)
702       return        llvm.LLVMValueRef;
703
704    function LLVMConstIntToPtr
705      (ConstantVal : in llvm.LLVMValueRef;
706       ToType      : in llvm.LLVMTypeRef)
707       return        llvm.LLVMValueRef;
708
709    function LLVMConstBitCast
710      (ConstantVal : in llvm.LLVMValueRef;
711       ToType      : in llvm.LLVMTypeRef)
712       return        llvm.LLVMValueRef;
713
714    function LLVMConstSelect
715      (ConstantCondition : in llvm.LLVMValueRef;
716       ConstantIfTrue    : in llvm.LLVMValueRef;
717       ConstantIfFalse   : in llvm.LLVMValueRef)
718       return              llvm.LLVMValueRef;
719
720    function LLVMConstExtractElement
721      (VectorConstant : in llvm.LLVMValueRef;
722       IndexConstant  : in llvm.LLVMValueRef)
723       return           llvm.LLVMValueRef;
724
725    function LLVMConstInsertElement
726      (VectorConstant       : in llvm.LLVMValueRef;
727       ElementValueConstant : in llvm.LLVMValueRef;
728       IndexConstant        : in llvm.LLVMValueRef)
729       return                 llvm.LLVMValueRef;
730
731    function LLVMConstShuffleVector
732      (VectorAConstant : in llvm.LLVMValueRef;
733       VectorBConstant : in llvm.LLVMValueRef;
734       MaskConstant    : in llvm.LLVMValueRef)
735       return            llvm.LLVMValueRef;
736
737    function LLVMConstExtractValue
738      (AggConstant : in llvm.LLVMValueRef;
739       IdxList     : access Interfaces.C.unsigned;
740       NumIdx      : in Interfaces.C.unsigned)
741       return        llvm.LLVMValueRef;
742
743    function LLVMConstInsertValue
744      (AggConstant          : in llvm.LLVMValueRef;
745       ElementValueConstant : in llvm.LLVMValueRef;
746       IdxList              : access Interfaces.C.unsigned;
747       NumIdx               : in Interfaces.C.unsigned)
748       return                 llvm.LLVMValueRef;
749
750    function LLVMConstInlineAsm
751      (Ty             : in llvm.LLVMTypeRef;
752       AsmString      : in Interfaces.C.Strings.chars_ptr;
753       Constraints    : in Interfaces.C.Strings.chars_ptr;
754       HasSideEffects : in Interfaces.C.int)
755       return           llvm.LLVMValueRef;
756
757    function LLVMGetGlobalParent
758      (Global : in llvm.LLVMValueRef)
759       return   llvm.LLVMModuleRef;
760
761    function LLVMIsDeclaration
762      (Global : in llvm.LLVMValueRef)
763       return   Interfaces.C.int;
764
765    function LLVMGetLinkage
766      (Global : in llvm.LLVMValueRef)
767       return   llvm.LLVMLinkage;
768
769    procedure LLVMSetLinkage
770      (Global  : in llvm.LLVMValueRef;
771       Linkage : in llvm.LLVMLinkage);
772
773    function LLVMGetSection
774      (Global : in llvm.LLVMValueRef)
775       return   Interfaces.C.Strings.chars_ptr;
776
777    procedure LLVMSetSection
778      (Global  : in llvm.LLVMValueRef;
779       Section : in Interfaces.C.Strings.chars_ptr);
780
781    function LLVMGetVisibility
782      (Global : in llvm.LLVMValueRef)
783       return   llvm.LLVMVisibility;
784
785    procedure LLVMSetVisibility
786      (Global : in llvm.LLVMValueRef;
787       Viz    : in llvm.LLVMVisibility);
788
789    function LLVMGetAlignment
790      (Global : in llvm.LLVMValueRef)
791       return   Interfaces.C.unsigned;
792
793    procedure LLVMSetAlignment
794      (Global : in llvm.LLVMValueRef;
795       Bytes  : in Interfaces.C.unsigned);
796
797    function LLVMAddGlobal
798      (M    : in llvm.LLVMModuleRef;
799       Ty   : in llvm.LLVMTypeRef;
800       Name : in Interfaces.C.Strings.chars_ptr)
801       return llvm.LLVMValueRef;
802
803    function LLVMGetNamedGlobal
804      (M    : in llvm.LLVMModuleRef;
805       Name : in Interfaces.C.Strings.chars_ptr)
806       return llvm.LLVMValueRef;
807
808    function LLVMGetFirstGlobal
809      (M    : in llvm.LLVMModuleRef)
810       return llvm.LLVMValueRef;
811
812    function LLVMGetLastGlobal
813      (M    : in llvm.LLVMModuleRef)
814       return llvm.LLVMValueRef;
815
816    function LLVMGetNextGlobal
817      (GlobalVar : in llvm.LLVMValueRef)
818       return      llvm.LLVMValueRef;
819
820    function LLVMGetPreviousGlobal
821      (GlobalVar : in llvm.LLVMValueRef)
822       return      llvm.LLVMValueRef;
823
824    procedure LLVMDeleteGlobal (GlobalVar : in llvm.LLVMValueRef);
825
826    function LLVMGetInitializer
827      (GlobalVar : in llvm.LLVMValueRef)
828       return      llvm.LLVMValueRef;
829
830    procedure LLVMSetInitializer
831      (GlobalVar   : in llvm.LLVMValueRef;
832       ConstantVal : in llvm.LLVMValueRef);
833
834    function LLVMIsThreadLocal
835      (GlobalVar : in llvm.LLVMValueRef)
836       return      Interfaces.C.int;
837
838    procedure LLVMSetThreadLocal
839      (GlobalVar     : in llvm.LLVMValueRef;
840       IsThreadLocal : in Interfaces.C.int);
841
842    function LLVMIsGlobalConstant
843      (GlobalVar : in llvm.LLVMValueRef)
844       return      Interfaces.C.int;
845
846    procedure LLVMSetGlobalConstant
847      (GlobalVar  : in llvm.LLVMValueRef;
848       IsConstant : in Interfaces.C.int);
849
850    function LLVMAddAlias
851      (M       : in llvm.LLVMModuleRef;
852       Ty      : in llvm.LLVMTypeRef;
853       Aliasee : in llvm.LLVMValueRef;
854       Name    : in Interfaces.C.Strings.chars_ptr)
855       return    llvm.LLVMValueRef;
856
857    function LLVMAddFunction
858      (M          : in llvm.LLVMModuleRef;
859       Name       : in Interfaces.C.Strings.chars_ptr;
860       FunctionTy : in llvm.LLVMTypeRef)
861       return       llvm.LLVMValueRef;
862
863    function LLVMGetNamedFunction
864      (M    : in llvm.LLVMModuleRef;
865       Name : in Interfaces.C.Strings.chars_ptr)
866       return llvm.LLVMValueRef;
867
868    function LLVMGetFirstFunction
869      (M    : in llvm.LLVMModuleRef)
870       return llvm.LLVMValueRef;
871
872    function LLVMGetLastFunction
873      (M    : in llvm.LLVMModuleRef)
874       return llvm.LLVMValueRef;
875
876    function LLVMGetNextFunction
877      (Fn   : in llvm.LLVMValueRef)
878       return llvm.LLVMValueRef;
879
880    function LLVMGetPreviousFunction
881      (Fn   : in llvm.LLVMValueRef)
882       return llvm.LLVMValueRef;
883
884    procedure LLVMDeleteFunction (Fn : in llvm.LLVMValueRef);
885
886    function LLVMGetIntrinsicID
887      (Fn   : in llvm.LLVMValueRef)
888       return Interfaces.C.unsigned;
889
890    function LLVMGetFunctionCallConv
891      (Fn   : in llvm.LLVMValueRef)
892       return Interfaces.C.unsigned;
893
894    procedure LLVMSetFunctionCallConv
895      (Fn : in llvm.LLVMValueRef;
896       CC : in Interfaces.C.unsigned);
897
898    function LLVMGetGC
899      (Fn   : in llvm.LLVMValueRef)
900       return Interfaces.C.Strings.chars_ptr;
901
902    procedure LLVMSetGC
903      (Fn   : in llvm.LLVMValueRef;
904       Name : in Interfaces.C.Strings.chars_ptr);
905
906    procedure LLVMAddFunctionAttr
907      (Fn : in llvm.LLVMValueRef;
908       PA : in llvm.LLVMAttribute);
909
910    procedure LLVMRemoveFunctionAttr
911      (Fn : in llvm.LLVMValueRef;
912       PA : in llvm.LLVMAttribute);
913
914    function LLVMCountParams
915      (Fn   : in llvm.LLVMValueRef)
916       return Interfaces.C.unsigned;
917
918    procedure LLVMGetParams
919      (Fn     : in llvm.LLVMValueRef;
920       Params : access llvm.LLVMValueRef);
921
922    function LLVMGetParam
923      (Fn    : in llvm.LLVMValueRef;
924       Index : in Interfaces.C.unsigned)
925       return  llvm.LLVMValueRef;
926
927    function LLVMGetParamParent
928      (Inst : in llvm.LLVMValueRef)
929       return llvm.LLVMValueRef;
930
931    function LLVMGetFirstParam
932      (Fn   : in llvm.LLVMValueRef)
933       return llvm.LLVMValueRef;
934
935    function LLVMGetLastParam
936      (Fn   : in llvm.LLVMValueRef)
937       return llvm.LLVMValueRef;
938
939    function LLVMGetNextParam
940      (Arg  : in llvm.LLVMValueRef)
941       return llvm.LLVMValueRef;
942
943    function LLVMGetPreviousParam
944      (Arg  : in llvm.LLVMValueRef)
945       return llvm.LLVMValueRef;
946
947    procedure LLVMAddAttribute
948      (Arg : in llvm.LLVMValueRef;
949       PA  : in llvm.LLVMAttribute);
950
951    procedure LLVMRemoveAttribute
952      (Arg : in llvm.LLVMValueRef;
953       PA  : in llvm.LLVMAttribute);
954
955    procedure LLVMSetParamAlignment
956      (Arg   : in llvm.LLVMValueRef;
957       align : in Interfaces.C.unsigned);
958
959    function LLVMBasicBlockAsValue
960      (BB   : in llvm.LLVMBasicBlockRef)
961       return llvm.LLVMValueRef;
962
963    function LLVMValueIsBasicBlock
964      (Val  : in llvm.LLVMValueRef)
965       return Interfaces.C.int;
966
967    function LLVMValueAsBasicBlock
968      (Val  : in llvm.LLVMValueRef)
969       return llvm.LLVMBasicBlockRef;
970
971    function LLVMGetBasicBlockParent
972      (BB   : in llvm.LLVMBasicBlockRef)
973       return llvm.LLVMValueRef;
974
975    function LLVMCountBasicBlocks
976      (Fn   : in llvm.LLVMValueRef)
977       return Interfaces.C.unsigned;
978
979    procedure LLVMGetBasicBlocks
980      (Fn          : in llvm.LLVMValueRef;
981       BasicBlocks : access llvm.LLVMBasicBlockRef);
982
983    function LLVMGetFirstBasicBlock
984      (Fn   : in llvm.LLVMValueRef)
985       return llvm.LLVMBasicBlockRef;
986
987    function LLVMGetLastBasicBlock
988      (Fn   : in llvm.LLVMValueRef)
989       return llvm.LLVMBasicBlockRef;
990
991    function LLVMGetNextBasicBlock
992      (BB   : in llvm.LLVMBasicBlockRef)
993       return llvm.LLVMBasicBlockRef;
994
995    function LLVMGetPreviousBasicBlock
996      (BB   : in llvm.LLVMBasicBlockRef)
997       return llvm.LLVMBasicBlockRef;
998
999    function LLVMGetEntryBasicBlock
1000      (Fn   : in llvm.LLVMValueRef)
1001       return llvm.LLVMBasicBlockRef;
1002
1003    function LLVMAppendBasicBlock
1004      (Fn   : in llvm.LLVMValueRef;
1005       Name : in Interfaces.C.Strings.chars_ptr)
1006       return llvm.LLVMBasicBlockRef;
1007
1008    function LLVMInsertBasicBlock
1009      (InsertBeforeBB : in llvm.LLVMBasicBlockRef;
1010       Name           : in Interfaces.C.Strings.chars_ptr)
1011       return           llvm.LLVMBasicBlockRef;
1012
1013    procedure LLVMDeleteBasicBlock (BB : in llvm.LLVMBasicBlockRef);
1014
1015    function LLVMGetInstructionParent
1016      (Inst : in llvm.LLVMValueRef)
1017       return llvm.LLVMBasicBlockRef;
1018
1019    function LLVMGetFirstInstruction
1020      (BB   : in llvm.LLVMBasicBlockRef)
1021       return llvm.LLVMValueRef;
1022
1023    function LLVMGetLastInstruction
1024      (BB   : in llvm.LLVMBasicBlockRef)
1025       return llvm.LLVMValueRef;
1026
1027    function LLVMGetNextInstruction
1028      (Inst : in llvm.LLVMValueRef)
1029       return llvm.LLVMValueRef;
1030
1031    function LLVMGetPreviousInstruction
1032      (Inst : in llvm.LLVMValueRef)
1033       return llvm.LLVMValueRef;
1034
1035    procedure LLVMSetInstructionCallConv
1036      (Instr : in llvm.LLVMValueRef;
1037       CC    : in Interfaces.C.unsigned);
1038
1039    function LLVMGetInstructionCallConv
1040      (Instr : in llvm.LLVMValueRef)
1041       return  Interfaces.C.unsigned;
1042
1043    procedure LLVMAddInstrAttribute
1044      (Instr : in llvm.LLVMValueRef;
1045       index : in Interfaces.C.unsigned;
1046       arg_1 : in llvm.LLVMAttribute);
1047
1048    procedure LLVMRemoveInstrAttribute
1049      (Instr : in llvm.LLVMValueRef;
1050       index : in Interfaces.C.unsigned;
1051       arg_1 : in llvm.LLVMAttribute);
1052
1053    procedure LLVMSetInstrParamAlignment
1054      (Instr : in llvm.LLVMValueRef;
1055       index : in Interfaces.C.unsigned;
1056       align : in Interfaces.C.unsigned);
1057
1058    function LLVMIsTailCall
1059      (CallInst : in llvm.LLVMValueRef)
1060       return     Interfaces.C.int;
1061
1062    procedure LLVMSetTailCall
1063      (CallInst   : in llvm.LLVMValueRef;
1064       IsTailCall : in Interfaces.C.int);
1065
1066    procedure LLVMAddIncoming
1067      (PhiNode        : in llvm.LLVMValueRef;
1068       IncomingValues : access llvm.LLVMValueRef;
1069       IncomingBlocks : access llvm.LLVMBasicBlockRef;
1070       Count          : in Interfaces.C.unsigned);
1071
1072    function LLVMCountIncoming
1073      (PhiNode : in llvm.LLVMValueRef)
1074       return    Interfaces.C.unsigned;
1075
1076    function LLVMGetIncomingValue
1077      (PhiNode : in llvm.LLVMValueRef;
1078       Index   : in Interfaces.C.unsigned)
1079       return    llvm.LLVMValueRef;
1080
1081    function LLVMGetIncomingBlock
1082      (PhiNode : in llvm.LLVMValueRef;
1083       Index   : in Interfaces.C.unsigned)
1084       return    llvm.LLVMBasicBlockRef;
1085
1086    function LLVMCreateBuilder return  llvm.LLVMBuilderRef;
1087
1088    procedure LLVMPositionBuilder
1089      (Builder : in llvm.LLVMBuilderRef;
1090       Block   : in llvm.LLVMBasicBlockRef;
1091       Instr   : in llvm.LLVMValueRef);
1092
1093    procedure LLVMPositionBuilderBefore
1094      (Builder : in llvm.LLVMBuilderRef;
1095       Instr   : in llvm.LLVMValueRef);
1096
1097    procedure LLVMPositionBuilderAtEnd
1098      (Builder : in llvm.LLVMBuilderRef;
1099       Block   : in llvm.LLVMBasicBlockRef);
1100
1101    function LLVMGetInsertBlock
1102      (Builder : in llvm.LLVMBuilderRef)
1103       return    llvm.LLVMBasicBlockRef;
1104
1105    procedure LLVMClearInsertionPosition (Builder : in llvm.LLVMBuilderRef);
1106
1107    procedure LLVMInsertIntoBuilder
1108      (Builder : in llvm.LLVMBuilderRef;
1109       Instr   : in llvm.LLVMValueRef);
1110
1111    procedure LLVMDisposeBuilder (Builder : in llvm.LLVMBuilderRef);
1112
1113    function LLVMBuildRetVoid
1114      (arg_1 : in llvm.LLVMBuilderRef)
1115       return  llvm.LLVMValueRef;
1116
1117    function LLVMBuildRet
1118      (arg_1 : in llvm.LLVMBuilderRef;
1119       V     : in llvm.LLVMValueRef)
1120       return  llvm.LLVMValueRef;
1121
1122    function LLVMBuildBr
1123      (arg_1 : in llvm.LLVMBuilderRef;
1124       Dest  : in llvm.LLVMBasicBlockRef)
1125       return  llvm.LLVMValueRef;
1126
1127    function LLVMBuildCondBr
1128      (arg_1    : in llvm.LLVMBuilderRef;
1129       the_If   : in llvm.LLVMValueRef;
1130       the_Then : in llvm.LLVMBasicBlockRef;
1131       the_Else : in llvm.LLVMBasicBlockRef)
1132       return     llvm.LLVMValueRef;
1133
1134    function LLVMBuildSwitch
1135      (arg_1    : in llvm.LLVMBuilderRef;
1136       V        : in llvm.LLVMValueRef;
1137       the_Else : in llvm.LLVMBasicBlockRef;
1138       NumCases : in Interfaces.C.unsigned)
1139       return     llvm.LLVMValueRef;
1140
1141    function LLVMBuildInvoke
1142      (arg_1    : in llvm.LLVMBuilderRef;
1143       Fn       : in llvm.LLVMValueRef;
1144       Args     : access llvm.LLVMValueRef;
1145       NumArgs  : in Interfaces.C.unsigned;
1146       the_Then : in llvm.LLVMBasicBlockRef;
1147       Catch    : in llvm.LLVMBasicBlockRef;
1148       Name     : in Interfaces.C.Strings.chars_ptr)
1149       return     llvm.LLVMValueRef;
1150
1151    function LLVMBuildUnwind
1152      (arg_1 : in llvm.LLVMBuilderRef)
1153       return  llvm.LLVMValueRef;
1154
1155    function LLVMBuildUnreachable
1156      (arg_1 : in llvm.LLVMBuilderRef)
1157       return  llvm.LLVMValueRef;
1158
1159    procedure LLVMAddCase
1160      (Switch : in llvm.LLVMValueRef;
1161       OnVal  : in llvm.LLVMValueRef;
1162       Dest   : in llvm.LLVMBasicBlockRef);
1163
1164    function LLVMBuildAdd
1165      (arg_1 : in llvm.LLVMBuilderRef;
1166       LHS   : in llvm.LLVMValueRef;
1167       RHS   : in llvm.LLVMValueRef;
1168       Name  : in Interfaces.C.Strings.chars_ptr)
1169       return  llvm.LLVMValueRef;
1170
1171    function LLVMBuildSub
1172      (arg_1 : in llvm.LLVMBuilderRef;
1173       LHS   : in llvm.LLVMValueRef;
1174       RHS   : in llvm.LLVMValueRef;
1175       Name  : in Interfaces.C.Strings.chars_ptr)
1176       return  llvm.LLVMValueRef;
1177
1178    function LLVMBuildMul
1179      (arg_1 : in llvm.LLVMBuilderRef;
1180       LHS   : in llvm.LLVMValueRef;
1181       RHS   : in llvm.LLVMValueRef;
1182       Name  : in Interfaces.C.Strings.chars_ptr)
1183       return  llvm.LLVMValueRef;
1184
1185    function LLVMBuildUDiv
1186      (arg_1 : in llvm.LLVMBuilderRef;
1187       LHS   : in llvm.LLVMValueRef;
1188       RHS   : in llvm.LLVMValueRef;
1189       Name  : in Interfaces.C.Strings.chars_ptr)
1190       return  llvm.LLVMValueRef;
1191
1192    function LLVMBuildSDiv
1193      (arg_1 : in llvm.LLVMBuilderRef;
1194       LHS   : in llvm.LLVMValueRef;
1195       RHS   : in llvm.LLVMValueRef;
1196       Name  : in Interfaces.C.Strings.chars_ptr)
1197       return  llvm.LLVMValueRef;
1198
1199    function LLVMBuildFDiv
1200      (arg_1 : in llvm.LLVMBuilderRef;
1201       LHS   : in llvm.LLVMValueRef;
1202       RHS   : in llvm.LLVMValueRef;
1203       Name  : in Interfaces.C.Strings.chars_ptr)
1204       return  llvm.LLVMValueRef;
1205
1206    function LLVMBuildURem
1207      (arg_1 : in llvm.LLVMBuilderRef;
1208       LHS   : in llvm.LLVMValueRef;
1209       RHS   : in llvm.LLVMValueRef;
1210       Name  : in Interfaces.C.Strings.chars_ptr)
1211       return  llvm.LLVMValueRef;
1212
1213    function LLVMBuildSRem
1214      (arg_1 : in llvm.LLVMBuilderRef;
1215       LHS   : in llvm.LLVMValueRef;
1216       RHS   : in llvm.LLVMValueRef;
1217       Name  : in Interfaces.C.Strings.chars_ptr)
1218       return  llvm.LLVMValueRef;
1219
1220    function LLVMBuildFRem
1221      (arg_1 : in llvm.LLVMBuilderRef;
1222       LHS   : in llvm.LLVMValueRef;
1223       RHS   : in llvm.LLVMValueRef;
1224       Name  : in Interfaces.C.Strings.chars_ptr)
1225       return  llvm.LLVMValueRef;
1226
1227    function LLVMBuildShl
1228      (arg_1 : in llvm.LLVMBuilderRef;
1229       LHS   : in llvm.LLVMValueRef;
1230       RHS   : in llvm.LLVMValueRef;
1231       Name  : in Interfaces.C.Strings.chars_ptr)
1232       return  llvm.LLVMValueRef;
1233
1234    function LLVMBuildLShr
1235      (arg_1 : in llvm.LLVMBuilderRef;
1236       LHS   : in llvm.LLVMValueRef;
1237       RHS   : in llvm.LLVMValueRef;
1238       Name  : in Interfaces.C.Strings.chars_ptr)
1239       return  llvm.LLVMValueRef;
1240
1241    function LLVMBuildAShr
1242      (arg_1 : in llvm.LLVMBuilderRef;
1243       LHS   : in llvm.LLVMValueRef;
1244       RHS   : in llvm.LLVMValueRef;
1245       Name  : in Interfaces.C.Strings.chars_ptr)
1246       return  llvm.LLVMValueRef;
1247
1248    function LLVMBuildAnd
1249      (arg_1 : in llvm.LLVMBuilderRef;
1250       LHS   : in llvm.LLVMValueRef;
1251       RHS   : in llvm.LLVMValueRef;
1252       Name  : in Interfaces.C.Strings.chars_ptr)
1253       return  llvm.LLVMValueRef;
1254
1255    function LLVMBuildOr
1256      (arg_1 : in llvm.LLVMBuilderRef;
1257       LHS   : in llvm.LLVMValueRef;
1258       RHS   : in llvm.LLVMValueRef;
1259       Name  : in Interfaces.C.Strings.chars_ptr)
1260       return  llvm.LLVMValueRef;
1261
1262    function LLVMBuildXor
1263      (arg_1 : in llvm.LLVMBuilderRef;
1264       LHS   : in llvm.LLVMValueRef;
1265       RHS   : in llvm.LLVMValueRef;
1266       Name  : in Interfaces.C.Strings.chars_ptr)
1267       return  llvm.LLVMValueRef;
1268
1269    function LLVMBuildNeg
1270      (arg_1 : in llvm.LLVMBuilderRef;
1271       V     : in llvm.LLVMValueRef;
1272       Name  : in Interfaces.C.Strings.chars_ptr)
1273       return  llvm.LLVMValueRef;
1274
1275    function LLVMBuildNot
1276      (arg_1 : in llvm.LLVMBuilderRef;
1277       V     : in llvm.LLVMValueRef;
1278       Name  : in Interfaces.C.Strings.chars_ptr)
1279       return  llvm.LLVMValueRef;
1280
1281    function LLVMBuildMalloc
1282      (arg_1 : in llvm.LLVMBuilderRef;
1283       Ty    : in llvm.LLVMTypeRef;
1284       Name  : in Interfaces.C.Strings.chars_ptr)
1285       return  llvm.LLVMValueRef;
1286
1287    function LLVMBuildArrayMalloc
1288      (arg_1 : in llvm.LLVMBuilderRef;
1289       Ty    : in llvm.LLVMTypeRef;
1290       Val   : in llvm.LLVMValueRef;
1291       Name  : in Interfaces.C.Strings.chars_ptr)
1292       return  llvm.LLVMValueRef;
1293
1294    function LLVMBuildAlloca
1295      (arg_1 : in llvm.LLVMBuilderRef;
1296       Ty    : in llvm.LLVMTypeRef;
1297       Name  : in Interfaces.C.Strings.chars_ptr)
1298       return  llvm.LLVMValueRef;
1299
1300    function LLVMBuildArrayAlloca
1301      (arg_1 : in llvm.LLVMBuilderRef;
1302       Ty    : in llvm.LLVMTypeRef;
1303       Val   : in llvm.LLVMValueRef;
1304       Name  : in Interfaces.C.Strings.chars_ptr)
1305       return  llvm.LLVMValueRef;
1306
1307    function LLVMBuildFree
1308      (arg_1      : in llvm.LLVMBuilderRef;
1309       PointerVal : in llvm.LLVMValueRef)
1310       return       llvm.LLVMValueRef;
1311
1312    function LLVMBuildLoad
1313      (arg_1      : in llvm.LLVMBuilderRef;
1314       PointerVal : in llvm.LLVMValueRef;
1315       Name       : in Interfaces.C.Strings.chars_ptr)
1316       return       llvm.LLVMValueRef;
1317
1318    function LLVMBuildStore
1319      (arg_1 : in llvm.LLVMBuilderRef;
1320       Val   : in llvm.LLVMValueRef;
1321       Ptr   : in llvm.LLVMValueRef)
1322       return  llvm.LLVMValueRef;
1323
1324    function LLVMBuildGEP
1325      (B          : in llvm.LLVMBuilderRef;
1326       Pointer    : in llvm.LLVMValueRef;
1327       Indices    : access llvm.LLVMValueRef;
1328       NumIndices : in Interfaces.C.unsigned;
1329       Name       : in Interfaces.C.Strings.chars_ptr)
1330       return       llvm.LLVMValueRef;
1331
1332    function LLVMBuildTrunc
1333      (arg_1  : in llvm.LLVMBuilderRef;
1334       Val    : in llvm.LLVMValueRef;
1335       DestTy : in llvm.LLVMTypeRef;
1336       Name   : in Interfaces.C.Strings.chars_ptr)
1337       return   llvm.LLVMValueRef;
1338
1339    function LLVMBuildZExt
1340      (arg_1  : in llvm.LLVMBuilderRef;
1341       Val    : in llvm.LLVMValueRef;
1342       DestTy : in llvm.LLVMTypeRef;
1343       Name   : in Interfaces.C.Strings.chars_ptr)
1344       return   llvm.LLVMValueRef;
1345
1346    function LLVMBuildSExt
1347      (arg_1  : in llvm.LLVMBuilderRef;
1348       Val    : in llvm.LLVMValueRef;
1349       DestTy : in llvm.LLVMTypeRef;
1350       Name   : in Interfaces.C.Strings.chars_ptr)
1351       return   llvm.LLVMValueRef;
1352
1353    function LLVMBuildFPToUI
1354      (arg_1  : in llvm.LLVMBuilderRef;
1355       Val    : in llvm.LLVMValueRef;
1356       DestTy : in llvm.LLVMTypeRef;
1357       Name   : in Interfaces.C.Strings.chars_ptr)
1358       return   llvm.LLVMValueRef;
1359
1360    function LLVMBuildFPToSI
1361      (arg_1  : in llvm.LLVMBuilderRef;
1362       Val    : in llvm.LLVMValueRef;
1363       DestTy : in llvm.LLVMTypeRef;
1364       Name   : in Interfaces.C.Strings.chars_ptr)
1365       return   llvm.LLVMValueRef;
1366
1367    function LLVMBuildUIToFP
1368      (arg_1  : in llvm.LLVMBuilderRef;
1369       Val    : in llvm.LLVMValueRef;
1370       DestTy : in llvm.LLVMTypeRef;
1371       Name   : in Interfaces.C.Strings.chars_ptr)
1372       return   llvm.LLVMValueRef;
1373
1374    function LLVMBuildSIToFP
1375      (arg_1  : in llvm.LLVMBuilderRef;
1376       Val    : in llvm.LLVMValueRef;
1377       DestTy : in llvm.LLVMTypeRef;
1378       Name   : in Interfaces.C.Strings.chars_ptr)
1379       return   llvm.LLVMValueRef;
1380
1381    function LLVMBuildFPTrunc
1382      (arg_1  : in llvm.LLVMBuilderRef;
1383       Val    : in llvm.LLVMValueRef;
1384       DestTy : in llvm.LLVMTypeRef;
1385       Name   : in Interfaces.C.Strings.chars_ptr)
1386       return   llvm.LLVMValueRef;
1387
1388    function LLVMBuildFPExt
1389      (arg_1  : in llvm.LLVMBuilderRef;
1390       Val    : in llvm.LLVMValueRef;
1391       DestTy : in llvm.LLVMTypeRef;
1392       Name   : in Interfaces.C.Strings.chars_ptr)
1393       return   llvm.LLVMValueRef;
1394
1395    function LLVMBuildPtrToInt
1396      (arg_1  : in llvm.LLVMBuilderRef;
1397       Val    : in llvm.LLVMValueRef;
1398       DestTy : in llvm.LLVMTypeRef;
1399       Name   : in Interfaces.C.Strings.chars_ptr)
1400       return   llvm.LLVMValueRef;
1401
1402    function LLVMBuildIntToPtr
1403      (arg_1  : in llvm.LLVMBuilderRef;
1404       Val    : in llvm.LLVMValueRef;
1405       DestTy : in llvm.LLVMTypeRef;
1406       Name   : in Interfaces.C.Strings.chars_ptr)
1407       return   llvm.LLVMValueRef;
1408
1409    function LLVMBuildBitCast
1410      (arg_1  : in llvm.LLVMBuilderRef;
1411       Val    : in llvm.LLVMValueRef;
1412       DestTy : in llvm.LLVMTypeRef;
1413       Name   : in Interfaces.C.Strings.chars_ptr)
1414       return   llvm.LLVMValueRef;
1415
1416    function LLVMBuildICmp
1417      (arg_1 : in llvm.LLVMBuilderRef;
1418       Op    : in llvm.LLVMIntPredicate;
1419       LHS   : in llvm.LLVMValueRef;
1420       RHS   : in llvm.LLVMValueRef;
1421       Name  : in Interfaces.C.Strings.chars_ptr)
1422       return  llvm.LLVMValueRef;
1423
1424    function LLVMBuildFCmp
1425      (arg_1 : in llvm.LLVMBuilderRef;
1426       Op    : in llvm.LLVMRealPredicate;
1427       LHS   : in llvm.LLVMValueRef;
1428       RHS   : in llvm.LLVMValueRef;
1429       Name  : in Interfaces.C.Strings.chars_ptr)
1430       return  llvm.LLVMValueRef;
1431
1432    function LLVMBuildPhi
1433      (arg_1 : in llvm.LLVMBuilderRef;
1434       Ty    : in llvm.LLVMTypeRef;
1435       Name  : in Interfaces.C.Strings.chars_ptr)
1436       return  llvm.LLVMValueRef;
1437
1438    function LLVMBuildCall
1439      (arg_1   : in llvm.LLVMBuilderRef;
1440       Fn      : in llvm.LLVMValueRef;
1441       Args    : access llvm.LLVMValueRef;
1442       NumArgs : in Interfaces.C.unsigned;
1443       Name    : in Interfaces.C.Strings.chars_ptr)
1444       return    llvm.LLVMValueRef;
1445
1446    function LLVMBuildSelect
1447      (arg_1    : in llvm.LLVMBuilderRef;
1448       the_If   : in llvm.LLVMValueRef;
1449       the_Then : in llvm.LLVMValueRef;
1450       the_Else : in llvm.LLVMValueRef;
1451       Name     : in Interfaces.C.Strings.chars_ptr)
1452       return     llvm.LLVMValueRef;
1453
1454    function LLVMBuildVAArg
1455      (arg_1 : in llvm.LLVMBuilderRef;
1456       List  : in llvm.LLVMValueRef;
1457       Ty    : in llvm.LLVMTypeRef;
1458       Name  : in Interfaces.C.Strings.chars_ptr)
1459       return  llvm.LLVMValueRef;
1460
1461    function LLVMBuildExtractElement
1462      (arg_1  : in llvm.LLVMBuilderRef;
1463       VecVal : in llvm.LLVMValueRef;
1464       Index  : in llvm.LLVMValueRef;
1465       Name   : in Interfaces.C.Strings.chars_ptr)
1466       return   llvm.LLVMValueRef;
1467
1468    function LLVMBuildInsertElement
1469      (arg_1  : in llvm.LLVMBuilderRef;
1470       VecVal : in llvm.LLVMValueRef;
1471       EltVal : in llvm.LLVMValueRef;
1472       Index  : in llvm.LLVMValueRef;
1473       Name   : in Interfaces.C.Strings.chars_ptr)
1474       return   llvm.LLVMValueRef;
1475
1476    function LLVMBuildShuffleVector
1477      (arg_1 : in llvm.LLVMBuilderRef;
1478       V1    : in llvm.LLVMValueRef;
1479       V2    : in llvm.LLVMValueRef;
1480       Mask  : in llvm.LLVMValueRef;
1481       Name  : in Interfaces.C.Strings.chars_ptr)
1482       return  llvm.LLVMValueRef;
1483
1484    function LLVMBuildExtractValue
1485      (arg_1  : in llvm.LLVMBuilderRef;
1486       AggVal : in llvm.LLVMValueRef;
1487       Index  : in Interfaces.C.unsigned;
1488       Name   : in Interfaces.C.Strings.chars_ptr)
1489       return   llvm.LLVMValueRef;
1490
1491    function LLVMBuildInsertValue
1492      (arg_1  : in llvm.LLVMBuilderRef;
1493       AggVal : in llvm.LLVMValueRef;
1494       EltVal : in llvm.LLVMValueRef;
1495       Index  : in Interfaces.C.unsigned;
1496       Name   : in Interfaces.C.Strings.chars_ptr)
1497       return   llvm.LLVMValueRef;
1498
1499    function LLVMCreateModuleProviderForExistingModule
1500      (M    : in llvm.LLVMModuleRef)
1501       return llvm.LLVMModuleProviderRef;
1502
1503    procedure LLVMDisposeModuleProvider (MP : in llvm.LLVMModuleProviderRef);
1504
1505    function LLVMCreateMemoryBufferWithContentsOfFile
1506      (Path       : in Interfaces.C.Strings.chars_ptr;
1507       OutMemBuf  : access llvm.LLVMMemoryBufferRef;
1508       OutMessage : access Interfaces.C.Strings.chars_ptr)
1509       return       Interfaces.C.int;
1510
1511    function LLVMCreateMemoryBufferWithSTDIN
1512      (OutMemBuf  : access llvm.LLVMMemoryBufferRef;
1513       OutMessage : access Interfaces.C.Strings.chars_ptr)
1514       return       Interfaces.C.int;
1515
1516    procedure LLVMDisposeMemoryBuffer (MemBuf : in llvm.LLVMMemoryBufferRef);
1517
1518    function LLVMCreatePassManager return  llvm.LLVMPassManagerRef;
1519
1520    function LLVMCreateFunctionPassManager
1521      (MP   : in llvm.LLVMModuleProviderRef)
1522       return llvm.LLVMPassManagerRef;
1523
1524    function LLVMRunPassManager
1525      (PM   : in llvm.LLVMPassManagerRef;
1526       M    : in llvm.LLVMModuleRef)
1527       return Interfaces.C.int;
1528
1529    function LLVMInitializeFunctionPassManager
1530      (FPM  : in llvm.LLVMPassManagerRef)
1531       return Interfaces.C.int;
1532
1533    function LLVMRunFunctionPassManager
1534      (FPM  : in llvm.LLVMPassManagerRef;
1535       F    : in llvm.LLVMValueRef)
1536       return Interfaces.C.int;
1537
1538    function LLVMFinalizeFunctionPassManager
1539      (FPM  : in llvm.LLVMPassManagerRef)
1540       return Interfaces.C.int;
1541
1542    procedure LLVMDisposePassManager (PM : in llvm.LLVMPassManagerRef);
1543
1544 private
1545
1546    pragma Import (C, LLVMDisposeMessage, "Ada_LLVMDisposeMessage");
1547    pragma Import (C, LLVMContextCreate, "Ada_LLVMContextCreate");
1548    pragma Import (C, LLVMGetGlobalContext, "Ada_LLVMGetGlobalContext");
1549    pragma Import (C, LLVMContextDispose, "Ada_LLVMContextDispose");
1550    pragma Import
1551      (C,
1552       LLVMModuleCreateWithName,
1553       "Ada_LLVMModuleCreateWithName");
1554    pragma Import
1555      (C,
1556       LLVMModuleCreateWithNameInContext,
1557       "Ada_LLVMModuleCreateWithNameInContext");
1558    pragma Import (C, LLVMDisposeModule, "Ada_LLVMDisposeModule");
1559    pragma Import (C, LLVMGetDataLayout, "Ada_LLVMGetDataLayout");
1560    pragma Import (C, LLVMSetDataLayout, "Ada_LLVMSetDataLayout");
1561    pragma Import (C, LLVMGetTarget, "Ada_LLVMGetTarget");
1562    pragma Import (C, LLVMSetTarget, "Ada_LLVMSetTarget");
1563    pragma Import (C, LLVMAddTypeName, "Ada_LLVMAddTypeName");
1564    pragma Import (C, LLVMDeleteTypeName, "Ada_LLVMDeleteTypeName");
1565    pragma Import (C, LLVMGetTypeByName, "Ada_LLVMGetTypeByName");
1566    pragma Import (C, LLVMDumpModule, "Ada_LLVMDumpModule");
1567    pragma Import (C, LLVMGetTypeKind, "Ada_LLVMGetTypeKind");
1568    pragma Import (C, LLVMInt1Type, "Ada_LLVMInt1Type");
1569    pragma Import (C, LLVMInt8Type, "Ada_LLVMInt8Type");
1570    pragma Import (C, LLVMInt16Type, "Ada_LLVMInt16Type");
1571    pragma Import (C, LLVMInt32Type, "Ada_LLVMInt32Type");
1572    pragma Import (C, LLVMInt64Type, "Ada_LLVMInt64Type");
1573    pragma Import (C, LLVMIntType, "Ada_LLVMIntType");
1574    pragma Import (C, LLVMGetIntTypeWidth, "Ada_LLVMGetIntTypeWidth");
1575    pragma Import (C, LLVMFloatType, "Ada_LLVMFloatType");
1576    pragma Import (C, LLVMDoubleType, "Ada_LLVMDoubleType");
1577    pragma Import (C, LLVMX86FP80Type, "Ada_LLVMX86FP80Type");
1578    pragma Import (C, LLVMFP128Type, "Ada_LLVMFP128Type");
1579    pragma Import (C, LLVMPPCFP128Type, "Ada_LLVMPPCFP128Type");
1580    pragma Import (C, LLVMFunctionType, "Ada_LLVMFunctionType");
1581    pragma Import (C, LLVMIsFunctionVarArg, "Ada_LLVMIsFunctionVarArg");
1582    pragma Import (C, LLVMGetReturnType, "Ada_LLVMGetReturnType");
1583    pragma Import (C, LLVMCountParamTypes, "Ada_LLVMCountParamTypes");
1584    pragma Import (C, LLVMGetParamTypes, "Ada_LLVMGetParamTypes");
1585    pragma Import (C, LLVMStructType, "Ada_LLVMStructType");
1586    pragma Import
1587      (C,
1588       LLVMCountStructElementTypes,
1589       "Ada_LLVMCountStructElementTypes");
1590    pragma Import
1591      (C,
1592       LLVMGetStructElementTypes,
1593       "Ada_LLVMGetStructElementTypes");
1594    pragma Import (C, LLVMIsPackedStruct, "Ada_LLVMIsPackedStruct");
1595    pragma Import (C, LLVMArrayType, "Ada_LLVMArrayType");
1596    pragma Import (C, LLVMPointerType, "Ada_LLVMPointerType");
1597    pragma Import (C, LLVMVectorType, "Ada_LLVMVectorType");
1598    pragma Import (C, LLVMGetElementType, "Ada_LLVMGetElementType");
1599    pragma Import (C, LLVMGetArrayLength, "Ada_LLVMGetArrayLength");
1600    pragma Import
1601      (C,
1602       LLVMGetPointerAddressSpace,
1603       "Ada_LLVMGetPointerAddressSpace");
1604    pragma Import (C, LLVMGetVectorSize, "Ada_LLVMGetVectorSize");
1605    pragma Import (C, LLVMVoidType, "Ada_LLVMVoidType");
1606    pragma Import (C, LLVMLabelType, "Ada_LLVMLabelType");
1607    pragma Import (C, LLVMOpaqueType, "Ada_LLVMOpaqueType");
1608    pragma Import (C, LLVMCreateTypeHandle, "Ada_LLVMCreateTypeHandle");
1609    pragma Import (C, LLVMRefineType, "Ada_LLVMRefineType");
1610    pragma Import (C, LLVMResolveTypeHandle, "Ada_LLVMResolveTypeHandle");
1611    pragma Import (C, LLVMDisposeTypeHandle, "Ada_LLVMDisposeTypeHandle");
1612    pragma Import (C, LLVMTypeOf, "Ada_LLVMTypeOf");
1613    pragma Import (C, LLVMGetValueName, "Ada_LLVMGetValueName");
1614    pragma Import (C, LLVMSetValueName, "Ada_LLVMSetValueName");
1615    pragma Import (C, LLVMDumpValue, "Ada_LLVMDumpValue");
1616    pragma Import (C, LLVMIsAArgument, "Ada_LLVMIsAArgument");
1617    pragma Import (C, LLVMIsABasicBlock, "Ada_LLVMIsABasicBlock");
1618    pragma Import (C, LLVMIsAInlineAsm, "Ada_LLVMIsAInlineAsm");
1619    pragma Import (C, LLVMIsAUser, "Ada_LLVMIsAUser");
1620    pragma Import (C, LLVMIsAConstant, "Ada_LLVMIsAConstant");
1621    pragma Import
1622      (C,
1623       LLVMIsAConstantAggregateZero,
1624       "Ada_LLVMIsAConstantAggregateZero");
1625    pragma Import (C, LLVMIsAConstantArray, "Ada_LLVMIsAConstantArray");
1626    pragma Import (C, LLVMIsAConstantExpr, "Ada_LLVMIsAConstantExpr");
1627    pragma Import (C, LLVMIsAConstantFP, "Ada_LLVMIsAConstantFP");
1628    pragma Import (C, LLVMIsAConstantInt, "Ada_LLVMIsAConstantInt");
1629    pragma Import
1630      (C,
1631       LLVMIsAConstantPointerNull,
1632       "Ada_LLVMIsAConstantPointerNull");
1633    pragma Import (C, LLVMIsAConstantStruct, "Ada_LLVMIsAConstantStruct");
1634    pragma Import (C, LLVMIsAConstantVector, "Ada_LLVMIsAConstantVector");
1635    pragma Import (C, LLVMIsAGlobalValue, "Ada_LLVMIsAGlobalValue");
1636    pragma Import (C, LLVMIsAFunction, "Ada_LLVMIsAFunction");
1637    pragma Import (C, LLVMIsAGlobalAlias, "Ada_LLVMIsAGlobalAlias");
1638    pragma Import (C, LLVMIsAGlobalVariable, "Ada_LLVMIsAGlobalVariable");
1639    pragma Import (C, LLVMIsAUndefValue, "Ada_LLVMIsAUndefValue");
1640    pragma Import (C, LLVMIsAInstruction, "Ada_LLVMIsAInstruction");
1641    pragma Import (C, LLVMIsABinaryOperator, "Ada_LLVMIsABinaryOperator");
1642    pragma Import (C, LLVMIsACallInst, "Ada_LLVMIsACallInst");
1643    pragma Import (C, LLVMIsAIntrinsicInst, "Ada_LLVMIsAIntrinsicInst");
1644    pragma Import (C, LLVMIsADbgInfoIntrinsic, "Ada_LLVMIsADbgInfoIntrinsic");
1645    pragma Import (C, LLVMIsADbgDeclareInst, "Ada_LLVMIsADbgDeclareInst");
1646    pragma Import (C, LLVMIsADbgFuncStartInst, "Ada_LLVMIsADbgFuncStartInst");
1647    pragma Import (C, LLVMIsADbgRegionEndInst, "Ada_LLVMIsADbgRegionEndInst");
1648    pragma Import
1649      (C,
1650       LLVMIsADbgRegionStartInst,
1651       "Ada_LLVMIsADbgRegionStartInst");
1652    pragma Import (C, LLVMIsADbgStopPointInst, "Ada_LLVMIsADbgStopPointInst");
1653    pragma Import (C, LLVMIsAEHSelectorInst, "Ada_LLVMIsAEHSelectorInst");
1654    pragma Import (C, LLVMIsAMemIntrinsic, "Ada_LLVMIsAMemIntrinsic");
1655    pragma Import (C, LLVMIsAMemCpyInst, "Ada_LLVMIsAMemCpyInst");
1656    pragma Import (C, LLVMIsAMemMoveInst, "Ada_LLVMIsAMemMoveInst");
1657    pragma Import (C, LLVMIsAMemSetInst, "Ada_LLVMIsAMemSetInst");
1658    pragma Import (C, LLVMIsACmpInst, "Ada_LLVMIsACmpInst");
1659    pragma Import (C, LLVMIsAFCmpInst, "Ada_LLVMIsAFCmpInst");
1660    pragma Import (C, LLVMIsAICmpInst, "Ada_LLVMIsAICmpInst");
1661    pragma Import
1662      (C,
1663       LLVMIsAExtractElementInst,
1664       "Ada_LLVMIsAExtractElementInst");
1665    pragma Import
1666      (C,
1667       LLVMIsAGetElementPtrInst,
1668       "Ada_LLVMIsAGetElementPtrInst");
1669    pragma Import
1670      (C,
1671       LLVMIsAInsertElementInst,
1672       "Ada_LLVMIsAInsertElementInst");
1673    pragma Import (C, LLVMIsAInsertValueInst, "Ada_LLVMIsAInsertValueInst");
1674    pragma Import (C, LLVMIsAPHINode, "Ada_LLVMIsAPHINode");
1675    pragma Import (C, LLVMIsASelectInst, "Ada_LLVMIsASelectInst");
1676    pragma Import
1677      (C,
1678       LLVMIsAShuffleVectorInst,
1679       "Ada_LLVMIsAShuffleVectorInst");
1680    pragma Import (C, LLVMIsAStoreInst, "Ada_LLVMIsAStoreInst");
1681    pragma Import (C, LLVMIsATerminatorInst, "Ada_LLVMIsATerminatorInst");
1682    pragma Import (C, LLVMIsABranchInst, "Ada_LLVMIsABranchInst");
1683    pragma Import (C, LLVMIsAInvokeInst, "Ada_LLVMIsAInvokeInst");
1684    pragma Import (C, LLVMIsAReturnInst, "Ada_LLVMIsAReturnInst");
1685    pragma Import (C, LLVMIsASwitchInst, "Ada_LLVMIsASwitchInst");
1686    pragma Import (C, LLVMIsAUnreachableInst, "Ada_LLVMIsAUnreachableInst");
1687    pragma Import (C, LLVMIsAUnwindInst, "Ada_LLVMIsAUnwindInst");
1688    pragma Import (C, LLVMIsAUnaryInstruction, "Ada_LLVMIsAUnaryInstruction");
1689    pragma Import (C, LLVMIsAAllocationInst, "Ada_LLVMIsAAllocationInst");
1690    pragma Import (C, LLVMIsAAllocaInst, "Ada_LLVMIsAAllocaInst");
1691    pragma Import (C, LLVMIsAMallocInst, "Ada_LLVMIsAMallocInst");
1692    pragma Import (C, LLVMIsACastInst, "Ada_LLVMIsACastInst");
1693    pragma Import (C, LLVMIsABitCastInst, "Ada_LLVMIsABitCastInst");
1694    pragma Import (C, LLVMIsAFPExtInst, "Ada_LLVMIsAFPExtInst");
1695    pragma Import (C, LLVMIsAFPToSIInst, "Ada_LLVMIsAFPToSIInst");
1696    pragma Import (C, LLVMIsAFPToUIInst, "Ada_LLVMIsAFPToUIInst");
1697    pragma Import (C, LLVMIsAFPTruncInst, "Ada_LLVMIsAFPTruncInst");
1698    pragma Import (C, LLVMIsAIntToPtrInst, "Ada_LLVMIsAIntToPtrInst");
1699    pragma Import (C, LLVMIsAPtrToIntInst, "Ada_LLVMIsAPtrToIntInst");
1700    pragma Import (C, LLVMIsASExtInst, "Ada_LLVMIsASExtInst");
1701    pragma Import (C, LLVMIsASIToFPInst, "Ada_LLVMIsASIToFPInst");
1702    pragma Import (C, LLVMIsATruncInst, "Ada_LLVMIsATruncInst");
1703    pragma Import (C, LLVMIsAUIToFPInst, "Ada_LLVMIsAUIToFPInst");
1704    pragma Import (C, LLVMIsAZExtInst, "Ada_LLVMIsAZExtInst");
1705    pragma Import (C, LLVMIsAExtractValueInst, "Ada_LLVMIsAExtractValueInst");
1706    pragma Import (C, LLVMIsAFreeInst, "Ada_LLVMIsAFreeInst");
1707    pragma Import (C, LLVMIsALoadInst, "Ada_LLVMIsALoadInst");
1708    pragma Import (C, LLVMIsAVAArgInst, "Ada_LLVMIsAVAArgInst");
1709    pragma Import (C, LLVMConstNull, "Ada_LLVMConstNull");
1710    pragma Import (C, LLVMConstAllOnes, "Ada_LLVMConstAllOnes");
1711    pragma Import (C, LLVMGetUndef, "Ada_LLVMGetUndef");
1712    pragma Import (C, LLVMIsConstant, "Ada_LLVMIsConstant");
1713    pragma Import (C, LLVMIsNull, "Ada_LLVMIsNull");
1714    pragma Import (C, LLVMIsUndef, "Ada_LLVMIsUndef");
1715    pragma Import (C, LLVMConstPointerNull, "Ada_LLVMConstPointerNull");
1716    pragma Import (C, LLVMConstInt, "Ada_LLVMConstInt");
1717    pragma Import (C, LLVMConstReal, "Ada_LLVMConstReal");
1718    pragma Import (C, LLVMConstRealOfString, "Ada_LLVMConstRealOfString");
1719    pragma Import (C, LLVMConstString, "Ada_LLVMConstString");
1720    pragma Import (C, LLVMConstArray, "Ada_LLVMConstArray");
1721    pragma Import (C, LLVMConstStruct, "Ada_LLVMConstStruct");
1722    pragma Import (C, LLVMConstVector, "Ada_LLVMConstVector");
1723    pragma Import (C, LLVMSizeOf, "Ada_LLVMSizeOf");
1724    pragma Import (C, LLVMConstNeg, "Ada_LLVMConstNeg");
1725    pragma Import (C, LLVMConstNot, "Ada_LLVMConstNot");
1726    pragma Import (C, LLVMConstAdd, "Ada_LLVMConstAdd");
1727    pragma Import (C, LLVMConstSub, "Ada_LLVMConstSub");
1728    pragma Import (C, LLVMConstMul, "Ada_LLVMConstMul");
1729    pragma Import (C, LLVMConstUDiv, "Ada_LLVMConstUDiv");
1730    pragma Import (C, LLVMConstSDiv, "Ada_LLVMConstSDiv");
1731    pragma Import (C, LLVMConstFDiv, "Ada_LLVMConstFDiv");
1732    pragma Import (C, LLVMConstURem, "Ada_LLVMConstURem");
1733    pragma Import (C, LLVMConstSRem, "Ada_LLVMConstSRem");
1734    pragma Import (C, LLVMConstFRem, "Ada_LLVMConstFRem");
1735    pragma Import (C, LLVMConstAnd, "Ada_LLVMConstAnd");
1736    pragma Import (C, LLVMConstOr, "Ada_LLVMConstOr");
1737    pragma Import (C, LLVMConstXor, "Ada_LLVMConstXor");
1738    pragma Import (C, LLVMConstICmp, "Ada_LLVMConstICmp");
1739    pragma Import (C, LLVMConstFCmp, "Ada_LLVMConstFCmp");
1740    pragma Import (C, LLVMConstShl, "Ada_LLVMConstShl");
1741    pragma Import (C, LLVMConstLShr, "Ada_LLVMConstLShr");
1742    pragma Import (C, LLVMConstAShr, "Ada_LLVMConstAShr");
1743    pragma Import (C, LLVMConstGEP, "Ada_LLVMConstGEP");
1744    pragma Import (C, LLVMConstTrunc, "Ada_LLVMConstTrunc");
1745    pragma Import (C, LLVMConstSExt, "Ada_LLVMConstSExt");
1746    pragma Import (C, LLVMConstZExt, "Ada_LLVMConstZExt");
1747    pragma Import (C, LLVMConstFPTrunc, "Ada_LLVMConstFPTrunc");
1748    pragma Import (C, LLVMConstFPExt, "Ada_LLVMConstFPExt");
1749    pragma Import (C, LLVMConstUIToFP, "Ada_LLVMConstUIToFP");
1750    pragma Import (C, LLVMConstSIToFP, "Ada_LLVMConstSIToFP");
1751    pragma Import (C, LLVMConstFPToUI, "Ada_LLVMConstFPToUI");
1752    pragma Import (C, LLVMConstFPToSI, "Ada_LLVMConstFPToSI");
1753    pragma Import (C, LLVMConstPtrToInt, "Ada_LLVMConstPtrToInt");
1754    pragma Import (C, LLVMConstIntToPtr, "Ada_LLVMConstIntToPtr");
1755    pragma Import (C, LLVMConstBitCast, "Ada_LLVMConstBitCast");
1756    pragma Import (C, LLVMConstSelect, "Ada_LLVMConstSelect");
1757    pragma Import (C, LLVMConstExtractElement, "Ada_LLVMConstExtractElement");
1758    pragma Import (C, LLVMConstInsertElement, "Ada_LLVMConstInsertElement");
1759    pragma Import (C, LLVMConstShuffleVector, "Ada_LLVMConstShuffleVector");
1760    pragma Import (C, LLVMConstExtractValue, "Ada_LLVMConstExtractValue");
1761    pragma Import (C, LLVMConstInsertValue, "Ada_LLVMConstInsertValue");
1762    pragma Import (C, LLVMConstInlineAsm, "Ada_LLVMConstInlineAsm");
1763    pragma Import (C, LLVMGetGlobalParent, "Ada_LLVMGetGlobalParent");
1764    pragma Import (C, LLVMIsDeclaration, "Ada_LLVMIsDeclaration");
1765    pragma Import (C, LLVMGetLinkage, "Ada_LLVMGetLinkage");
1766    pragma Import (C, LLVMSetLinkage, "Ada_LLVMSetLinkage");
1767    pragma Import (C, LLVMGetSection, "Ada_LLVMGetSection");
1768    pragma Import (C, LLVMSetSection, "Ada_LLVMSetSection");
1769    pragma Import (C, LLVMGetVisibility, "Ada_LLVMGetVisibility");
1770    pragma Import (C, LLVMSetVisibility, "Ada_LLVMSetVisibility");
1771    pragma Import (C, LLVMGetAlignment, "Ada_LLVMGetAlignment");
1772    pragma Import (C, LLVMSetAlignment, "Ada_LLVMSetAlignment");
1773    pragma Import (C, LLVMAddGlobal, "Ada_LLVMAddGlobal");
1774    pragma Import (C, LLVMGetNamedGlobal, "Ada_LLVMGetNamedGlobal");
1775    pragma Import (C, LLVMGetFirstGlobal, "Ada_LLVMGetFirstGlobal");
1776    pragma Import (C, LLVMGetLastGlobal, "Ada_LLVMGetLastGlobal");
1777    pragma Import (C, LLVMGetNextGlobal, "Ada_LLVMGetNextGlobal");
1778    pragma Import (C, LLVMGetPreviousGlobal, "Ada_LLVMGetPreviousGlobal");
1779    pragma Import (C, LLVMDeleteGlobal, "Ada_LLVMDeleteGlobal");
1780    pragma Import (C, LLVMGetInitializer, "Ada_LLVMGetInitializer");
1781    pragma Import (C, LLVMSetInitializer, "Ada_LLVMSetInitializer");
1782    pragma Import (C, LLVMIsThreadLocal, "Ada_LLVMIsThreadLocal");
1783    pragma Import (C, LLVMSetThreadLocal, "Ada_LLVMSetThreadLocal");
1784    pragma Import (C, LLVMIsGlobalConstant, "Ada_LLVMIsGlobalConstant");
1785    pragma Import (C, LLVMSetGlobalConstant, "Ada_LLVMSetGlobalConstant");
1786    pragma Import (C, LLVMAddAlias, "Ada_LLVMAddAlias");
1787    pragma Import (C, LLVMAddFunction, "Ada_LLVMAddFunction");
1788    pragma Import (C, LLVMGetNamedFunction, "Ada_LLVMGetNamedFunction");
1789    pragma Import (C, LLVMGetFirstFunction, "Ada_LLVMGetFirstFunction");
1790    pragma Import (C, LLVMGetLastFunction, "Ada_LLVMGetLastFunction");
1791    pragma Import (C, LLVMGetNextFunction, "Ada_LLVMGetNextFunction");
1792    pragma Import (C, LLVMGetPreviousFunction, "Ada_LLVMGetPreviousFunction");
1793    pragma Import (C, LLVMDeleteFunction, "Ada_LLVMDeleteFunction");
1794    pragma Import (C, LLVMGetIntrinsicID, "Ada_LLVMGetIntrinsicID");
1795    pragma Import (C, LLVMGetFunctionCallConv, "Ada_LLVMGetFunctionCallConv");
1796    pragma Import (C, LLVMSetFunctionCallConv, "Ada_LLVMSetFunctionCallConv");
1797    pragma Import (C, LLVMGetGC, "Ada_LLVMGetGC");
1798    pragma Import (C, LLVMSetGC, "Ada_LLVMSetGC");
1799    pragma Import (C, LLVMAddFunctionAttr, "Ada_LLVMAddFunctionAttr");
1800    pragma Import (C, LLVMRemoveFunctionAttr, "Ada_LLVMRemoveFunctionAttr");
1801    pragma Import (C, LLVMCountParams, "Ada_LLVMCountParams");
1802    pragma Import (C, LLVMGetParams, "Ada_LLVMGetParams");
1803    pragma Import (C, LLVMGetParam, "Ada_LLVMGetParam");
1804    pragma Import (C, LLVMGetParamParent, "Ada_LLVMGetParamParent");
1805    pragma Import (C, LLVMGetFirstParam, "Ada_LLVMGetFirstParam");
1806    pragma Import (C, LLVMGetLastParam, "Ada_LLVMGetLastParam");
1807    pragma Import (C, LLVMGetNextParam, "Ada_LLVMGetNextParam");
1808    pragma Import (C, LLVMGetPreviousParam, "Ada_LLVMGetPreviousParam");
1809    pragma Import (C, LLVMAddAttribute, "Ada_LLVMAddAttribute");
1810    pragma Import (C, LLVMRemoveAttribute, "Ada_LLVMRemoveAttribute");
1811    pragma Import (C, LLVMSetParamAlignment, "Ada_LLVMSetParamAlignment");
1812    pragma Import (C, LLVMBasicBlockAsValue, "Ada_LLVMBasicBlockAsValue");
1813    pragma Import (C, LLVMValueIsBasicBlock, "Ada_LLVMValueIsBasicBlock");
1814    pragma Import (C, LLVMValueAsBasicBlock, "Ada_LLVMValueAsBasicBlock");
1815    pragma Import (C, LLVMGetBasicBlockParent, "Ada_LLVMGetBasicBlockParent");
1816    pragma Import (C, LLVMCountBasicBlocks, "Ada_LLVMCountBasicBlocks");
1817    pragma Import (C, LLVMGetBasicBlocks, "Ada_LLVMGetBasicBlocks");
1818    pragma Import (C, LLVMGetFirstBasicBlock, "Ada_LLVMGetFirstBasicBlock");
1819    pragma Import (C, LLVMGetLastBasicBlock, "Ada_LLVMGetLastBasicBlock");
1820    pragma Import (C, LLVMGetNextBasicBlock, "Ada_LLVMGetNextBasicBlock");
1821    pragma Import
1822      (C,
1823       LLVMGetPreviousBasicBlock,
1824       "Ada_LLVMGetPreviousBasicBlock");
1825    pragma Import (C, LLVMGetEntryBasicBlock, "Ada_LLVMGetEntryBasicBlock");
1826    pragma Import (C, LLVMAppendBasicBlock, "Ada_LLVMAppendBasicBlock");
1827    pragma Import (C, LLVMInsertBasicBlock, "Ada_LLVMInsertBasicBlock");
1828    pragma Import (C, LLVMDeleteBasicBlock, "Ada_LLVMDeleteBasicBlock");
1829    pragma Import
1830      (C,
1831       LLVMGetInstructionParent,
1832       "Ada_LLVMGetInstructionParent");
1833    pragma Import (C, LLVMGetFirstInstruction, "Ada_LLVMGetFirstInstruction");
1834    pragma Import (C, LLVMGetLastInstruction, "Ada_LLVMGetLastInstruction");
1835    pragma Import (C, LLVMGetNextInstruction, "Ada_LLVMGetNextInstruction");
1836    pragma Import
1837      (C,
1838       LLVMGetPreviousInstruction,
1839       "Ada_LLVMGetPreviousInstruction");
1840    pragma Import
1841      (C,
1842       LLVMSetInstructionCallConv,
1843       "Ada_LLVMSetInstructionCallConv");
1844    pragma Import
1845      (C,
1846       LLVMGetInstructionCallConv,
1847       "Ada_LLVMGetInstructionCallConv");
1848    pragma Import (C, LLVMAddInstrAttribute, "Ada_LLVMAddInstrAttribute");
1849    pragma Import
1850      (C,
1851       LLVMRemoveInstrAttribute,
1852       "Ada_LLVMRemoveInstrAttribute");
1853    pragma Import
1854      (C,
1855       LLVMSetInstrParamAlignment,
1856       "Ada_LLVMSetInstrParamAlignment");
1857    pragma Import (C, LLVMIsTailCall, "Ada_LLVMIsTailCall");
1858    pragma Import (C, LLVMSetTailCall, "Ada_LLVMSetTailCall");
1859    pragma Import (C, LLVMAddIncoming, "Ada_LLVMAddIncoming");
1860    pragma Import (C, LLVMCountIncoming, "Ada_LLVMCountIncoming");
1861    pragma Import (C, LLVMGetIncomingValue, "Ada_LLVMGetIncomingValue");
1862    pragma Import (C, LLVMGetIncomingBlock, "Ada_LLVMGetIncomingBlock");
1863    pragma Import (C, LLVMCreateBuilder, "Ada_LLVMCreateBuilder");
1864    pragma Import (C, LLVMPositionBuilder, "Ada_LLVMPositionBuilder");
1865    pragma Import
1866      (C,
1867       LLVMPositionBuilderBefore,
1868       "Ada_LLVMPositionBuilderBefore");
1869    pragma Import
1870      (C,
1871       LLVMPositionBuilderAtEnd,
1872       "Ada_LLVMPositionBuilderAtEnd");
1873    pragma Import (C, LLVMGetInsertBlock, "Ada_LLVMGetInsertBlock");
1874    pragma Import
1875      (C,
1876       LLVMClearInsertionPosition,
1877       "Ada_LLVMClearInsertionPosition");
1878    pragma Import (C, LLVMInsertIntoBuilder, "Ada_LLVMInsertIntoBuilder");
1879    pragma Import (C, LLVMDisposeBuilder, "Ada_LLVMDisposeBuilder");
1880    pragma Import (C, LLVMBuildRetVoid, "Ada_LLVMBuildRetVoid");
1881    pragma Import (C, LLVMBuildRet, "Ada_LLVMBuildRet");
1882    pragma Import (C, LLVMBuildBr, "Ada_LLVMBuildBr");
1883    pragma Import (C, LLVMBuildCondBr, "Ada_LLVMBuildCondBr");
1884    pragma Import (C, LLVMBuildSwitch, "Ada_LLVMBuildSwitch");
1885    pragma Import (C, LLVMBuildInvoke, "Ada_LLVMBuildInvoke");
1886    pragma Import (C, LLVMBuildUnwind, "Ada_LLVMBuildUnwind");
1887    pragma Import (C, LLVMBuildUnreachable, "Ada_LLVMBuildUnreachable");
1888    pragma Import (C, LLVMAddCase, "Ada_LLVMAddCase");
1889    pragma Import (C, LLVMBuildAdd, "Ada_LLVMBuildAdd");
1890    pragma Import (C, LLVMBuildSub, "Ada_LLVMBuildSub");
1891    pragma Import (C, LLVMBuildMul, "Ada_LLVMBuildMul");
1892    pragma Import (C, LLVMBuildUDiv, "Ada_LLVMBuildUDiv");
1893    pragma Import (C, LLVMBuildSDiv, "Ada_LLVMBuildSDiv");
1894    pragma Import (C, LLVMBuildFDiv, "Ada_LLVMBuildFDiv");
1895    pragma Import (C, LLVMBuildURem, "Ada_LLVMBuildURem");
1896    pragma Import (C, LLVMBuildSRem, "Ada_LLVMBuildSRem");
1897    pragma Import (C, LLVMBuildFRem, "Ada_LLVMBuildFRem");
1898    pragma Import (C, LLVMBuildShl, "Ada_LLVMBuildShl");
1899    pragma Import (C, LLVMBuildLShr, "Ada_LLVMBuildLShr");
1900    pragma Import (C, LLVMBuildAShr, "Ada_LLVMBuildAShr");
1901    pragma Import (C, LLVMBuildAnd, "Ada_LLVMBuildAnd");
1902    pragma Import (C, LLVMBuildOr, "Ada_LLVMBuildOr");
1903    pragma Import (C, LLVMBuildXor, "Ada_LLVMBuildXor");
1904    pragma Import (C, LLVMBuildNeg, "Ada_LLVMBuildNeg");
1905    pragma Import (C, LLVMBuildNot, "Ada_LLVMBuildNot");
1906    pragma Import (C, LLVMBuildMalloc, "Ada_LLVMBuildMalloc");
1907    pragma Import (C, LLVMBuildArrayMalloc, "Ada_LLVMBuildArrayMalloc");
1908    pragma Import (C, LLVMBuildAlloca, "Ada_LLVMBuildAlloca");
1909    pragma Import (C, LLVMBuildArrayAlloca, "Ada_LLVMBuildArrayAlloca");
1910    pragma Import (C, LLVMBuildFree, "Ada_LLVMBuildFree");
1911    pragma Import (C, LLVMBuildLoad, "Ada_LLVMBuildLoad");
1912    pragma Import (C, LLVMBuildStore, "Ada_LLVMBuildStore");
1913    pragma Import (C, LLVMBuildGEP, "Ada_LLVMBuildGEP");
1914    pragma Import (C, LLVMBuildTrunc, "Ada_LLVMBuildTrunc");
1915    pragma Import (C, LLVMBuildZExt, "Ada_LLVMBuildZExt");
1916    pragma Import (C, LLVMBuildSExt, "Ada_LLVMBuildSExt");
1917    pragma Import (C, LLVMBuildFPToUI, "Ada_LLVMBuildFPToUI");
1918    pragma Import (C, LLVMBuildFPToSI, "Ada_LLVMBuildFPToSI");
1919    pragma Import (C, LLVMBuildUIToFP, "Ada_LLVMBuildUIToFP");
1920    pragma Import (C, LLVMBuildSIToFP, "Ada_LLVMBuildSIToFP");
1921    pragma Import (C, LLVMBuildFPTrunc, "Ada_LLVMBuildFPTrunc");
1922    pragma Import (C, LLVMBuildFPExt, "Ada_LLVMBuildFPExt");
1923    pragma Import (C, LLVMBuildPtrToInt, "Ada_LLVMBuildPtrToInt");
1924    pragma Import (C, LLVMBuildIntToPtr, "Ada_LLVMBuildIntToPtr");
1925    pragma Import (C, LLVMBuildBitCast, "Ada_LLVMBuildBitCast");
1926    pragma Import (C, LLVMBuildICmp, "Ada_LLVMBuildICmp");
1927    pragma Import (C, LLVMBuildFCmp, "Ada_LLVMBuildFCmp");
1928    pragma Import (C, LLVMBuildPhi, "Ada_LLVMBuildPhi");
1929    pragma Import (C, LLVMBuildCall, "Ada_LLVMBuildCall");
1930    pragma Import (C, LLVMBuildSelect, "Ada_LLVMBuildSelect");
1931    pragma Import (C, LLVMBuildVAArg, "Ada_LLVMBuildVAArg");
1932    pragma Import (C, LLVMBuildExtractElement, "Ada_LLVMBuildExtractElement");
1933    pragma Import (C, LLVMBuildInsertElement, "Ada_LLVMBuildInsertElement");
1934    pragma Import (C, LLVMBuildShuffleVector, "Ada_LLVMBuildShuffleVector");
1935    pragma Import (C, LLVMBuildExtractValue, "Ada_LLVMBuildExtractValue");
1936    pragma Import (C, LLVMBuildInsertValue, "Ada_LLVMBuildInsertValue");
1937    pragma Import
1938      (C,
1939       LLVMCreateModuleProviderForExistingModule,
1940       "Ada_LLVMCreateModuleProviderForExistingModule");
1941    pragma Import
1942      (C,
1943       LLVMDisposeModuleProvider,
1944       "Ada_LLVMDisposeModuleProvider");
1945    pragma Import
1946      (C,
1947       LLVMCreateMemoryBufferWithContentsOfFile,
1948       "Ada_LLVMCreateMemoryBufferWithContentsOfFile");
1949    pragma Import
1950      (C,
1951       LLVMCreateMemoryBufferWithSTDIN,
1952       "Ada_LLVMCreateMemoryBufferWithSTDIN");
1953    pragma Import (C, LLVMDisposeMemoryBuffer, "Ada_LLVMDisposeMemoryBuffer");
1954    pragma Import (C, LLVMCreatePassManager, "Ada_LLVMCreatePassManager");
1955    pragma Import
1956      (C,
1957       LLVMCreateFunctionPassManager,
1958       "Ada_LLVMCreateFunctionPassManager");
1959    pragma Import (C, LLVMRunPassManager, "Ada_LLVMRunPassManager");
1960    pragma Import
1961      (C,
1962       LLVMInitializeFunctionPassManager,
1963       "Ada_LLVMInitializeFunctionPassManager");
1964    pragma Import
1965      (C,
1966       LLVMRunFunctionPassManager,
1967       "Ada_LLVMRunFunctionPassManager");
1968    pragma Import
1969      (C,
1970       LLVMFinalizeFunctionPassManager,
1971       "Ada_LLVMFinalizeFunctionPassManager");
1972    pragma Import (C, LLVMDisposePassManager, "Ada_LLVMDisposePassManager");
1973
1974 end llvm.Binding;