Project Alice
Loading...
Searching...
No Matches
Core.h
Go to the documentation of this file.
1/*===-- llvm-c/Core.h - Core Library C Interface ------------------*- C -*-===*\
2|* *|
3|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
4|* Exceptions. *|
5|* See https://llvm.org/LICENSE.txt for license information. *|
6|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
7|* *|
8|*===----------------------------------------------------------------------===*|
9|* *|
10|* This header declares the C interface to libLLVMCore.a, which implements *|
11|* the LLVM intermediate representation. *|
12|* *|
13\*===----------------------------------------------------------------------===*/
14
15#ifndef LLVM_C_CORE_H
16#define LLVM_C_CORE_H
17
18#include "llvm-c/Deprecated.h"
20#include "llvm-c/ExternC.h"
21
22#include "llvm-c/Types.h"
23
25
60typedef enum {
61 /* Terminator Instructions */
63 LLVMBr = 2,
67 /* removed 6 due to API changes */
70
71 /* Standard Unary Operators */
73
74 /* Standard Binary Operators */
77 LLVMSub = 10,
79 LLVMMul = 12,
87
88 /* Logical Operators */
89 LLVMShl = 20,
92 LLVMAnd = 23,
93 LLVMOr = 24,
94 LLVMXor = 25,
95
96 /* Memory Operators */
101
102 /* Cast Operators */
116
117 /* Other Operators */
132
133 /* Atomic operators */
137
138 /* Exception Handling Operators */
145 LLVMCatchSwitch = 65
147
148typedef enum {
171
172typedef enum {
194
195typedef enum {
200
201typedef enum {
206
207typedef enum {
212
213typedef enum {
256
257typedef enum {
263
273
282
285
290
291typedef enum {
303
304typedef enum {
322
323typedef enum {
327
328typedef enum {
335
336typedef enum {
362
363typedef enum {
394
395typedef enum {
401
402typedef enum {
406
407typedef enum {
457
462enum {
464 // ISO C restricts enumerator values to range of 'int'
465 // (4294967295 is too large)
466 // LLVMAttributeFunctionIndex = ~0U,
468};
469
477typedef enum {
483
484typedef unsigned LLVMAttributeIndex;
485
486enum {
499};
500
507typedef unsigned LLVMFastMathFlags;
508
516void LLVMShutdown(void);
517
518/*===-- Version query -----------------------------------------------------===*/
519
526void LLVMGetVersion(unsigned *Major, unsigned *Minor, unsigned *Patch);
527
528/*===-- Error handling ----------------------------------------------------===*/
529
530char *LLVMCreateMessage(const char *Message);
531void LLVMDisposeMessage(char *Message);
532
546typedef void (*LLVMYieldCallback)(LLVMContextRef, void *);
547
555
560
565 LLVMDiagnosticHandler Handler,
566 void *DiagnosticContext);
567
572
577
584 void *OpaqueHandle);
585
592
602
610
618
625
626unsigned LLVMGetMDKindIDInContext(LLVMContextRef C, const char *Name,
627 unsigned SLen);
628unsigned LLVMGetMDKindID(const char *Name, unsigned SLen);
629
641unsigned LLVMGetEnumAttributeKindForName(const char *Name, size_t SLen);
643
648 uint64_t Val);
649
655
660
665 LLVMTypeRef type_ref);
666
671
676 const char *K, unsigned KLength,
677 const char *V, unsigned VLength);
678
682const char *LLVMGetStringAttributeKind(LLVMAttributeRef A, unsigned *Length);
683
687const char *LLVMGetStringAttributeValue(LLVMAttributeRef A, unsigned *Length);
688
695
700
725
738
746
755const char *LLVMGetModuleIdentifier(LLVMModuleRef M, size_t *Len);
756
765void LLVMSetModuleIdentifier(LLVMModuleRef M, const char *Ident, size_t Len);
766
775const char *LLVMGetSourceFileName(LLVMModuleRef M, size_t *Len);
776
786void LLVMSetSourceFileName(LLVMModuleRef M, const char *Name, size_t Len);
787
799
805void LLVMSetDataLayout(LLVMModuleRef M, const char *DataLayoutStr);
806
813
819void LLVMSetTarget(LLVMModuleRef M, const char *Triple);
820
829
834
842 unsigned Index);
843
850 unsigned Index, size_t *Len);
851
858 unsigned Index);
859
867 const char *Key, size_t KeyLen);
868
876 const char *Key, size_t KeyLen,
877 LLVMMetadataRef Val);
878
885
893 char **ErrorMessage);
894
902
908const char *LLVMGetModuleInlineAsm(LLVMModuleRef M, size_t *Len);
909
915void LLVMSetModuleInlineAsm2(LLVMModuleRef M, const char *Asm, size_t Len);
916
922void LLVMAppendModuleInlineAsm(LLVMModuleRef M, const char *Asm, size_t Len);
923
929LLVMValueRef LLVMGetInlineAsm(LLVMTypeRef Ty, const char *AsmString,
930 size_t AsmStringSize, const char *Constraints,
931 size_t ConstraintsSize, LLVMBool HasSideEffects,
932 LLVMBool IsAlignStack,
933 LLVMInlineAsmDialect Dialect, LLVMBool CanThrow);
934
939const char *LLVMGetInlineAsmAsmString(LLVMValueRef InlineAsmVal, size_t *Len);
940
946 size_t *Len);
947
953
962
968
974
980
987
990
997
1004
1012
1020
1028 const char *Name, size_t NameLen);
1029
1037 const char *Name,
1038 size_t NameLen);
1039
1046 size_t *NameLen);
1047
1054
1067 LLVMValueRef *Dest);
1068
1076 LLVMValueRef Val);
1077
1086const char *LLVMGetDebugLocDirectory(LLVMValueRef Val, unsigned *Length);
1087
1096const char *LLVMGetDebugLocFilename(LLVMValueRef Val, unsigned *Length);
1097
1107
1115
1122 LLVMTypeRef FunctionTy);
1123
1132
1139
1146
1154
1162
1164void LLVMSetModuleInlineAsm(LLVMModuleRef M, const char *Asm);
1165
1205
1214
1221
1228
1236
1255
1266LLVMTypeRef LLVMIntType(unsigned NumBits);
1268
1283
1288
1293
1298
1303
1309
1314
1327
1345 LLVMTypeRef *ParamTypes, unsigned ParamCount,
1346 LLVMBool IsVarArg);
1347
1352
1357
1362
1375
1399 unsigned ElementCount, LLVMBool Packed);
1400
1406LLVMTypeRef LLVMStructType(LLVMTypeRef *ElementTypes, unsigned ElementCount,
1407 LLVMBool Packed);
1408
1415
1422
1428void LLVMStructSetBody(LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes,
1429 unsigned ElementCount, LLVMBool Packed);
1430
1437
1449
1456
1463
1470
1477
1497
1504
1511
1522LLVMTypeRef LLVMArrayType(LLVMTypeRef ElementType, unsigned ElementCount);
1523
1533
1544
1553
1562LLVMTypeRef LLVMPointerType(LLVMTypeRef ElementType, unsigned AddressSpace);
1563
1572
1579
1588
1598LLVMTypeRef LLVMVectorType(LLVMTypeRef ElementType, unsigned ElementCount);
1599
1610 unsigned ElementCount);
1611
1620
1635
1640
1645
1650
1655
1660
1669
1674 LLVMTypeRef *TypeParams,
1675 unsigned TypeParamCount,
1676 unsigned *IntParams,
1677 unsigned IntParamCount);
1678
1708#define LLVM_FOR_EACH_VALUE_SUBCLASS(macro) \
1709 macro(Argument) \
1710 macro(BasicBlock) \
1711 macro(InlineAsm) \
1712 macro(User) \
1713 macro(Constant) \
1714 macro(BlockAddress) \
1715 macro(ConstantAggregateZero) \
1716 macro(ConstantArray) \
1717 macro(ConstantDataSequential) \
1718 macro(ConstantDataArray) \
1719 macro(ConstantDataVector) \
1720 macro(ConstantExpr) \
1721 macro(ConstantFP) \
1722 macro(ConstantInt) \
1723 macro(ConstantPointerNull) \
1724 macro(ConstantStruct) \
1725 macro(ConstantTokenNone) \
1726 macro(ConstantVector) \
1727 macro(GlobalValue) \
1728 macro(GlobalAlias) \
1729 macro(GlobalObject) \
1730 macro(Function) \
1731 macro(GlobalVariable) \
1732 macro(GlobalIFunc) \
1733 macro(UndefValue) \
1734 macro(PoisonValue) \
1735 macro(Instruction) \
1736 macro(UnaryOperator) \
1737 macro(BinaryOperator) \
1738 macro(CallInst) \
1739 macro(IntrinsicInst) \
1740 macro(DbgInfoIntrinsic) \
1741 macro(DbgVariableIntrinsic) \
1742 macro(DbgDeclareInst) \
1743 macro(DbgLabelInst) \
1744 macro(MemIntrinsic) \
1745 macro(MemCpyInst) \
1746 macro(MemMoveInst) \
1747 macro(MemSetInst) \
1748 macro(CmpInst) \
1749 macro(FCmpInst) \
1750 macro(ICmpInst) \
1751 macro(ExtractElementInst) \
1752 macro(GetElementPtrInst) \
1753 macro(InsertElementInst) \
1754 macro(InsertValueInst) \
1755 macro(LandingPadInst) \
1756 macro(PHINode) \
1757 macro(SelectInst) \
1758 macro(ShuffleVectorInst) \
1759 macro(StoreInst) \
1760 macro(BranchInst) \
1761 macro(IndirectBrInst) \
1762 macro(InvokeInst) \
1763 macro(ReturnInst) \
1764 macro(SwitchInst) \
1765 macro(UnreachableInst) \
1766 macro(ResumeInst) \
1767 macro(CleanupReturnInst) \
1768 macro(CatchReturnInst) \
1769 macro(CatchSwitchInst) \
1770 macro(CallBrInst) \
1771 macro(FuncletPadInst) \
1772 macro(CatchPadInst) \
1773 macro(CleanupPadInst) \
1774 macro(UnaryInstruction) \
1775 macro(AllocaInst) \
1776 macro(CastInst) \
1777 macro(AddrSpaceCastInst) \
1778 macro(BitCastInst) \
1779 macro(FPExtInst) \
1780 macro(FPToSIInst) \
1781 macro(FPToUIInst) \
1782 macro(FPTruncInst) \
1783 macro(IntToPtrInst) \
1784 macro(PtrToIntInst) \
1785 macro(SExtInst) \
1786 macro(SIToFPInst) \
1787 macro(TruncInst) \
1788 macro(UIToFPInst) \
1789 macro(ZExtInst) \
1790 macro(ExtractValueInst) \
1791 macro(LoadInst) \
1792 macro(VAArgInst) \
1793 macro(FreezeInst) \
1794 macro(AtomicCmpXchgInst) \
1795 macro(AtomicRMWInst) \
1796 macro(FenceInst)
1797
1814
1821
1827const char *LLVMGetValueName2(LLVMValueRef Val, size_t *Length);
1828
1834void LLVMSetValueName2(LLVMValueRef Val, const char *Name, size_t NameLen);
1835
1842
1850
1857
1862
1867
1872
1884#define LLVM_DECLARE_VALUE_CAST(name) \
1885 LLVMValueRef LLVMIsA##name(LLVMValueRef Val);
1887
1891
1895void LLVMSetValueName(LLVMValueRef Val, const char *Name);
1896
1925
1933
1942
1949
1970
1977
1983void LLVMSetOperand(LLVMValueRef User, unsigned Index, LLVMValueRef Val);
1984
1991
2014
2024
2031
2038
2045
2051
2079LLVMValueRef LLVMConstInt(LLVMTypeRef IntTy, unsigned long long N,
2080 LLVMBool SignExtend);
2081
2088 unsigned NumWords,
2089 const uint64_t Words[]);
2090
2101 uint8_t Radix);
2102
2110 unsigned SLen, uint8_t Radix);
2111
2116
2124
2129 unsigned SLen);
2130
2136unsigned long long LLVMConstIntGetZExtValue(LLVMValueRef ConstantVal);
2137
2144
2151double LLVMConstRealGetDouble(LLVMValueRef ConstantVal, LLVMBool *losesInfo);
2152
2171 unsigned Length, LLVMBool DontNullTerminate);
2172
2182LLVMValueRef LLVMConstString(const char *Str, unsigned Length,
2183 LLVMBool DontNullTerminate);
2184
2191
2197const char *LLVMGetAsString(LLVMValueRef c, size_t *Length);
2198
2205 LLVMValueRef *ConstantVals,
2206 unsigned Count, LLVMBool Packed);
2207
2216LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Count,
2217 LLVMBool Packed);
2218
2227 LLVMValueRef *ConstantVals, unsigned Length);
2228
2235 uint64_t Length);
2236
2243 LLVMValueRef *ConstantVals,
2244 unsigned Count);
2245
2255
2262 LLVMValueRef LLVMGetElementAsConstant(LLVMValueRef C, unsigned idx),
2263 "Use LLVMGetAggregateElement instead");
2264
2270LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsigned Size);
2271
2303 LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
2305 LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
2308 LLVMValueRef *ConstantIndices, unsigned NumIndices);
2310 LLVMValueRef *ConstantIndices,
2311 unsigned NumIndices);
2318 LLVMTypeRef ToType);
2320 LLVMTypeRef ToType);
2322 LLVMValueRef IndexConstant);
2324 LLVMValueRef ElementValueConstant,
2325 LLVMValueRef IndexConstant);
2327 LLVMValueRef VectorBConstant,
2328 LLVMValueRef MaskConstant);
2330
2333 const char *AsmString, const char *Constraints,
2334 LLVMBool HasSideEffects, LLVMBool IsAlignStack);
2335
2355const char *LLVMGetSection(LLVMValueRef Global);
2356void LLVMSetSection(LLVMValueRef Global, const char *Section);
2363
2371
2375void LLVMSetUnnamedAddr(LLVMValueRef Global, LLVMBool HasUnnamedAddr);
2376
2394
2404void LLVMSetAlignment(LLVMValueRef V, unsigned Bytes);
2405
2412void LLVMGlobalSetMetadata(LLVMValueRef Global, unsigned Kind,
2413 LLVMMetadataRef MD);
2414
2420void LLVMGlobalEraseMetadata(LLVMValueRef Global, unsigned Kind);
2421
2428
2437 size_t *NumEntries);
2438
2443
2448 unsigned Index);
2449
2456 unsigned Index);
2457
2473 const char *Name,
2474 unsigned AddressSpace);
2482void LLVMSetInitializer(LLVMValueRef GlobalVar, LLVMValueRef ConstantVal);
2484void LLVMSetThreadLocal(LLVMValueRef GlobalVar, LLVMBool IsThreadLocal);
2486void LLVMSetGlobalConstant(LLVMValueRef GlobalVar, LLVMBool IsConstant);
2491
2512 unsigned AddrSpace, LLVMValueRef Aliasee,
2513 const char *Name);
2514
2523 const char *Name, size_t NameLen);
2524
2531
2538
2546
2554
2559
2564
2586
2593
2600
2607
2613unsigned LLVMLookupIntrinsicID(const char *Name, size_t NameLen);
2614
2621
2629 unsigned ID,
2630 LLVMTypeRef *ParamTypes,
2631 size_t ParamCount);
2632
2640 LLVMTypeRef *ParamTypes, size_t ParamCount);
2641
2647const char *LLVMIntrinsicGetName(unsigned ID, size_t *NameLength);
2648
2650const char *LLVMIntrinsicCopyOverloadedName(unsigned ID,
2651 LLVMTypeRef *ParamTypes,
2652 size_t ParamCount,
2653 size_t *NameLength);
2654
2667 LLVMTypeRef *ParamTypes,
2668 size_t ParamCount,
2669 size_t *NameLength);
2670
2677
2686
2696
2703const char *LLVMGetGC(LLVMValueRef Fn);
2704
2710void LLVMSetGC(LLVMValueRef Fn, const char *Name);
2711
2721 LLVMAttributeRef *Attrs);
2724 unsigned KindID);
2727 const char *K, unsigned KLen);
2729 unsigned KindID);
2731 const char *K, unsigned KLen);
2732
2738 const char *V);
2739
2757
2770
2779
2790
2797
2804
2813
2820
2827void LLVMSetParamAlignment(LLVMValueRef Arg, unsigned Align);
2828
2850 const char *Name, size_t NameLen,
2851 LLVMTypeRef Ty, unsigned AddrSpace,
2852 LLVMValueRef Resolver);
2853
2862 const char *Name, size_t NameLen);
2863
2870
2877
2885
2893
2901
2908
2915
2925
2957 size_t SLen);
2958
2965 size_t Count);
2966
2971
2976
2984const char *LLVMGetMDString(LLVMValueRef V, unsigned *Length);
2985
2993
3006
3013 LLVMMetadataRef Replacement);
3014
3017 unsigned SLen);
3019LLVMValueRef LLVMMDString(const char *Str, unsigned SLen);
3022 unsigned Count);
3024LLVMValueRef LLVMMDNode(LLVMValueRef *Vals, unsigned Count);
3025
3052LLVMOperandBundleRef LLVMCreateOperandBundle(const char *Tag, size_t TagLen,
3053 LLVMValueRef *Args,
3054 unsigned NumArgs);
3055
3063
3072const char *LLVMGetOperandBundleTag(LLVMOperandBundleRef Bundle, size_t *Len);
3073
3082
3092 unsigned Index);
3093
3119
3124
3129
3134
3141
3153
3160
3170
3180
3187
3192
3197
3205
3215
3223
3230 const char *Name);
3231
3238 LLVMValueRef Fn,
3239 const char *Name);
3240
3248
3259 const char *Name);
3260
3267 const char *Name);
3268
3278
3288
3295
3302
3310
3317
3343
3348
3352void LLVMSetMetadata(LLVMValueRef Val, unsigned KindID, LLVMValueRef Node);
3353
3362 size_t *NumEntries);
3363
3370
3380
3388
3398
3408
3418
3425
3435
3445
3455
3464
3486
3497
3507
3509 unsigned Align);
3510
3515 LLVMAttributeRef *Attrs);
3518 unsigned KindID);
3521 const char *K, unsigned KLen);
3523 unsigned KindID);
3525 const char *K, unsigned KLen);
3526
3533
3544
3553
3561 unsigned Index);
3562
3571
3579void LLVMSetTailCall(LLVMValueRef CallInst, LLVMBool IsTailCall);
3580
3587
3594
3603
3615
3624
3636
3656
3663
3670
3679
3688
3697
3706
3724
3742
3747
3752
3769void LLVMAddIncoming(LLVMValueRef PhiNode, LLVMValueRef *IncomingValues,
3770 LLVMBasicBlockRef *IncomingBlocks, unsigned Count);
3771
3776
3781
3786
3806
3810const unsigned *LLVMGetIndices(LLVMValueRef Inst);
3811
3836 LLVMValueRef Instr);
3843 const char *Name);
3845
3846/* Metadata */
3847
3854
3863
3875
3882
3889
3898 LLVMMetadataRef FPMathTag);
3899
3910
3911/* Terminators */
3915 unsigned N);
3920 LLVMBasicBlockRef Else, unsigned NumCases);
3922 unsigned NumDests);
3924 LLVMValueRef *Args, unsigned NumArgs,
3926 const char *Name);
3929 unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch,
3930 LLVMOperandBundleRef *Bundles, unsigned NumBundles, const char *Name);
3932
3933/* Exception Handling */
3936 LLVMValueRef PersFn, unsigned NumClauses,
3937 const char *Name);
3943 LLVMValueRef *Args, unsigned NumArgs,
3944 const char *Name);
3946 LLVMValueRef *Args, unsigned NumArgs,
3947 const char *Name);
3949 LLVMBasicBlockRef UnwindBB,
3950 unsigned NumHandlers, const char *Name);
3951
3952/* Add a case to the switch instruction */
3954 LLVMBasicBlockRef Dest);
3955
3956/* Add a destination to the indirectbr instruction */
3958
3959/* Get the number of clauses on the landingpad instruction */
3960unsigned LLVMGetNumClauses(LLVMValueRef LandingPad);
3961
3962/* Get the value of the clause at index Idx on the landingpad instruction */
3963LLVMValueRef LLVMGetClause(LLVMValueRef LandingPad, unsigned Idx);
3964
3965/* Add a catch or filter clause to the landingpad instruction */
3966void LLVMAddClause(LLVMValueRef LandingPad, LLVMValueRef ClauseVal);
3967
3968/* Get the 'cleanup' flag in the landingpad instruction */
3970
3971/* Set the 'cleanup' flag in the landingpad instruction */
3973
3974/* Add a destination to the catchswitch instruction */
3976
3977/* Get the number of handlers on the catchswitch instruction */
3978unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch);
3979
3992
3993/* Funclets */
3994
3995/* Get the number of funcletpad arguments. */
3997
3998/* Set a funcletpad argument at the given index. */
3999void LLVMSetArgOperand(LLVMValueRef Funclet, unsigned i, LLVMValueRef value);
4000
4009
4018
4019/* Arithmetic */
4021 const char *Name);
4023 const char *Name);
4025 const char *Name);
4027 const char *Name);
4029 const char *Name);
4031 const char *Name);
4033 const char *Name);
4035 const char *Name);
4037 const char *Name);
4039 const char *Name);
4041 const char *Name);
4043 const char *Name);
4045 const char *Name);
4047 const char *Name);
4049 const char *Name);
4051 const char *Name);
4053 const char *Name);
4055 const char *Name);
4057 const char *Name);
4059 const char *Name);
4061 const char *Name);
4063 const char *Name);
4065 const char *Name);
4067 const char *Name);
4069 const char *Name);
4071 const char *Name);
4073 LLVMValueRef LHS, LLVMValueRef RHS,
4074 const char *Name);
4077 const char *Name);
4079 const char *Name);
4082
4084void LLVMSetNUW(LLVMValueRef ArithInst, LLVMBool HasNUW);
4086void LLVMSetNSW(LLVMValueRef ArithInst, LLVMBool HasNSW);
4088void LLVMSetExact(LLVMValueRef DivOrShrInst, LLVMBool IsExact);
4089
4099void LLVMSetNNeg(LLVMValueRef NonNegInst, LLVMBool IsNonNeg);
4100
4109
4118
4127
4138
4139/* Memory */
4142 LLVMValueRef Val, const char *Name);
4143
4151 LLVMValueRef Val, LLVMValueRef Len,
4152 unsigned Align);
4159 LLVMValueRef Dst, unsigned DstAlign,
4160 LLVMValueRef Src, unsigned SrcAlign,
4161 LLVMValueRef Size);
4168 LLVMValueRef Dst, unsigned DstAlign,
4169 LLVMValueRef Src, unsigned SrcAlign,
4170 LLVMValueRef Size);
4171
4174 LLVMValueRef Val, const char *Name);
4177 LLVMValueRef PointerVal, const char *Name);
4180 LLVMValueRef Pointer, LLVMValueRef *Indices,
4181 unsigned NumIndices, const char *Name);
4183 LLVMValueRef Pointer, LLVMValueRef *Indices,
4184 unsigned NumIndices, const char *Name);
4186 LLVMValueRef Pointer, unsigned Idx,
4187 const char *Name);
4189 const char *Name);
4191 const char *Name);
4193void LLVMSetVolatile(LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile);
4195void LLVMSetWeak(LLVMValueRef CmpXchgInst, LLVMBool IsWeak);
4197void LLVMSetOrdering(LLVMValueRef MemoryAccessInst, LLVMAtomicOrdering Ordering);
4200
4201/* Casts */
4203 LLVMTypeRef DestTy, const char *Name);
4205 LLVMTypeRef DestTy, const char *Name);
4207 LLVMTypeRef DestTy, const char *Name);
4209 LLVMTypeRef DestTy, const char *Name);
4211 LLVMTypeRef DestTy, const char *Name);
4213 LLVMTypeRef DestTy, const char *Name);
4215 LLVMTypeRef DestTy, const char *Name);
4217 LLVMTypeRef DestTy, const char *Name);
4219 LLVMTypeRef DestTy, const char *Name);
4221 LLVMTypeRef DestTy, const char *Name);
4223 LLVMTypeRef DestTy, const char *Name);
4225 LLVMTypeRef DestTy, const char *Name);
4227 LLVMTypeRef DestTy, const char *Name);
4229 LLVMTypeRef DestTy, const char *Name);
4231 LLVMTypeRef DestTy, const char *Name);
4233 LLVMTypeRef DestTy, const char *Name);
4235 LLVMTypeRef DestTy, const char *Name);
4237 LLVMTypeRef DestTy, const char *Name);
4239 LLVMTypeRef DestTy, LLVMBool IsSigned,
4240 const char *Name);
4242 LLVMTypeRef DestTy, const char *Name);
4243
4246 LLVMTypeRef DestTy, const char *Name);
4247
4249 LLVMTypeRef DestTy, LLVMBool DestIsSigned);
4250
4251/* Comparisons */
4253 LLVMValueRef LHS, LLVMValueRef RHS,
4254 const char *Name);
4256 LLVMValueRef LHS, LLVMValueRef RHS,
4257 const char *Name);
4258
4259/* Miscellaneous instructions */
4262 LLVMValueRef *Args, unsigned NumArgs,
4263 const char *Name);
4266 LLVMValueRef *Args, unsigned NumArgs,
4267 LLVMOperandBundleRef *Bundles,
4268 unsigned NumBundles, const char *Name);
4270 LLVMValueRef Then, LLVMValueRef Else,
4271 const char *Name);
4273 const char *Name);
4275 LLVMValueRef Index, const char *Name);
4277 LLVMValueRef EltVal, LLVMValueRef Index,
4278 const char *Name);
4280 LLVMValueRef V2, LLVMValueRef Mask,
4281 const char *Name);
4283 unsigned Index, const char *Name);
4285 LLVMValueRef EltVal, unsigned Index,
4286 const char *Name);
4288 const char *Name);
4289
4291 const char *Name);
4293 const char *Name);
4295 LLVMValueRef LHS, LLVMValueRef RHS,
4296 const char *Name);
4298 LLVMBool singleThread, const char *Name);
4300 LLVMValueRef PTR, LLVMValueRef Val,
4301 LLVMAtomicOrdering ordering,
4302 LLVMBool singleThread);
4304 LLVMValueRef Cmp, LLVMValueRef New,
4305 LLVMAtomicOrdering SuccessOrdering,
4306 LLVMAtomicOrdering FailureOrdering,
4307 LLVMBool SingleThread);
4308
4312unsigned LLVMGetNumMaskElements(LLVMValueRef ShuffleVectorInst);
4313
4319
4327int LLVMGetMaskValue(LLVMValueRef ShuffleVectorInst, unsigned Elt);
4328
4330void LLVMSetAtomicSingleThread(LLVMValueRef AtomicInst, LLVMBool SingleThread);
4331
4334 LLVMAtomicOrdering Ordering);
4337 LLVMAtomicOrdering Ordering);
4338
4355
4360
4372 LLVMMemoryBufferRef *OutMemBuf,
4373 char **OutMessage);
4375 char **OutMessage);
4377 size_t InputDataLength,
4378 const char *BufferName,
4379 LLVMBool RequiresNullTerminator);
4381 size_t InputDataLength,
4382 const char *BufferName);
4386
4402
4408
4411
4417
4422
4428
4433
4438
4455
4459
4463
4477
4478#endif /* LLVM_C_CORE_H */
#define LLVM_ATTRIBUTE_C_DEPRECATED(decl, message)
Definition: Deprecated.h:34
#define LLVM_C_EXTERN_C_BEGIN
Definition: ExternC.h:35
#define LLVM_C_EXTERN_C_END
Definition: ExternC.h:36
#define B(name, bit)
Definition: cpu.h:216
#define C(name, bit)
Definition: cpu.h:242
LLVMContextRef LLVMGetGlobalContext(void)
unsigned LLVMGetEnumAttributeKind(LLVMAttributeRef A)
void LLVMContextSetDiscardValueNames(LLVMContextRef C, LLVMBool Discard)
uint64_t LLVMGetEnumAttributeValue(LLVMAttributeRef A)
LLVMTypeRef LLVMGetTypeAttributeValue(LLVMAttributeRef A)
unsigned LLVMGetMDKindIDInContext(LLVMContextRef C, const char *Name, unsigned SLen)
LLVMDiagnosticSeverity LLVMGetDiagInfoSeverity(LLVMDiagnosticInfoRef DI)
char * LLVMGetDiagInfoDescription(LLVMDiagnosticInfoRef DI)
unsigned LLVMGetEnumAttributeKindForName(const char *Name, size_t SLen)
LLVMDiagnosticHandler LLVMContextGetDiagnosticHandler(LLVMContextRef C)
LLVMBool LLVMContextShouldDiscardValueNames(LLVMContextRef C)
LLVMAttributeRef LLVMCreateTypeAttribute(LLVMContextRef C, unsigned KindID, LLVMTypeRef type_ref)
LLVMAttributeRef LLVMCreateStringAttribute(LLVMContextRef C, const char *K, unsigned KLength, const char *V, unsigned VLength)
void LLVMContextDispose(LLVMContextRef C)
LLVMAttributeRef LLVMCreateEnumAttribute(LLVMContextRef C, unsigned KindID, uint64_t Val)
const char * LLVMGetStringAttributeKind(LLVMAttributeRef A, unsigned *Length)
LLVMTypeRef LLVMGetTypeByName2(LLVMContextRef C, const char *Name)
LLVMContextRef LLVMContextCreate(void)
void(* LLVMYieldCallback)(LLVMContextRef, void *)
Definition: Core.h:546
unsigned LLVMGetLastEnumAttributeKind(void)
LLVMBool LLVMIsStringAttribute(LLVMAttributeRef A)
LLVMBool LLVMIsTypeAttribute(LLVMAttributeRef A)
const char * LLVMGetStringAttributeValue(LLVMAttributeRef A, unsigned *Length)
void LLVMContextSetYieldCallback(LLVMContextRef C, LLVMYieldCallback Callback, void *OpaqueHandle)
unsigned LLVMGetMDKindID(const char *Name, unsigned SLen)
void LLVMContextSetDiagnosticHandler(LLVMContextRef C, LLVMDiagnosticHandler Handler, void *DiagnosticContext)
void(* LLVMDiagnosticHandler)(LLVMDiagnosticInfoRef, void *)
Definition: Core.h:545
void * LLVMContextGetDiagnosticContext(LLVMContextRef C)
LLVMBool LLVMIsEnumAttribute(LLVMAttributeRef A)
void LLVMShutdown(void)
void LLVMGetVersion(unsigned *Major, unsigned *Minor, unsigned *Patch)
void LLVMDisposeMessage(char *Message)
char * LLVMCreateMessage(const char *Message)
LLVMValueRef LLVMBuildLoad2(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef PointerVal, const char *Name)
LLVMValueRef LLVMBuildGlobalStringPtr(LLVMBuilderRef B, const char *Str, const char *Name)
LLVMValueRef LLVMBuildFence(LLVMBuilderRef B, LLVMAtomicOrdering ordering, LLVMBool singleThread, const char *Name)
LLVMValueRef LLVMBuildAtomicRMW(LLVMBuilderRef B, LLVMAtomicRMWBinOp op, LLVMValueRef PTR, LLVMValueRef Val, LLVMAtomicOrdering ordering, LLVMBool singleThread)
LLVMBool LLVMGetIsDisjoint(LLVMValueRef Inst)
LLVMValueRef LLVMBuildNot(LLVMBuilderRef, LLVMValueRef V, const char *Name)
LLVMValueRef LLVMBuildInvokeWithOperandBundles(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, LLVMOperandBundleRef *Bundles, unsigned NumBundles, const char *Name)
LLVMValueRef LLVMBuildNSWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildAnd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildFPExt(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
void LLVMClearInsertionPosition(LLVMBuilderRef Builder)
LLVMValueRef LLVMBuildFDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMSetWeak(LLVMValueRef CmpXchgInst, LLVMBool IsWeak)
void LLVMSetNSW(LLVMValueRef ArithInst, LLVMBool HasNSW)
LLVMValueRef LLVMBuildFreeze(LLVMBuilderRef, LLVMValueRef Val, const char *Name)
LLVMValueRef LLVMBuildFAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildFMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildZExt(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildSExt(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildTruncOrBitCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildSExtOrBitCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildBitCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
void LLVMBuilderSetDefaultFPMathTag(LLVMBuilderRef Builder, LLVMMetadataRef FPMathTag)
LLVMValueRef LLVMBuildExtractValue(LLVMBuilderRef, LLVMValueRef AggVal, unsigned Index, const char *Name)
LLVMValueRef LLVMBuildFCmp(LLVMBuilderRef, LLVMRealPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMSetCmpXchgFailureOrdering(LLVMValueRef CmpXchgInst, LLVMAtomicOrdering Ordering)
LLVMValueRef LLVMBuildFPTrunc(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMAtomicOrdering LLVMGetCmpXchgFailureOrdering(LLVMValueRef CmpXchgInst)
LLVMOpcode LLVMGetCastOpcode(LLVMValueRef Src, LLVMBool SrcIsSigned, LLVMTypeRef DestTy, LLVMBool DestIsSigned)
LLVMAtomicRMWBinOp LLVMGetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst)
void LLVMSetNUW(LLVMValueRef ArithInst, LLVMBool HasNUW)
LLVMValueRef LLVMBuildSIToFP(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildShl(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Builder, LLVMMetadataRef Loc)
int LLVMGetUndefMaskElem(void)
LLVMBool LLVMGetWeak(LLVMValueRef CmpXchgInst)
LLVMValueRef LLVMBuildFRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildAlloca(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)
LLVMValueRef LLVMBuildSelect(LLVMBuilderRef, LLVMValueRef If, LLVMValueRef Then, LLVMValueRef Else, const char *Name)
LLVMValueRef LLVMBuildCatchPad(LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMValueRef *Args, unsigned NumArgs, const char *Name)
void LLVMSetIsDisjoint(LLVMValueRef Inst, LLVMBool IsDisjoint)
LLVMValueRef LLVMBuildMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildExactSDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildNUWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildMalloc(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)
LLVMValueRef LLVMBuildIsNull(LLVMBuilderRef, LLVMValueRef Val, const char *Name)
LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef PersFn, unsigned NumClauses, const char *Name)
LLVMValueRef LLVMBuildAggregateRet(LLVMBuilderRef, LLVMValueRef *RetVals, unsigned N)
LLVMValueRef LLVMBuildAShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildInvoke2(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, const char *Name)
LLVMValueRef LLVMBuildCallWithOperandBundles(LLVMBuilderRef, LLVMTypeRef, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMOperandBundleRef *Bundles, unsigned NumBundles, const char *Name)
LLVMValueRef LLVMBuildExactUDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMSetOrdering(LLVMValueRef MemoryAccessInst, LLVMAtomicOrdering Ordering)
void LLVMSetCleanup(LLVMValueRef LandingPad, LLVMBool Val)
LLVMValueRef LLVMGetArgOperand(LLVMValueRef Funclet, unsigned i)
LLVMValueRef LLVMBuildInsertValue(LLVMBuilderRef, LLVMValueRef AggVal, LLVMValueRef EltVal, unsigned Index, const char *Name)
LLVMValueRef LLVMBuildAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildMemSet(LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Val, LLVMValueRef Len, unsigned Align)
LLVMValueRef LLVMBuildBr(LLVMBuilderRef, LLVMBasicBlockRef Dest)
LLVMValueRef LLVMBuildNSWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildBinOp(LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildSRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMDisposeBuilder(LLVMBuilderRef Builder)
int LLVMGetMaskValue(LLVMValueRef ShuffleVectorInst, unsigned Elt)
LLVMValueRef LLVMBuildFSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMGetClause(LLVMValueRef LandingPad, unsigned Idx)
LLVMMetadataRef LLVMGetCurrentDebugLocation2(LLVMBuilderRef Builder)
LLVMValueRef LLVMBuildArrayAlloca(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Val, const char *Name)
LLVMValueRef LLVMBuildVAArg(LLVMBuilderRef, LLVMValueRef List, LLVMTypeRef Ty, const char *Name)
LLVMBuilderRef LLVMCreateBuilderInContext(LLVMContextRef C)
LLVMValueRef LLVMBuildAtomicCmpXchg(LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Cmp, LLVMValueRef New, LLVMAtomicOrdering SuccessOrdering, LLVMAtomicOrdering FailureOrdering, LLVMBool SingleThread)
LLVMValueRef LLVMBuildICmp(LLVMBuilderRef, LLVMIntPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildPointerCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMGetParentCatchSwitch(LLVMValueRef CatchPad)
void LLVMSetAtomicSingleThread(LLVMValueRef AtomicInst, LLVMBool SingleThread)
LLVMValueRef LLVMBuildCast(LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildTrunc(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildURem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMSetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst, LLVMAtomicRMWBinOp BinOp)
LLVMValueRef LLVMBuildCall2(LLVMBuilderRef, LLVMTypeRef, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, const char *Name)
void LLVMAddClause(LLVMValueRef LandingPad, LLVMValueRef ClauseVal)
LLVMValueRef LLVMBuildOr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMBool LLVMGetNUW(LLVMValueRef ArithInst)
LLVMValueRef LLVMBuildAddrSpaceCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildFPToUI(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
void LLVMSetCurrentDebugLocation(LLVMBuilderRef Builder, LLVMValueRef L)
LLVMValueRef LLVMBuildFPToSI(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildIntCast2(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, LLVMBool IsSigned, const char *Name)
LLVMValueRef LLVMBuildNSWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildFNeg(LLVMBuilderRef, LLVMValueRef V, const char *Name)
LLVMMetadataRef LLVMBuilderGetDefaultFPMathTag(LLVMBuilderRef Builder)
LLVMValueRef LLVMBuildUDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMSetParentCatchSwitch(LLVMValueRef CatchPad, LLVMValueRef CatchSwitch)
LLVMValueRef LLVMBuildCatchRet(LLVMBuilderRef B, LLVMValueRef CatchPad, LLVMBasicBlockRef BB)
LLVMValueRef LLVMBuildStructGEP2(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, unsigned Idx, const char *Name)
unsigned LLVMGetNumClauses(LLVMValueRef LandingPad)
LLVMBool LLVMGetNNeg(LLVMValueRef NonNegInst)
LLVMValueRef LLVMBuildSDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildStore(LLVMBuilderRef, LLVMValueRef Val, LLVMValueRef Ptr)
LLVMValueRef LLVMBuildCatchSwitch(LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMBasicBlockRef UnwindBB, unsigned NumHandlers, const char *Name)
LLVMValueRef LLVMBuildIntCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildNUWNeg(LLVMBuilderRef B, LLVMValueRef V, const char *Name)
LLVMValueRef LLVMBuildArrayMalloc(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Val, const char *Name)
LLVMValueRef LLVMBuildZExtOrBitCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildInBoundsGEP2(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name)
void LLVMGetHandlers(LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Handlers)
LLVMAtomicOrdering LLVMGetOrdering(LLVMValueRef MemoryAccessInst)
LLVMValueRef LLVMBuildUIToFP(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildIntToPtr(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildCondBr(LLVMBuilderRef, LLVMValueRef If, LLVMBasicBlockRef Then, LLVMBasicBlockRef Else)
LLVMValueRef LLVMBuildIndirectBr(LLVMBuilderRef B, LLVMValueRef Addr, unsigned NumDests)
void LLVMAddDestination(LLVMValueRef IndirectBr, LLVMBasicBlockRef Dest)
LLVMValueRef LLVMBuildNSWNeg(LLVMBuilderRef B, LLVMValueRef V, const char *Name)
LLVMValueRef LLVMBuildXor(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildGlobalString(LLVMBuilderRef B, const char *Str, const char *Name)
LLVMBool LLVMGetExact(LLVMValueRef DivOrShrInst)
LLVMValueRef LLVMBuildIsNotNull(LLVMBuilderRef, LLVMValueRef Val, const char *Name)
void LLVMSetArgOperand(LLVMValueRef Funclet, unsigned i, LLVMValueRef value)
LLVMValueRef LLVMBuildMemCpy(LLVMBuilderRef B, LLVMValueRef Dst, unsigned DstAlign, LLVMValueRef Src, unsigned SrcAlign, LLVMValueRef Size)
LLVMValueRef LLVMBuildPtrDiff2(LLVMBuilderRef, LLVMTypeRef ElemTy, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMSetInstDebugLocation(LLVMBuilderRef Builder, LLVMValueRef Inst)
void LLVMAddMetadataToInst(LLVMBuilderRef Builder, LLVMValueRef Inst)
LLVMValueRef LLVMBuildSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildNUWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildUnreachable(LLVMBuilderRef)
LLVMValueRef LLVMBuildShuffleVector(LLVMBuilderRef, LLVMValueRef V1, LLVMValueRef V2, LLVMValueRef Mask, const char *Name)
void LLVMSetVolatile(LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile)
LLVMValueRef LLVMBuildFree(LLVMBuilderRef, LLVMValueRef PointerVal)
LLVMValueRef LLVMBuildGEP2(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name)
unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch)
LLVMValueRef LLVMBuildFPCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMBuilderRef LLVMCreateBuilder(void)
void LLVMSetCmpXchgSuccessOrdering(LLVMValueRef CmpXchgInst, LLVMAtomicOrdering Ordering)
LLVMValueRef LLVMBuildPhi(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)
LLVMBool LLVMCanValueUseFastMathFlags(LLVMValueRef Inst)
void LLVMAddCase(LLVMValueRef Switch, LLVMValueRef OnVal, LLVMBasicBlockRef Dest)
LLVMBool LLVMIsAtomicSingleThread(LLVMValueRef AtomicInst)
LLVMValueRef LLVMBuildResume(LLVMBuilderRef B, LLVMValueRef Exn)
LLVMValueRef LLVMBuildSwitch(LLVMBuilderRef, LLVMValueRef V, LLVMBasicBlockRef Else, unsigned NumCases)
void LLVMInsertIntoBuilder(LLVMBuilderRef Builder, LLVMValueRef Instr)
LLVMValueRef LLVMBuildPtrToInt(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMBool LLVMIsCleanup(LLVMValueRef LandingPad)
LLVMBool LLVMGetNSW(LLVMValueRef ArithInst)
LLVMValueRef LLVMBuildMemMove(LLVMBuilderRef B, LLVMValueRef Dst, unsigned DstAlign, LLVMValueRef Src, unsigned SrcAlign, LLVMValueRef Size)
LLVMValueRef LLVMBuildLShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
unsigned LLVMGetNumMaskElements(LLVMValueRef ShuffleVectorInst)
LLVMValueRef LLVMBuildRetVoid(LLVMBuilderRef)
LLVMValueRef LLVMBuildRet(LLVMBuilderRef, LLVMValueRef V)
void LLVMAddHandler(LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest)
LLVMValueRef LLVMBuildExtractElement(LLVMBuilderRef, LLVMValueRef VecVal, LLVMValueRef Index, const char *Name)
void LLVMPositionBuilderBefore(LLVMBuilderRef Builder, LLVMValueRef Instr)
LLVMValueRef LLVMGetCurrentDebugLocation(LLVMBuilderRef Builder)
LLVMAtomicOrdering LLVMGetCmpXchgSuccessOrdering(LLVMValueRef CmpXchgInst)
void LLVMSetNNeg(LLVMValueRef NonNegInst, LLVMBool IsNonNeg)
void LLVMSetExact(LLVMValueRef DivOrShrInst, LLVMBool IsExact)
LLVMBasicBlockRef LLVMGetInsertBlock(LLVMBuilderRef Builder)
LLVMValueRef LLVMBuildCleanupPad(LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMValueRef *Args, unsigned NumArgs, const char *Name)
void LLVMInsertIntoBuilderWithName(LLVMBuilderRef Builder, LLVMValueRef Instr, const char *Name)
void LLVMSetFastMathFlags(LLVMValueRef FPMathInst, LLVMFastMathFlags FMF)
LLVMFastMathFlags LLVMGetFastMathFlags(LLVMValueRef FPMathInst)
LLVMValueRef LLVMBuildNeg(LLVMBuilderRef, LLVMValueRef V, const char *Name)
LLVMBool LLVMGetVolatile(LLVMValueRef MemoryAccessInst)
LLVMValueRef LLVMBuildNUWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMPositionBuilder(LLVMBuilderRef Builder, LLVMBasicBlockRef Block, LLVMValueRef Instr)
void LLVMPositionBuilderAtEnd(LLVMBuilderRef Builder, LLVMBasicBlockRef Block)
LLVMValueRef LLVMBuildInsertElement(LLVMBuilderRef, LLVMValueRef VecVal, LLVMValueRef EltVal, LLVMValueRef Index, const char *Name)
LLVMValueRef LLVMBuildCleanupRet(LLVMBuilderRef B, LLVMValueRef CatchPad, LLVMBasicBlockRef BB)
void LLVMDisposeMemoryBuffer(LLVMMemoryBufferRef MemBuf)
size_t LLVMGetBufferSize(LLVMMemoryBufferRef MemBuf)
LLVMBool LLVMCreateMemoryBufferWithSTDIN(LLVMMemoryBufferRef *OutMemBuf, char **OutMessage)
LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRange(const char *InputData, size_t InputDataLength, const char *BufferName, LLVMBool RequiresNullTerminator)
LLVMBool LLVMCreateMemoryBufferWithContentsOfFile(const char *Path, LLVMMemoryBufferRef *OutMemBuf, char **OutMessage)
const char * LLVMGetBufferStart(LLVMMemoryBufferRef MemBuf)
LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRangeCopy(const char *InputData, size_t InputDataLength, const char *BufferName)
const char * LLVMGetModuleIdentifier(LLVMModuleRef M, size_t *Len)
void LLVMSetDataLayout(LLVMModuleRef M, const char *DataLayoutStr)
LLVMValueRef LLVMAddFunction(LLVMModuleRef M, const char *Name, LLVMTypeRef FunctionTy)
LLVMNamedMDNodeRef LLVMGetPreviousNamedMetadata(LLVMNamedMDNodeRef NamedMDNode)
LLVMTypeRef LLVMGetTypeByName(LLVMModuleRef M, const char *Name)
void LLVMSetSourceFileName(LLVMModuleRef M, const char *Name, size_t Len)
void LLVMDumpModule(LLVMModuleRef M)
void LLVMAppendModuleInlineAsm(LLVMModuleRef M, const char *Asm, size_t Len)
LLVMValueRef LLVMGetFirstFunction(LLVMModuleRef M)
const char * LLVMGetDebugLocFilename(LLVMValueRef Val, unsigned *Length)
LLVMBool LLVMPrintModuleToFile(LLVMModuleRef M, const char *Filename, char **ErrorMessage)
void LLVMDisposeModule(LLVMModuleRef M)
LLVMValueRef LLVMGetInlineAsm(LLVMTypeRef Ty, const char *AsmString, size_t AsmStringSize, const char *Constraints, size_t ConstraintsSize, LLVMBool HasSideEffects, LLVMBool IsAlignStack, LLVMInlineAsmDialect Dialect, LLVMBool CanThrow)
const char * LLVMGetDebugLocDirectory(LLVMValueRef Val, unsigned *Length)
const char * LLVMGetModuleInlineAsm(LLVMModuleRef M, size_t *Len)
const char * LLVMGetSourceFileName(LLVMModuleRef M, size_t *Len)
const char * LLVMGetNamedMetadataName(LLVMNamedMDNodeRef NamedMD, size_t *NameLen)
LLVMContextRef LLVMGetModuleContext(LLVMModuleRef M)
const char * LLVMGetInlineAsmConstraintString(LLVMValueRef InlineAsmVal, size_t *Len)
LLVMModuleRef LLVMModuleCreateWithNameInContext(const char *ModuleID, LLVMContextRef C)
LLVMMetadataRef LLVMModuleFlagEntriesGetMetadata(LLVMModuleFlagEntry *Entries, unsigned Index)
const char * LLVMModuleFlagEntriesGetKey(LLVMModuleFlagEntry *Entries, unsigned Index, size_t *Len)
LLVMValueRef LLVMGetLastFunction(LLVMModuleRef M)
void LLVMSetTarget(LLVMModuleRef M, const char *Triple)
const char * LLVMGetDataLayoutStr(LLVMModuleRef M)
const char * LLVMGetInlineAsmAsmString(LLVMValueRef InlineAsmVal, size_t *Len)
LLVMModuleFlagBehavior LLVMModuleFlagEntriesGetFlagBehavior(LLVMModuleFlagEntry *Entries, unsigned Index)
unsigned LLVMGetDebugLocColumn(LLVMValueRef Val)
unsigned LLVMGetDebugLocLine(LLVMValueRef Val)
LLVMBool LLVMGetInlineAsmNeedsAlignedStack(LLVMValueRef InlineAsmVal)
LLVMModuleRef LLVMModuleCreateWithName(const char *ModuleID)
LLVMModuleFlagEntry * LLVMCopyModuleFlagsMetadata(LLVMModuleRef M, size_t *Len)
void LLVMAddModuleFlag(LLVMModuleRef M, LLVMModuleFlagBehavior Behavior, const char *Key, size_t KeyLen, LLVMMetadataRef Val)
void LLVMSetModuleInlineAsm(LLVMModuleRef M, const char *Asm)
LLVMBool LLVMGetInlineAsmHasSideEffects(LLVMValueRef InlineAsmVal)
void LLVMDisposeModuleFlagsMetadata(LLVMModuleFlagEntry *Entries)
LLVMInlineAsmDialect LLVMGetInlineAsmDialect(LLVMValueRef InlineAsmVal)
unsigned LLVMGetNamedMetadataNumOperands(LLVMModuleRef M, const char *Name)
const char * LLVMGetTarget(LLVMModuleRef M)
LLVMNamedMDNodeRef LLVMGetNextNamedMetadata(LLVMNamedMDNodeRef NamedMDNode)
void LLVMSetModuleInlineAsm2(LLVMModuleRef M, const char *Asm, size_t Len)
LLVMNamedMDNodeRef LLVMGetLastNamedMetadata(LLVMModuleRef M)
LLVMBool LLVMGetInlineAsmCanUnwind(LLVMValueRef InlineAsmVal)
LLVMMetadataRef LLVMGetModuleFlag(LLVMModuleRef M, const char *Key, size_t KeyLen)
LLVMModuleRef LLVMCloneModule(LLVMModuleRef M)
const char * LLVMGetDataLayout(LLVMModuleRef M)
LLVMValueRef LLVMGetNamedFunction(LLVMModuleRef M, const char *Name)
LLVMNamedMDNodeRef LLVMGetNamedMetadata(LLVMModuleRef M, const char *Name, size_t NameLen)
LLVMNamedMDNodeRef LLVMGetOrInsertNamedMetadata(LLVMModuleRef M, const char *Name, size_t NameLen)
LLVMValueRef LLVMGetPreviousFunction(LLVMValueRef Fn)
char * LLVMPrintModuleToString(LLVMModuleRef M)
void LLVMGetNamedMetadataOperands(LLVMModuleRef M, const char *Name, LLVMValueRef *Dest)
LLVMValueRef LLVMGetNextFunction(LLVMValueRef Fn)
LLVMTypeRef LLVMGetInlineAsmFunctionType(LLVMValueRef InlineAsmVal)
void LLVMSetModuleIdentifier(LLVMModuleRef M, const char *Ident, size_t Len)
void LLVMAddNamedMetadataOperand(LLVMModuleRef M, const char *Name, LLVMValueRef Val)
LLVMNamedMDNodeRef LLVMGetFirstNamedMetadata(LLVMModuleRef M)
LLVMModuleProviderRef LLVMCreateModuleProviderForExistingModule(LLVMModuleRef M)
void LLVMDisposeModuleProvider(LLVMModuleProviderRef M)
LLVMValueRef LLVMGetOperandBundleArgAtIndex(LLVMOperandBundleRef Bundle, unsigned Index)
unsigned LLVMGetNumOperandBundleArgs(LLVMOperandBundleRef Bundle)
LLVMOperandBundleRef LLVMCreateOperandBundle(const char *Tag, size_t TagLen, LLVMValueRef *Args, unsigned NumArgs)
void LLVMDisposeOperandBundle(LLVMOperandBundleRef Bundle)
const char * LLVMGetOperandBundleTag(LLVMOperandBundleRef Bundle, size_t *Len)
LLVMBool LLVMRunPassManager(LLVMPassManagerRef PM, LLVMModuleRef M)
LLVMPassManagerRef LLVMCreateFunctionPassManager(LLVMModuleProviderRef MP)
LLVMPassManagerRef LLVMCreatePassManager(void)
void LLVMDisposePassManager(LLVMPassManagerRef PM)
LLVMBool LLVMFinalizeFunctionPassManager(LLVMPassManagerRef FPM)
LLVMBool LLVMRunFunctionPassManager(LLVMPassManagerRef FPM, LLVMValueRef F)
LLVMBool LLVMInitializeFunctionPassManager(LLVMPassManagerRef FPM)
LLVMPassManagerRef LLVMCreateFunctionPassManagerForModule(LLVMModuleRef M)
LLVMBool LLVMIsMultithreaded(void)
LLVMBool LLVMStartMultithreaded(void)
void LLVMStopMultithreaded(void)
LLVMTypeRef LLVMFP128Type(void)
LLVMTypeRef LLVMFP128TypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMDoubleTypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMX86FP80TypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMHalfTypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMBFloatTypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMBFloatType(void)
LLVMTypeRef LLVMFloatTypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMHalfType(void)
LLVMTypeRef LLVMX86FP80Type(void)
LLVMTypeRef LLVMPPCFP128Type(void)
LLVMTypeRef LLVMFloatType(void)
LLVMTypeRef LLVMDoubleType(void)
LLVMTypeRef LLVMPPCFP128TypeInContext(LLVMContextRef C)
LLVMBool LLVMIsFunctionVarArg(LLVMTypeRef FunctionTy)
unsigned LLVMCountParamTypes(LLVMTypeRef FunctionTy)
void LLVMGetParamTypes(LLVMTypeRef FunctionTy, LLVMTypeRef *Dest)
LLVMTypeRef LLVMFunctionType(LLVMTypeRef ReturnType, LLVMTypeRef *ParamTypes, unsigned ParamCount, LLVMBool IsVarArg)
LLVMTypeRef LLVMGetReturnType(LLVMTypeRef FunctionTy)
LLVMBool LLVMTypeIsSized(LLVMTypeRef Ty)
LLVMTypeKind LLVMGetTypeKind(LLVMTypeRef Ty)
char * LLVMPrintTypeToString(LLVMTypeRef Val)
void LLVMDumpType(LLVMTypeRef Val)
LLVMContextRef LLVMGetTypeContext(LLVMTypeRef Ty)
LLVMTypeRef LLVMInt64Type(void)
LLVMTypeRef LLVMInt64TypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMInt16TypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMIntTypeInContext(LLVMContextRef C, unsigned NumBits)
LLVMTypeRef LLVMInt1TypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMInt32Type(void)
LLVMTypeRef LLVMInt32TypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMInt128TypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMIntType(unsigned NumBits)
LLVMTypeRef LLVMInt8TypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMInt8Type(void)
LLVMTypeRef LLVMInt1Type(void)
LLVMTypeRef LLVMInt128Type(void)
unsigned LLVMGetIntTypeWidth(LLVMTypeRef IntegerTy)
LLVMTypeRef LLVMInt16Type(void)
LLVMTypeRef LLVMX86MMXTypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMVoidType(void)
LLVMTypeRef LLVMX86AMXTypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMMetadataTypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMTokenTypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMX86AMXType(void)
LLVMTypeRef LLVMLabelTypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMTargetExtTypeInContext(LLVMContextRef C, const char *Name, LLVMTypeRef *TypeParams, unsigned TypeParamCount, unsigned *IntParams, unsigned IntParamCount)
LLVMTypeRef LLVMX86MMXType(void)
LLVMTypeRef LLVMLabelType(void)
LLVMTypeRef LLVMVoidTypeInContext(LLVMContextRef C)
unsigned LLVMGetArrayLength(LLVMTypeRef ArrayTy)
LLVMTypeRef LLVMGetElementType(LLVMTypeRef Ty)
unsigned LLVMGetPointerAddressSpace(LLVMTypeRef PointerTy)
uint64_t LLVMGetArrayLength2(LLVMTypeRef ArrayTy)
LLVMTypeRef LLVMPointerType(LLVMTypeRef ElementType, unsigned AddressSpace)
unsigned LLVMGetNumContainedTypes(LLVMTypeRef Tp)
LLVMTypeRef LLVMVectorType(LLVMTypeRef ElementType, unsigned ElementCount)
LLVMBool LLVMPointerTypeIsOpaque(LLVMTypeRef Ty)
LLVMTypeRef LLVMPointerTypeInContext(LLVMContextRef C, unsigned AddressSpace)
LLVMTypeRef LLVMArrayType(LLVMTypeRef ElementType, unsigned ElementCount)
LLVMTypeRef LLVMScalableVectorType(LLVMTypeRef ElementType, unsigned ElementCount)
LLVMTypeRef LLVMArrayType2(LLVMTypeRef ElementType, uint64_t ElementCount)
void LLVMGetSubtypes(LLVMTypeRef Tp, LLVMTypeRef *Arr)
unsigned LLVMGetVectorSize(LLVMTypeRef VectorTy)
void LLVMStructSetBody(LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
LLVMBool LLVMIsPackedStruct(LLVMTypeRef StructTy)
LLVMTypeRef LLVMStructGetTypeAtIndex(LLVMTypeRef StructTy, unsigned i)
LLVMTypeRef LLVMStructType(LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
const char * LLVMGetStructName(LLVMTypeRef Ty)
void LLVMGetStructElementTypes(LLVMTypeRef StructTy, LLVMTypeRef *Dest)
LLVMBool LLVMIsOpaqueStruct(LLVMTypeRef StructTy)
unsigned LLVMCountStructElementTypes(LLVMTypeRef StructTy)
LLVMTypeRef LLVMStructCreateNamed(LLVMContextRef C, const char *Name)
LLVMBool LLVMIsLiteralStruct(LLVMTypeRef StructTy)
LLVMTypeRef LLVMStructTypeInContext(LLVMContextRef C, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
LLVMTailCallKind
Definition: Core.h:477
LLVMLinkage
Definition: Core.h:172
LLVMOpcode
Definition: Core.h:60
LLVMRealPredicate
Definition: Core.h:304
LLVMTypeKind
Definition: Core.h:148
LLVMDLLStorageClass
Definition: Core.h:207
LLVMValueKind
Definition: Core.h:257
unsigned LLVMAttributeIndex
Definition: Core.h:484
LLVMCallConv
Definition: Core.h:213
LLVMIntPredicate
Definition: Core.h:291
unsigned LLVMFastMathFlags
Definition: Core.h:507
LLVMUnnamedAddr
Definition: Core.h:201
LLVMModuleFlagBehavior
Definition: Core.h:407
LLVMDiagnosticSeverity
Definition: Core.h:395
LLVMVisibility
Definition: Core.h:195
LLVMLandingPadClauseTy
Definition: Core.h:323
LLVMAtomicRMWBinOp
Definition: Core.h:363
LLVMThreadLocalMode
Definition: Core.h:328
LLVMAtomicOrdering
Definition: Core.h:336
LLVMInlineAsmDialect
Definition: Core.h:402
@ LLVMTailCallKindNoTail
Definition: Core.h:481
@ LLVMTailCallKindNone
Definition: Core.h:478
@ LLVMTailCallKindTail
Definition: Core.h:479
@ LLVMTailCallKindMustTail
Definition: Core.h:480
@ LLVMDLLImportLinkage
Definition: Core.h:186
@ LLVMInternalLinkage
Definition: Core.h:183
@ LLVMLinkOnceAnyLinkage
Definition: Core.h:175
@ LLVMExternalLinkage
Definition: Core.h:173
@ LLVMExternalWeakLinkage
Definition: Core.h:188
@ LLVMLinkOnceODRLinkage
Definition: Core.h:176
@ LLVMPrivateLinkage
Definition: Core.h:185
@ LLVMDLLExportLinkage
Definition: Core.h:187
@ LLVMLinkerPrivateLinkage
Definition: Core.h:191
@ LLVMWeakODRLinkage
Definition: Core.h:180
@ LLVMGhostLinkage
Definition: Core.h:189
@ LLVMWeakAnyLinkage
Definition: Core.h:179
@ LLVMAppendingLinkage
Definition: Core.h:182
@ LLVMCommonLinkage
Definition: Core.h:190
@ LLVMLinkOnceODRAutoHideLinkage
Definition: Core.h:178
@ LLVMLinkerPrivateWeakLinkage
Definition: Core.h:192
@ LLVMAvailableExternallyLinkage
Definition: Core.h:174
@ LLVMSelect
Definition: Core.h:122
@ LLVMSRem
Definition: Core.h:85
@ LLVMOr
Definition: Core.h:93
@ LLVMCallBr
Definition: Core.h:69
@ LLVMUIToFP
Definition: Core.h:108
@ LLVMIntToPtr
Definition: Core.h:113
@ LLVMAtomicRMW
Definition: Core.h:136
@ LLVMFMul
Definition: Core.h:80
@ LLVMLoad
Definition: Core.h:98
@ LLVMIndirectBr
Definition: Core.h:65
@ LLVMUnreachable
Definition: Core.h:68
@ LLVMCatchSwitch
Definition: Core.h:145
@ LLVMCall
Definition: Core.h:121
@ LLVMGetElementPtr
Definition: Core.h:100
@ LLVMAdd
Definition: Core.h:75
@ LLVMSub
Definition: Core.h:77
@ LLVMExtractValue
Definition: Core.h:129
@ LLVMUserOp1
Definition: Core.h:123
@ LLVMICmp
Definition: Core.h:118
@ LLVMFDiv
Definition: Core.h:83
@ LLVMLShr
Definition: Core.h:90
@ LLVMFPTrunc
Definition: Core.h:110
@ LLVMResume
Definition: Core.h:139
@ LLVMAddrSpaceCast
Definition: Core.h:115
@ LLVMFNeg
Definition: Core.h:72
@ LLVMRet
Definition: Core.h:62
@ LLVMFPToSI
Definition: Core.h:107
@ LLVMCatchRet
Definition: Core.h:142
@ LLVMFreeze
Definition: Core.h:131
@ LLVMFRem
Definition: Core.h:86
@ LLVMSIToFP
Definition: Core.h:109
@ LLVMPHI
Definition: Core.h:120
@ LLVMUDiv
Definition: Core.h:81
@ LLVMInvoke
Definition: Core.h:66
@ LLVMCleanupPad
Definition: Core.h:144
@ LLVMSDiv
Definition: Core.h:82
@ LLVMFence
Definition: Core.h:134
@ LLVMAnd
Definition: Core.h:92
@ LLVMBr
Definition: Core.h:63
@ LLVMFPToUI
Definition: Core.h:106
@ LLVMLandingPad
Definition: Core.h:140
@ LLVMURem
Definition: Core.h:84
@ LLVMCleanupRet
Definition: Core.h:141
@ LLVMTrunc
Definition: Core.h:103
@ LLVMVAArg
Definition: Core.h:125
@ LLVMShuffleVector
Definition: Core.h:128
@ LLVMSExt
Definition: Core.h:105
@ LLVMBitCast
Definition: Core.h:114
@ LLVMUserOp2
Definition: Core.h:124
@ LLVMMul
Definition: Core.h:79
@ LLVMCatchPad
Definition: Core.h:143
@ LLVMAShr
Definition: Core.h:91
@ LLVMPtrToInt
Definition: Core.h:112
@ LLVMInsertElement
Definition: Core.h:127
@ LLVMFAdd
Definition: Core.h:76
@ LLVMFSub
Definition: Core.h:78
@ LLVMStore
Definition: Core.h:99
@ LLVMZExt
Definition: Core.h:104
@ LLVMShl
Definition: Core.h:89
@ LLVMInsertValue
Definition: Core.h:130
@ LLVMExtractElement
Definition: Core.h:126
@ LLVMXor
Definition: Core.h:94
@ LLVMFCmp
Definition: Core.h:119
@ LLVMFPExt
Definition: Core.h:111
@ LLVMAlloca
Definition: Core.h:97
@ LLVMAtomicCmpXchg
Definition: Core.h:135
@ LLVMSwitch
Definition: Core.h:64
@ LLVMRealUNE
Definition: Core.h:319
@ LLVMRealUGT
Definition: Core.h:315
@ LLVMRealULE
Definition: Core.h:318
@ LLVMRealOLE
Definition: Core.h:310
@ LLVMRealOGE
Definition: Core.h:308
@ LLVMRealULT
Definition: Core.h:317
@ LLVMRealPredicateFalse
Definition: Core.h:305
@ LLVMRealPredicateTrue
Definition: Core.h:320
@ LLVMRealUNO
Definition: Core.h:313
@ LLVMRealOEQ
Definition: Core.h:306
@ LLVMRealOLT
Definition: Core.h:309
@ LLVMRealUEQ
Definition: Core.h:314
@ LLVMRealORD
Definition: Core.h:312
@ LLVMRealOGT
Definition: Core.h:307
@ LLVMRealUGE
Definition: Core.h:316
@ LLVMRealONE
Definition: Core.h:311
@ LLVMHalfTypeKind
Definition: Core.h:150
@ LLVMFP128TypeKind
Definition: Core.h:154
@ LLVMIntegerTypeKind
Definition: Core.h:157
@ LLVMPointerTypeKind
Definition: Core.h:161
@ LLVMX86_FP80TypeKind
Definition: Core.h:153
@ LLVMX86_AMXTypeKind
Definition: Core.h:168
@ LLVMMetadataTypeKind
Definition: Core.h:163
@ LLVMScalableVectorTypeKind
Definition: Core.h:166
@ LLVMArrayTypeKind
Definition: Core.h:160
@ LLVMBFloatTypeKind
Definition: Core.h:167
@ LLVMStructTypeKind
Definition: Core.h:159
@ LLVMLabelTypeKind
Definition: Core.h:156
@ LLVMDoubleTypeKind
Definition: Core.h:152
@ LLVMVoidTypeKind
Definition: Core.h:149
@ LLVMTokenTypeKind
Definition: Core.h:165
@ LLVMFloatTypeKind
Definition: Core.h:151
@ LLVMFunctionTypeKind
Definition: Core.h:158
@ LLVMVectorTypeKind
Definition: Core.h:162
@ LLVMPPC_FP128TypeKind
Definition: Core.h:155
@ LLVMTargetExtTypeKind
Definition: Core.h:169
@ LLVMX86_MMXTypeKind
Definition: Core.h:164
@ LLVMDefaultStorageClass
Definition: Core.h:208
@ LLVMDLLExportStorageClass
Definition: Core.h:210
@ LLVMDLLImportStorageClass
Definition: Core.h:209
@ LLVMFastMathAllowReassoc
Definition: Core.h:487
@ LLVMFastMathNoSignedZeros
Definition: Core.h:490
@ LLVMFastMathApproxFunc
Definition: Core.h:493
@ LLVMFastMathNoInfs
Definition: Core.h:489
@ LLVMFastMathNoNaNs
Definition: Core.h:488
@ LLVMFastMathAll
Definition: Core.h:495
@ LLVMFastMathNone
Definition: Core.h:494
@ LLVMFastMathAllowContract
Definition: Core.h:492
@ LLVMFastMathAllowReciprocal
Definition: Core.h:491
@ LLVMMemoryDefValueKind
Definition: Core.h:261
@ LLVMConstantDataVectorValueKind
Definition: Core.h:277
@ LLVMConstantIntValueKind
Definition: Core.h:278
@ LLVMConstantDataArrayValueKind
Definition: Core.h:276
@ LLVMUndefValueValueKind
Definition: Core.h:274
@ LLVMFunctionValueKind
Definition: Core.h:264
@ LLVMConstantVectorValueKind
Definition: Core.h:272
@ LLVMMemoryPhiValueKind
Definition: Core.h:262
@ LLVMConstantTokenNoneValueKind
Definition: Core.h:281
@ LLVMArgumentValueKind
Definition: Core.h:258
@ LLVMInlineAsmValueKind
Definition: Core.h:284
@ LLVMConstantAggregateZeroValueKind
Definition: Core.h:275
@ LLVMGlobalAliasValueKind
Definition: Core.h:265
@ LLVMMetadataAsValueValueKind
Definition: Core.h:283
@ LLVMConstantTargetNoneValueKind
Definition: Core.h:288
@ LLVMConstantStructValueKind
Definition: Core.h:271
@ LLVMInstructionValueKind
Definition: Core.h:286
@ LLVMConstantArrayValueKind
Definition: Core.h:270
@ LLVMMemoryUseValueKind
Definition: Core.h:260
@ LLVMConstantPointerNullValueKind
Definition: Core.h:280
@ LLVMBasicBlockValueKind
Definition: Core.h:259
@ LLVMBlockAddressValueKind
Definition: Core.h:268
@ LLVMConstantExprValueKind
Definition: Core.h:269
@ LLVMPoisonValueValueKind
Definition: Core.h:287
@ LLVMGlobalVariableValueKind
Definition: Core.h:267
@ LLVMGlobalIFuncValueKind
Definition: Core.h:266
@ LLVMConstantFPValueKind
Definition: Core.h:279
@ LLVMCXXFASTTLSCallConv
Definition: Core.h:223
@ LLVMX86INTRCallConv
Definition: Core.h:241
@ LLVMAMDGPUCSCallConv
Definition: Core.h:248
@ LLVMAMDGPUHSCallConv
Definition: Core.h:251
@ LLVMSwiftCallConv
Definition: Core.h:222
@ LLVMPTXDeviceCallConv
Definition: Core.h:232
@ LLVMX86VectorCallCallConv
Definition: Core.h:238
@ LLVMPreserveAllCallConv
Definition: Core.h:221
@ LLVMAMDGPUGSCallConv
Definition: Core.h:246
@ LLVMMSP430INTRCallConv
Definition: Core.h:229
@ LLVMCCallConv
Definition: Core.h:214
@ LLVMARMAPCSCallConv
Definition: Core.h:226
@ LLVMAVRSIGNALCallConv
Definition: Core.h:243
@ LLVMX86RegCallCallConv
Definition: Core.h:250
@ LLVMAMDGPUVSCallConv
Definition: Core.h:245
@ LLVMSPIRKERNELCallConv
Definition: Core.h:234
@ LLVMGHCCallConv
Definition: Core.h:217
@ LLVMX86ThisCallCallConv
Definition: Core.h:230
@ LLVMPTXKernelCallConv
Definition: Core.h:231
@ LLVMAnyRegCallConv
Definition: Core.h:219
@ LLVMAVRINTRCallConv
Definition: Core.h:242
@ LLVMAMDGPUPSCallConv
Definition: Core.h:247
@ LLVMSPIRFUNCCallConv
Definition: Core.h:233
@ LLVMPreserveMostCallConv
Definition: Core.h:220
@ LLVMMSP430BUILTINCallConv
Definition: Core.h:252
@ LLVMAMDGPUKERNELCallConv
Definition: Core.h:249
@ LLVMX8664SysVCallConv
Definition: Core.h:236
@ LLVMARMAAPCSCallConv
Definition: Core.h:227
@ LLVMColdCallConv
Definition: Core.h:216
@ LLVMAMDGPULSCallConv
Definition: Core.h:253
@ LLVMX86FastcallCallConv
Definition: Core.h:225
@ LLVMAMDGPUESCallConv
Definition: Core.h:254
@ LLVMX86StdcallCallConv
Definition: Core.h:224
@ LLVMFastCallConv
Definition: Core.h:215
@ LLVMAVRBUILTINCallConv
Definition: Core.h:244
@ LLVMHHVMCallConv
Definition: Core.h:239
@ LLVMIntelOCLBICallConv
Definition: Core.h:235
@ LLVMWin64CallConv
Definition: Core.h:237
@ LLVMHiPECallConv
Definition: Core.h:218
@ LLVMHHVMCCallConv
Definition: Core.h:240
@ LLVMARMAAPCSVFPCallConv
Definition: Core.h:228
@ LLVMIntSGT
Definition: Core.h:298
@ LLVMIntULE
Definition: Core.h:297
@ LLVMIntEQ
Definition: Core.h:292
@ LLVMIntUGE
Definition: Core.h:295
@ LLVMIntSGE
Definition: Core.h:299
@ LLVMIntULT
Definition: Core.h:296
@ LLVMIntUGT
Definition: Core.h:294
@ LLVMIntSLE
Definition: Core.h:301
@ LLVMIntSLT
Definition: Core.h:300
@ LLVMIntNE
Definition: Core.h:293
@ LLVMGlobalUnnamedAddr
Definition: Core.h:204
@ LLVMLocalUnnamedAddr
Definition: Core.h:203
@ LLVMNoUnnamedAddr
Definition: Core.h:202
@ LLVMModuleFlagBehaviorRequire
Definition: Core.h:433
@ LLVMModuleFlagBehaviorWarning
Definition: Core.h:421
@ LLVMModuleFlagBehaviorOverride
Definition: Core.h:441
@ LLVMModuleFlagBehaviorAppendUnique
Definition: Core.h:455
@ LLVMModuleFlagBehaviorAppend
Definition: Core.h:447
@ LLVMModuleFlagBehaviorError
Definition: Core.h:414
@ LLVMAttributeReturnIndex
Definition: Core.h:463
@ LLVMAttributeFunctionIndex
Definition: Core.h:467
@ LLVMDSWarning
Definition: Core.h:397
@ LLVMDSNote
Definition: Core.h:399
@ LLVMDSError
Definition: Core.h:396
@ LLVMDSRemark
Definition: Core.h:398
@ LLVMProtectedVisibility
Definition: Core.h:198
@ LLVMDefaultVisibility
Definition: Core.h:196
@ LLVMHiddenVisibility
Definition: Core.h:197
@ LLVMLandingPadCatch
Definition: Core.h:324
@ LLVMLandingPadFilter
Definition: Core.h:325
@ LLVMAtomicRMWBinOpXor
Definition: Core.h:370
@ LLVMAtomicRMWBinOpXchg
Definition: Core.h:364
@ LLVMAtomicRMWBinOpSub
Definition: Core.h:366
@ LLVMAtomicRMWBinOpUMax
Definition: Core.h:377
@ LLVMAtomicRMWBinOpAnd
Definition: Core.h:367
@ LLVMAtomicRMWBinOpFMax
Definition: Core.h:387
@ LLVMAtomicRMWBinOpMin
Definition: Core.h:374
@ LLVMAtomicRMWBinOpOr
Definition: Core.h:369
@ LLVMAtomicRMWBinOpFMin
Definition: Core.h:390
@ LLVMAtomicRMWBinOpMax
Definition: Core.h:371
@ LLVMAtomicRMWBinOpFAdd
Definition: Core.h:383
@ LLVMAtomicRMWBinOpFSub
Definition: Core.h:385
@ LLVMAtomicRMWBinOpAdd
Definition: Core.h:365
@ LLVMAtomicRMWBinOpUMin
Definition: Core.h:380
@ LLVMAtomicRMWBinOpNand
Definition: Core.h:368
@ LLVMGeneralDynamicTLSModel
Definition: Core.h:330
@ LLVMLocalDynamicTLSModel
Definition: Core.h:331
@ LLVMNotThreadLocal
Definition: Core.h:329
@ LLVMInitialExecTLSModel
Definition: Core.h:332
@ LLVMLocalExecTLSModel
Definition: Core.h:333
@ LLVMAtomicOrderingAcquireRelease
Definition: Core.h:349
@ LLVMAtomicOrderingRelease
Definition: Core.h:346
@ LLVMAtomicOrderingAcquire
Definition: Core.h:343
@ LLVMAtomicOrderingMonotonic
Definition: Core.h:340
@ LLVMAtomicOrderingSequentiallyConsistent
Definition: Core.h:353
@ LLVMAtomicOrderingNotAtomic
Definition: Core.h:337
@ LLVMAtomicOrderingUnordered
Definition: Core.h:338
@ LLVMInlineAsmDialectATT
Definition: Core.h:403
@ LLVMInlineAsmDialectIntel
Definition: Core.h:404
LLVMBasicBlockRef LLVMGetNextBasicBlock(LLVMBasicBlockRef BB)
void LLVMAppendExistingBasicBlock(LLVMValueRef Fn, LLVMBasicBlockRef BB)
void LLVMDeleteBasicBlock(LLVMBasicBlockRef BB)
LLVMBasicBlockRef LLVMGetFirstBasicBlock(LLVMValueRef Fn)
LLVMBasicBlockRef LLVMValueAsBasicBlock(LLVMValueRef Val)
LLVMBasicBlockRef LLVMCreateBasicBlockInContext(LLVMContextRef C, const char *Name)
void LLVMRemoveBasicBlockFromParent(LLVMBasicBlockRef BB)
void LLVMMoveBasicBlockBefore(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)
LLVMValueRef LLVMBasicBlockAsValue(LLVMBasicBlockRef BB)
void LLVMInsertExistingBasicBlockAfterInsertBlock(LLVMBuilderRef Builder, LLVMBasicBlockRef BB)
void LLVMGetBasicBlocks(LLVMValueRef Fn, LLVMBasicBlockRef *BasicBlocks)
LLVMBasicBlockRef LLVMAppendBasicBlock(LLVMValueRef Fn, const char *Name)
LLVMValueRef LLVMGetBasicBlockTerminator(LLVMBasicBlockRef BB)
unsigned LLVMCountBasicBlocks(LLVMValueRef Fn)
void LLVMMoveBasicBlockAfter(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)
LLVMBasicBlockRef LLVMGetLastBasicBlock(LLVMValueRef Fn)
LLVMBasicBlockRef LLVMAppendBasicBlockInContext(LLVMContextRef C, LLVMValueRef Fn, const char *Name)
LLVMValueRef LLVMGetBasicBlockParent(LLVMBasicBlockRef BB)
LLVMValueRef LLVMGetFirstInstruction(LLVMBasicBlockRef BB)
LLVMValueRef LLVMGetLastInstruction(LLVMBasicBlockRef BB)
LLVMBasicBlockRef LLVMInsertBasicBlockInContext(LLVMContextRef C, LLVMBasicBlockRef BB, const char *Name)
LLVMBasicBlockRef LLVMInsertBasicBlock(LLVMBasicBlockRef InsertBeforeBB, const char *Name)
LLVMBasicBlockRef LLVMGetEntryBasicBlock(LLVMValueRef Fn)
LLVMBool LLVMValueIsBasicBlock(LLVMValueRef Val)
const char * LLVMGetBasicBlockName(LLVMBasicBlockRef BB)
LLVMBasicBlockRef LLVMGetPreviousBasicBlock(LLVMBasicBlockRef BB)
LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed)
LLVMValueRef LLVMConstArray(LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals, unsigned Length)
LLVMValueRef LLVMConstArray2(LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals, uint64_t Length)
LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsigned Size)
LLVMValueRef LLVMConstStringInContext(LLVMContextRef C, const char *Str, unsigned Length, LLVMBool DontNullTerminate)
LLVMValueRef LLVMConstNamedStruct(LLVMTypeRef StructTy, LLVMValueRef *ConstantVals, unsigned Count)
LLVMBool LLVMIsConstantString(LLVMValueRef c)
LLVMValueRef LLVMGetAggregateElement(LLVMValueRef C, unsigned Idx)
LLVMValueRef LLVMConstString(const char *Str, unsigned Length, LLVMBool DontNullTerminate)
const char * LLVMGetAsString(LLVMValueRef c, size_t *Length)
LLVMValueRef LLVMConstStructInContext(LLVMContextRef C, LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed)
LLVMValueRef LLVMConstPointerCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMConstMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstTruncOrBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMSizeOf(LLVMTypeRef Ty)
LLVMValueRef LLVMConstPtrToInt(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMConstNUWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstNUWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstIntToPtr(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMConstNot(LLVMValueRef ConstantVal)
LLVMValueRef LLVMConstNSWMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstExtractElement(LLVMValueRef VectorConstant, LLVMValueRef IndexConstant)
LLVMValueRef LLVMConstInsertElement(LLVMValueRef VectorConstant, LLVMValueRef ElementValueConstant, LLVMValueRef IndexConstant)
LLVMValueRef LLVMConstInBoundsGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef *ConstantIndices, unsigned NumIndices)
LLVMValueRef LLVMConstAddrSpaceCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMConstICmp(LLVMIntPredicate Predicate, LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstNSWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMAlignOf(LLVMTypeRef Ty)
LLVMValueRef LLVMConstInlineAsm(LLVMTypeRef Ty, const char *AsmString, const char *Constraints, LLVMBool HasSideEffects, LLVMBool IsAlignStack)
LLVMValueRef LLVMConstXor(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMConstNSWNeg(LLVMValueRef ConstantVal)
LLVMValueRef LLVMConstNUWMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstShl(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstFCmp(LLVMRealPredicate Predicate, LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstNUWNeg(LLVMValueRef ConstantVal)
LLVMValueRef LLVMConstGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef *ConstantIndices, unsigned NumIndices)
LLVMValueRef LLVMConstSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstShuffleVector(LLVMValueRef VectorAConstant, LLVMValueRef VectorBConstant, LLVMValueRef MaskConstant)
LLVMValueRef LLVMConstNeg(LLVMValueRef ConstantVal)
LLVMValueRef LLVMBlockAddress(LLVMValueRef F, LLVMBasicBlockRef BB)
LLVMOpcode LLVMGetConstOpcode(LLVMValueRef ConstantVal)
LLVMValueRef LLVMConstNSWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
void LLVMGlobalSetMetadata(LLVMValueRef Global, unsigned Kind, LLVMMetadataRef MD)
unsigned LLVMValueMetadataEntriesGetKind(LLVMValueMetadataEntry *Entries, unsigned Index)
void LLVMDisposeValueMetadataEntries(LLVMValueMetadataEntry *Entries)
void LLVMSetVisibility(LLVMValueRef Global, LLVMVisibility Viz)
LLVMDLLStorageClass LLVMGetDLLStorageClass(LLVMValueRef Global)
void LLVMSetAlignment(LLVMValueRef V, unsigned Bytes)
LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global)
const char * LLVMGetSection(LLVMValueRef Global)
LLVMTypeRef LLVMGlobalGetValueType(LLVMValueRef Global)
LLVMBool LLVMIsDeclaration(LLVMValueRef Global)
LLVMVisibility LLVMGetVisibility(LLVMValueRef Global)
void LLVMSetDLLStorageClass(LLVMValueRef Global, LLVMDLLStorageClass Class)
LLVMBool LLVMHasUnnamedAddr(LLVMValueRef Global)
LLVMLinkage LLVMGetLinkage(LLVMValueRef Global)
LLVMUnnamedAddr LLVMGetUnnamedAddress(LLVMValueRef Global)
LLVMMetadataRef LLVMValueMetadataEntriesGetMetadata(LLVMValueMetadataEntry *Entries, unsigned Index)
void LLVMSetUnnamedAddress(LLVMValueRef Global, LLVMUnnamedAddr UnnamedAddr)
void LLVMSetLinkage(LLVMValueRef Global, LLVMLinkage Linkage)
void LLVMSetUnnamedAddr(LLVMValueRef Global, LLVMBool HasUnnamedAddr)
void LLVMGlobalClearMetadata(LLVMValueRef Global)
unsigned LLVMGetAlignment(LLVMValueRef V)
void LLVMSetSection(LLVMValueRef Global, const char *Section)
void LLVMGlobalEraseMetadata(LLVMValueRef Global, unsigned Kind)
LLVMValueMetadataEntry * LLVMGlobalCopyAllMetadata(LLVMValueRef Value, size_t *NumEntries)
LLVMBool LLVMIsNull(LLVMValueRef Val)
LLVMValueRef LLVMGetUndef(LLVMTypeRef Ty)
LLVMValueRef LLVMGetPoison(LLVMTypeRef Ty)
LLVMValueRef LLVMConstAllOnes(LLVMTypeRef Ty)
LLVMValueRef LLVMConstPointerNull(LLVMTypeRef Ty)
LLVMValueRef LLVMConstNull(LLVMTypeRef Ty)
LLVMValueRef LLVMConstInt(LLVMTypeRef IntTy, unsigned long long N, LLVMBool SignExtend)
LLVMValueRef LLVMConstIntOfArbitraryPrecision(LLVMTypeRef IntTy, unsigned NumWords, const uint64_t Words[])
LLVMValueRef LLVMConstIntOfString(LLVMTypeRef IntTy, const char *Text, uint8_t Radix)
LLVMValueRef LLVMConstRealOfString(LLVMTypeRef RealTy, const char *Text)
LLVMValueRef LLVMConstRealOfStringAndSize(LLVMTypeRef RealTy, const char *Text, unsigned SLen)
double LLVMConstRealGetDouble(LLVMValueRef ConstantVal, LLVMBool *losesInfo)
long long LLVMConstIntGetSExtValue(LLVMValueRef ConstantVal)
unsigned long long LLVMConstIntGetZExtValue(LLVMValueRef ConstantVal)
LLVMValueRef LLVMConstIntOfStringAndSize(LLVMTypeRef IntTy, const char *Text, unsigned SLen, uint8_t Radix)
LLVMValueRef LLVMConstReal(LLVMTypeRef RealTy, double N)
void LLVMSetGC(LLVMValueRef Fn, const char *Name)
const char * LLVMGetGC(LLVMValueRef Fn)
void LLVMRemoveEnumAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx, unsigned KindID)
unsigned LLVMGetAttributeCountAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx)
LLVMBool LLVMHasPersonalityFn(LLVMValueRef Fn)
unsigned LLVMLookupIntrinsicID(const char *Name, size_t NameLen)
const char * LLVMIntrinsicGetName(unsigned ID, size_t *NameLength)
unsigned LLVMGetFunctionCallConv(LLVMValueRef Fn)
void LLVMRemoveStringAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
LLVMAttributeRef LLVMGetStringAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
LLVMValueRef LLVMGetPersonalityFn(LLVMValueRef Fn)
void LLVMSetPersonalityFn(LLVMValueRef Fn, LLVMValueRef PersonalityFn)
LLVMBool LLVMIntrinsicIsOverloaded(unsigned ID)
void LLVMAddAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx, LLVMAttributeRef A)
void LLVMDeleteFunction(LLVMValueRef Fn)
const char * LLVMIntrinsicCopyOverloadedName2(LLVMModuleRef Mod, unsigned ID, LLVMTypeRef *ParamTypes, size_t ParamCount, size_t *NameLength)
const char * LLVMIntrinsicCopyOverloadedName(unsigned ID, LLVMTypeRef *ParamTypes, size_t ParamCount, size_t *NameLength)
void LLVMGetAttributesAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx, LLVMAttributeRef *Attrs)
void LLVMSetFunctionCallConv(LLVMValueRef Fn, unsigned CC)
LLVMValueRef LLVMGetIntrinsicDeclaration(LLVMModuleRef Mod, unsigned ID, LLVMTypeRef *ParamTypes, size_t ParamCount)
LLVMAttributeRef LLVMGetEnumAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx, unsigned KindID)
void LLVMAddTargetDependentFunctionAttr(LLVMValueRef Fn, const char *A, const char *V)
LLVMTypeRef LLVMIntrinsicGetType(LLVMContextRef Ctx, unsigned ID, LLVMTypeRef *ParamTypes, size_t ParamCount)
unsigned LLVMGetIntrinsicID(LLVMValueRef Fn)
unsigned LLVMCountParams(LLVMValueRef Fn)
LLVMValueRef LLVMGetPreviousParam(LLVMValueRef Arg)
LLVMValueRef LLVMGetNextParam(LLVMValueRef Arg)
LLVMValueRef LLVMGetParamParent(LLVMValueRef Inst)
LLVMValueRef LLVMGetFirstParam(LLVMValueRef Fn)
void LLVMSetParamAlignment(LLVMValueRef Arg, unsigned Align)
LLVMValueRef LLVMGetParam(LLVMValueRef Fn, unsigned Index)
LLVMValueRef LLVMGetLastParam(LLVMValueRef Fn)
void LLVMGetParams(LLVMValueRef Fn, LLVMValueRef *Params)
LLVMValueKind LLVMGetValueKind(LLVMValueRef Val)
const char * LLVMGetValueName(LLVMValueRef Val)
LLVMTypeRef LLVMTypeOf(LLVMValueRef Val)
LLVMBool LLVMIsConstant(LLVMValueRef Val)
void LLVMReplaceAllUsesWith(LLVMValueRef OldVal, LLVMValueRef NewVal)
const char * LLVMGetValueName2(LLVMValueRef Val, size_t *Length)
void LLVMSetValueName(LLVMValueRef Val, const char *Name)
#define LLVM_DECLARE_VALUE_CAST(name)
Definition: Core.h:1884
void LLVMDumpValue(LLVMValueRef Val)
LLVMBool LLVMIsUndef(LLVMValueRef Val)
LLVMValueRef LLVMIsAMDNode(LLVMValueRef Val)
LLVMBool LLVMIsPoison(LLVMValueRef Val)
LLVMValueRef LLVMIsAMDString(LLVMValueRef Val)
void LLVMSetValueName2(LLVMValueRef Val, const char *Name, size_t NameLen)
LLVMValueRef LLVMIsAValueAsMetadata(LLVMValueRef Val)
char * LLVMPrintValueToString(LLVMValueRef Val)
void LLVMEraseGlobalIFunc(LLVMValueRef IFunc)
void LLVMRemoveGlobalIFunc(LLVMValueRef IFunc)
LLVMValueRef LLVMGetNextGlobalIFunc(LLVMValueRef IFunc)
LLVMValueRef LLVMGetNamedGlobalIFunc(LLVMModuleRef M, const char *Name, size_t NameLen)
LLVMValueRef LLVMGetLastGlobalIFunc(LLVMModuleRef M)
LLVMValueRef LLVMAddGlobalIFunc(LLVMModuleRef M, const char *Name, size_t NameLen, LLVMTypeRef Ty, unsigned AddrSpace, LLVMValueRef Resolver)
void LLVMSetGlobalIFuncResolver(LLVMValueRef IFunc, LLVMValueRef Resolver)
LLVMValueRef LLVMGetFirstGlobalIFunc(LLVMModuleRef M)
LLVMValueRef LLVMGetGlobalIFuncResolver(LLVMValueRef IFunc)
LLVMValueRef LLVMGetPreviousGlobalIFunc(LLVMValueRef IFunc)
LLVMTypeRef LLVMGetAllocatedType(LLVMValueRef Alloca)
LLVMOperandBundleRef LLVMGetOperandBundleAtIndex(LLVMValueRef C, unsigned Index)
LLVMValueRef LLVMGetCalledValue(LLVMValueRef Instr)
void LLVMGetCallSiteAttributes(LLVMValueRef C, LLVMAttributeIndex Idx, LLVMAttributeRef *Attrs)
unsigned LLVMGetNumArgOperands(LLVMValueRef Instr)
void LLVMSetNormalDest(LLVMValueRef InvokeInst, LLVMBasicBlockRef B)
unsigned LLVMGetInstructionCallConv(LLVMValueRef Instr)
LLVMTypeRef LLVMGetCalledFunctionType(LLVMValueRef C)
unsigned LLVMGetCallSiteAttributeCount(LLVMValueRef C, LLVMAttributeIndex Idx)
void LLVMAddCallSiteAttribute(LLVMValueRef C, LLVMAttributeIndex Idx, LLVMAttributeRef A)
unsigned LLVMGetNumOperandBundles(LLVMValueRef C)
void LLVMSetInstructionCallConv(LLVMValueRef Instr, unsigned CC)
LLVMAttributeRef LLVMGetCallSiteEnumAttribute(LLVMValueRef C, LLVMAttributeIndex Idx, unsigned KindID)
LLVMBasicBlockRef LLVMGetNormalDest(LLVMValueRef InvokeInst)
void LLVMRemoveCallSiteEnumAttribute(LLVMValueRef C, LLVMAttributeIndex Idx, unsigned KindID)
void LLVMSetUnwindDest(LLVMValueRef InvokeInst, LLVMBasicBlockRef B)
void LLVMSetTailCall(LLVMValueRef CallInst, LLVMBool IsTailCall)
LLVMBool LLVMIsTailCall(LLVMValueRef CallInst)
void LLVMSetInstrParamAlignment(LLVMValueRef Instr, LLVMAttributeIndex Idx, unsigned Align)
void LLVMRemoveCallSiteStringAttribute(LLVMValueRef C, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
LLVMTailCallKind LLVMGetTailCallKind(LLVMValueRef CallInst)
void LLVMSetTailCallKind(LLVMValueRef CallInst, LLVMTailCallKind kind)
LLVMAttributeRef LLVMGetCallSiteStringAttribute(LLVMValueRef C, LLVMAttributeIndex Idx, const char *K, unsigned KLen)
LLVMBasicBlockRef LLVMGetUnwindDest(LLVMValueRef InvokeInst)
LLVMTypeRef LLVMGetGEPSourceElementType(LLVMValueRef GEP)
LLVMBool LLVMIsInBounds(LLVMValueRef GEP)
void LLVMSetIsInBounds(LLVMValueRef GEP, LLVMBool InBounds)
LLVMValueRef LLVMInstructionClone(LLVMValueRef Inst)
LLVMValueRef LLVMGetNextInstruction(LLVMValueRef Inst)
void LLVMDeleteInstruction(LLVMValueRef Inst)
LLVMValueRef LLVMIsATerminatorInst(LLVMValueRef Inst)
LLVMOpcode LLVMGetInstructionOpcode(LLVMValueRef Inst)
LLVMValueMetadataEntry * LLVMInstructionGetAllMetadataOtherThanDebugLoc(LLVMValueRef Instr, size_t *NumEntries)
LLVMRealPredicate LLVMGetFCmpPredicate(LLVMValueRef Inst)
int LLVMHasMetadata(LLVMValueRef Val)
void LLVMInstructionEraseFromParent(LLVMValueRef Inst)
void LLVMInstructionRemoveFromParent(LLVMValueRef Inst)
LLVMValueRef LLVMGetMetadata(LLVMValueRef Val, unsigned KindID)
LLVMIntPredicate LLVMGetICmpPredicate(LLVMValueRef Inst)
void LLVMSetMetadata(LLVMValueRef Val, unsigned KindID, LLVMValueRef Node)
LLVMBasicBlockRef LLVMGetInstructionParent(LLVMValueRef Inst)
LLVMValueRef LLVMGetPreviousInstruction(LLVMValueRef Inst)
const unsigned * LLVMGetIndices(LLVMValueRef Inst)
unsigned LLVMGetNumIndices(LLVMValueRef Inst)
void LLVMAddIncoming(LLVMValueRef PhiNode, LLVMValueRef *IncomingValues, LLVMBasicBlockRef *IncomingBlocks, unsigned Count)
LLVMValueRef LLVMGetIncomingValue(LLVMValueRef PhiNode, unsigned Index)
unsigned LLVMCountIncoming(LLVMValueRef PhiNode)
LLVMBasicBlockRef LLVMGetIncomingBlock(LLVMValueRef PhiNode, unsigned Index)
unsigned LLVMGetNumSuccessors(LLVMValueRef Term)
LLVMBasicBlockRef LLVMGetSwitchDefaultDest(LLVMValueRef SwitchInstr)
void LLVMSetSuccessor(LLVMValueRef Term, unsigned i, LLVMBasicBlockRef block)
void LLVMSetCondition(LLVMValueRef Branch, LLVMValueRef Cond)
LLVMValueRef LLVMGetCondition(LLVMValueRef Branch)
LLVMBool LLVMIsConditional(LLVMValueRef Branch)
LLVMBasicBlockRef LLVMGetSuccessor(LLVMValueRef Term, unsigned i)
LLVMValueRef LLVMMetadataAsValue(LLVMContextRef C, LLVMMetadataRef MD)
LLVMValueRef LLVMMDString(const char *Str, unsigned SLen)
void LLVMReplaceMDNodeOperandWith(LLVMValueRef V, unsigned Index, LLVMMetadataRef Replacement)
LLVMMetadataRef LLVMMDStringInContext2(LLVMContextRef C, const char *Str, size_t SLen)
LLVMMetadataRef LLVMMDNodeInContext2(LLVMContextRef C, LLVMMetadataRef *MDs, size_t Count)
LLVMValueRef LLVMMDStringInContext(LLVMContextRef C, const char *Str, unsigned SLen)
LLVMMetadataRef LLVMValueAsMetadata(LLVMValueRef Val)
LLVMValueRef LLVMMDNodeInContext(LLVMContextRef C, LLVMValueRef *Vals, unsigned Count)
const char * LLVMGetMDString(LLVMValueRef V, unsigned *Length)
unsigned LLVMGetMDNodeNumOperands(LLVMValueRef V)
void LLVMGetMDNodeOperands(LLVMValueRef V, LLVMValueRef *Dest)
LLVMValueRef LLVMMDNode(LLVMValueRef *Vals, unsigned Count)
int LLVMGetNumOperands(LLVMValueRef Val)
void LLVMSetOperand(LLVMValueRef User, unsigned Index, LLVMValueRef Val)
LLVMUseRef LLVMGetOperandUse(LLVMValueRef Val, unsigned Index)
LLVMValueRef LLVMGetOperand(LLVMValueRef Val, unsigned Index)
LLVMValueRef LLVMGetUser(LLVMUseRef U)
LLVMUseRef LLVMGetFirstUse(LLVMValueRef Val)
LLVMUseRef LLVMGetNextUse(LLVMUseRef U)
LLVMValueRef LLVMGetUsedValue(LLVMUseRef U)
#define LLVM_FOR_EACH_VALUE_SUBCLASS(macro)
Definition: Core.h:1708
struct LLVMOpaqueValue * LLVMValueRef
Definition: Types.h:75
struct LLVMOpaqueAttributeRef * LLVMAttributeRef
Definition: Types.h:145
int LLVMBool
Definition: Types.h:28
struct LLVMOpaqueModuleFlagEntry LLVMModuleFlagEntry
Definition: Types.h:160
struct LLVMOpaqueNamedMDNode * LLVMNamedMDNodeRef
Definition: Types.h:96
struct LLVMOpaquePassManager * LLVMPassManagerRef
Definition: Types.h:127
struct LLVMOpaqueDiagnosticInfo * LLVMDiagnosticInfoRef
Definition: Types.h:150
struct LLVMOpaqueValueMetadataEntry LLVMValueMetadataEntry
Definition: Types.h:103
struct LLVMOpaqueMemoryBuffer * LLVMMemoryBufferRef
Definition: Types.h:48
struct LLVMOpaqueContext * LLVMContextRef
Definition: Types.h:53
struct LLVMOpaqueBuilder * LLVMBuilderRef
Definition: Types.h:110
struct LLVMOpaqueUse * LLVMUseRef
Definition: Types.h:133
struct LLVMOpaqueBasicBlock * LLVMBasicBlockRef
Definition: Types.h:82
struct LLVMOpaqueType * LLVMTypeRef
Definition: Types.h:68
struct LLVMOpaqueMetadata * LLVMMetadataRef
Definition: Types.h:89
struct LLVMOpaqueModule * LLVMModuleRef
Definition: Types.h:61
struct LLVMOpaqueModuleProvider * LLVMModuleProviderRef
Definition: Types.h:124
struct LLVMOpaqueOperandBundle * LLVMOperandBundleRef
Definition: Types.h:138
void LLVMAliasSetAliasee(LLVMValueRef Alias, LLVMValueRef Aliasee)
LLVMValueRef LLVMGetLastGlobalAlias(LLVMModuleRef M)
LLVMValueRef LLVMGetNextGlobalAlias(LLVMValueRef GA)
LLVMValueRef LLVMAliasGetAliasee(LLVMValueRef Alias)
LLVMValueRef LLVMGetPreviousGlobalAlias(LLVMValueRef GA)
LLVMValueRef LLVMAddAlias2(LLVMModuleRef M, LLVMTypeRef ValueTy, unsigned AddrSpace, LLVMValueRef Aliasee, const char *Name)
LLVMValueRef LLVMGetFirstGlobalAlias(LLVMModuleRef M)
LLVMValueRef LLVMGetNamedGlobalAlias(LLVMModuleRef M, const char *Name, size_t NameLen)
void LLVMSetGlobalConstant(LLVMValueRef GlobalVar, LLVMBool IsConstant)
void LLVMSetThreadLocalMode(LLVMValueRef GlobalVar, LLVMThreadLocalMode Mode)
LLVMThreadLocalMode LLVMGetThreadLocalMode(LLVMValueRef GlobalVar)
LLVMValueRef LLVMGetFirstGlobal(LLVMModuleRef M)
LLVMValueRef LLVMGetNextGlobal(LLVMValueRef GlobalVar)
LLVMBool LLVMIsExternallyInitialized(LLVMValueRef GlobalVar)
LLVMValueRef LLVMAddGlobal(LLVMModuleRef M, LLVMTypeRef Ty, const char *Name)
LLVMValueRef LLVMGetLastGlobal(LLVMModuleRef M)
void LLVMSetExternallyInitialized(LLVMValueRef GlobalVar, LLVMBool IsExtInit)
LLVMValueRef LLVMGetPreviousGlobal(LLVMValueRef GlobalVar)
void LLVMSetThreadLocal(LLVMValueRef GlobalVar, LLVMBool IsThreadLocal)
LLVMValueRef LLVMGetInitializer(LLVMValueRef GlobalVar)
void LLVMDeleteGlobal(LLVMValueRef GlobalVar)
LLVMBool LLVMIsThreadLocal(LLVMValueRef GlobalVar)
LLVMBool LLVMIsGlobalConstant(LLVMValueRef GlobalVar)
LLVMValueRef LLVMAddGlobalInAddressSpace(LLVMModuleRef M, LLVMTypeRef Ty, const char *Name, unsigned AddressSpace)
void LLVMSetInitializer(LLVMValueRef GlobalVar, LLVMValueRef ConstantVal)
LLVMValueRef LLVMGetNamedGlobal(LLVMModuleRef M, const char *Name)
ulong uint64_t
uchar uint8_t