18 #include "llvm/Support/DataTypes.h"
567 char **ErrorMessage);
631 LLVMTypeRef FunctionTy);
843 LLVMTypeRef *ParamTypes,
unsigned ParamCount,
897 unsigned ElementCount, LLVMBool Packed);
904 LLVMTypeRef
LLVMStructType(LLVMTypeRef *ElementTypes,
unsigned ElementCount,
927 unsigned ElementCount, LLVMBool Packed);
993 LLVMTypeRef
LLVMArrayType(LLVMTypeRef ElementType,
unsigned ElementCount);
1032 LLVMTypeRef
LLVMVectorType(LLVMTypeRef ElementType,
unsigned ElementCount);
1105 #define LLVM_FOR_EACH_VALUE_SUBCLASS(macro) \
1113 macro(BlockAddress) \
1114 macro(ConstantAggregateZero) \
1115 macro(ConstantArray) \
1116 macro(ConstantDataSequential) \
1117 macro(ConstantDataArray) \
1118 macro(ConstantDataVector) \
1119 macro(ConstantExpr) \
1121 macro(ConstantInt) \
1122 macro(ConstantPointerNull) \
1123 macro(ConstantStruct) \
1124 macro(ConstantVector) \
1125 macro(GlobalValue) \
1127 macro(GlobalAlias) \
1128 macro(GlobalVariable) \
1130 macro(Instruction) \
1131 macro(BinaryOperator) \
1133 macro(IntrinsicInst) \
1134 macro(DbgInfoIntrinsic) \
1135 macro(DbgDeclareInst) \
1136 macro(MemIntrinsic) \
1138 macro(MemMoveInst) \
1143 macro(ExtractElementInst) \
1144 macro(GetElementPtrInst) \
1145 macro(InsertElementInst) \
1146 macro(InsertValueInst) \
1147 macro(LandingPadInst) \
1150 macro(ShuffleVectorInst) \
1152 macro(TerminatorInst) \
1154 macro(IndirectBrInst) \
1158 macro(UnreachableInst) \
1160 macro(UnaryInstruction) \
1163 macro(AddrSpaceCastInst) \
1164 macro(BitCastInst) \
1168 macro(FPTruncInst) \
1169 macro(IntToPtrInst) \
1170 macro(PtrToIntInst) \
1176 macro(ExtractValueInst) \
1254 #define LLVM_DECLARE_VALUE_CAST(name) \
1255 LLVMValueRef LLVMIsA##name(LLVMValueRef Val);
1337 void LLVMSetOperand(LLVMValueRef User,
unsigned Index, LLVMValueRef Val);
1426 LLVMValueRef
LLVMConstInt(LLVMTypeRef IntTy,
unsigned long long N,
1427 LLVMBool SignExtend);
1436 const uint64_t Words[]);
1457 unsigned SLen, uint8_t Radix);
1510 unsigned Length, LLVMBool DontNullTerminate);
1522 LLVMBool DontNullTerminate);
1530 LLVMValueRef *ConstantVals,
1531 unsigned Count, LLVMBool Packed);
1541 LLVMValueRef
LLVMConstStruct(LLVMValueRef *ConstantVals,
unsigned Count,
1550 LLVMValueRef *ConstantVals,
unsigned Length);
1558 LLVMValueRef *ConstantVals,
1566 LLVMValueRef
LLVMConstVector(LLVMValueRef *ScalarConstantVals,
unsigned Size);
1589 LLVMValueRef
LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1590 LLVMValueRef
LLVMConstNSWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1591 LLVMValueRef
LLVMConstNUWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1592 LLVMValueRef
LLVMConstFAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1593 LLVMValueRef
LLVMConstSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1594 LLVMValueRef
LLVMConstNSWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1595 LLVMValueRef
LLVMConstNUWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1596 LLVMValueRef
LLVMConstFSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1597 LLVMValueRef
LLVMConstMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1598 LLVMValueRef
LLVMConstNSWMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1599 LLVMValueRef
LLVMConstNUWMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1600 LLVMValueRef
LLVMConstFMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1601 LLVMValueRef
LLVMConstUDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1602 LLVMValueRef
LLVMConstSDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1604 LLVMValueRef
LLVMConstFDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1605 LLVMValueRef
LLVMConstURem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1606 LLVMValueRef
LLVMConstSRem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1607 LLVMValueRef
LLVMConstFRem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1608 LLVMValueRef
LLVMConstAnd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1609 LLVMValueRef
LLVMConstOr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1610 LLVMValueRef
LLVMConstXor(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1612 LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1614 LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1615 LLVMValueRef
LLVMConstShl(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1616 LLVMValueRef
LLVMConstLShr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1617 LLVMValueRef
LLVMConstAShr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
1619 LLVMValueRef *ConstantIndices,
unsigned NumIndices);
1621 LLVMValueRef *ConstantIndices,
1622 unsigned NumIndices);
1623 LLVMValueRef
LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
1624 LLVMValueRef
LLVMConstSExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
1625 LLVMValueRef
LLVMConstZExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
1626 LLVMValueRef
LLVMConstFPTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
1627 LLVMValueRef
LLVMConstFPExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
1628 LLVMValueRef
LLVMConstUIToFP(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
1629 LLVMValueRef
LLVMConstSIToFP(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
1630 LLVMValueRef
LLVMConstFPToUI(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
1631 LLVMValueRef
LLVMConstFPToSI(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
1634 LLVMValueRef
LLVMConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
1637 LLVMTypeRef ToType);
1639 LLVMTypeRef ToType);
1641 LLVMTypeRef ToType);
1643 LLVMTypeRef ToType);
1644 LLVMValueRef
LLVMConstIntCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType,
1646 LLVMValueRef
LLVMConstFPCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
1648 LLVMValueRef ConstantIfTrue,
1649 LLVMValueRef ConstantIfFalse);
1651 LLVMValueRef IndexConstant);
1653 LLVMValueRef ElementValueConstant,
1654 LLVMValueRef IndexConstant);
1656 LLVMValueRef VectorBConstant,
1657 LLVMValueRef MaskConstant);
1661 LLVMValueRef ElementValueConstant,
1662 unsigned *IdxList,
unsigned NumIdx);
1664 const
char *AsmString, const
char *Constraints,
1665 LLVMBool HasSideEffects, LLVMBool IsAlignStack);
1762 LLVMValueRef
LLVMAddAlias(LLVMModuleRef M, LLVMTypeRef Ty, LLVMValueRef Aliasee,
1826 void LLVMSetGC(LLVMValueRef Fn, const
char *Name);
1892 LLVMValueRef
LLVMGetParam(LLVMValueRef Fn,
unsigned Index);
1999 LLVMValueRef
LLVMMDString(const
char *Str,
unsigned SLen);
2012 LLVMValueRef
LLVMMDNode(LLVMValueRef *Vals,
unsigned Count);
2177 LLVMBasicBlockRef BB,
2271 void LLVMSetMetadata(LLVMValueRef Val,
unsigned KindID, LLVMValueRef Node);
2406 void LLVMAddIncoming(LLVMValueRef PhiNode, LLVMValueRef *IncomingValues,
2407 LLVMBasicBlockRef *IncomingBlocks,
unsigned Count);
2448 LLVMValueRef Instr);
2465 LLVMValueRef
LLVMBuildRet(LLVMBuilderRef, LLVMValueRef V);
2468 LLVMValueRef
LLVMBuildBr(LLVMBuilderRef, LLVMBasicBlockRef Dest);
2470 LLVMBasicBlockRef Then, LLVMBasicBlockRef Else);
2472 LLVMBasicBlockRef Else,
unsigned NumCases);
2476 LLVMValueRef *Args,
unsigned NumArgs,
2477 LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch,
2480 LLVMValueRef PersFn,
unsigned NumClauses,
2486 void LLVMAddCase(LLVMValueRef Switch, LLVMValueRef OnVal,
2487 LLVMBasicBlockRef Dest);
2493 void LLVMAddClause(LLVMValueRef LandingPad, LLVMValueRef ClauseVal);
2499 LLVMValueRef
LLVMBuildAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2501 LLVMValueRef
LLVMBuildNSWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2503 LLVMValueRef
LLVMBuildNUWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2505 LLVMValueRef
LLVMBuildFAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2507 LLVMValueRef
LLVMBuildSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2509 LLVMValueRef
LLVMBuildNSWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2511 LLVMValueRef
LLVMBuildNUWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2513 LLVMValueRef
LLVMBuildFSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2515 LLVMValueRef
LLVMBuildMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2517 LLVMValueRef
LLVMBuildNSWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2519 LLVMValueRef
LLVMBuildNUWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2521 LLVMValueRef
LLVMBuildFMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2523 LLVMValueRef
LLVMBuildUDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2525 LLVMValueRef
LLVMBuildSDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2529 LLVMValueRef
LLVMBuildFDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2531 LLVMValueRef
LLVMBuildURem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2533 LLVMValueRef
LLVMBuildSRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2535 LLVMValueRef
LLVMBuildFRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2537 LLVMValueRef
LLVMBuildShl(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2539 LLVMValueRef
LLVMBuildLShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2541 LLVMValueRef
LLVMBuildAShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2543 LLVMValueRef
LLVMBuildAnd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2545 LLVMValueRef
LLVMBuildOr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2547 LLVMValueRef
LLVMBuildXor(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
2550 LLVMValueRef LHS, LLVMValueRef RHS,
2552 LLVMValueRef
LLVMBuildNeg(LLVMBuilderRef, LLVMValueRef V, const
char *Name);
2557 LLVMValueRef
LLVMBuildFNeg(LLVMBuilderRef, LLVMValueRef V, const
char *Name);
2558 LLVMValueRef
LLVMBuildNot(LLVMBuilderRef, LLVMValueRef V, const
char *Name);
2561 LLVMValueRef
LLVMBuildMalloc(LLVMBuilderRef, LLVMTypeRef Ty, const
char *Name);
2563 LLVMValueRef Val, const
char *Name);
2564 LLVMValueRef
LLVMBuildAlloca(LLVMBuilderRef, LLVMTypeRef Ty, const
char *Name);
2566 LLVMValueRef Val, const
char *Name);
2567 LLVMValueRef
LLVMBuildFree(LLVMBuilderRef, LLVMValueRef PointerVal);
2568 LLVMValueRef
LLVMBuildLoad(LLVMBuilderRef, LLVMValueRef PointerVal,
2570 LLVMValueRef
LLVMBuildStore(LLVMBuilderRef, LLVMValueRef Val, LLVMValueRef Ptr);
2571 LLVMValueRef
LLVMBuildGEP(LLVMBuilderRef B, LLVMValueRef Pointer,
2572 LLVMValueRef *Indices,
unsigned NumIndices,
2575 LLVMValueRef *Indices,
unsigned NumIndices,
2578 unsigned Idx, const
char *Name);
2584 void LLVMSetVolatile(LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile);
2588 LLVMTypeRef DestTy, const
char *Name);
2589 LLVMValueRef
LLVMBuildZExt(LLVMBuilderRef, LLVMValueRef Val,
2590 LLVMTypeRef DestTy, const
char *Name);
2591 LLVMValueRef
LLVMBuildSExt(LLVMBuilderRef, LLVMValueRef Val,
2592 LLVMTypeRef DestTy, const
char *Name);
2594 LLVMTypeRef DestTy, const
char *Name);
2596 LLVMTypeRef DestTy, const
char *Name);
2598 LLVMTypeRef DestTy, const
char *Name);
2600 LLVMTypeRef DestTy, const
char *Name);
2602 LLVMTypeRef DestTy, const
char *Name);
2604 LLVMTypeRef DestTy, const
char *Name);
2606 LLVMTypeRef DestTy, const
char *Name);
2608 LLVMTypeRef DestTy, const
char *Name);
2610 LLVMTypeRef DestTy, const
char *Name);
2612 LLVMTypeRef DestTy, const
char *Name);
2614 LLVMTypeRef DestTy, const
char *Name);
2616 LLVMTypeRef DestTy, const
char *Name);
2618 LLVMTypeRef DestTy, const
char *Name);
2620 LLVMTypeRef DestTy, const
char *Name);
2622 LLVMTypeRef DestTy, const
char *Name);
2624 LLVMTypeRef DestTy, const
char *Name);
2626 LLVMTypeRef DestTy, const
char *Name);
2630 LLVMValueRef LHS, LLVMValueRef RHS,
2633 LLVMValueRef LHS, LLVMValueRef RHS,
2637 LLVMValueRef
LLVMBuildPhi(LLVMBuilderRef, LLVMTypeRef Ty, const
char *Name);
2639 LLVMValueRef *Args,
unsigned NumArgs,
2642 LLVMValueRef Then, LLVMValueRef Else,
2647 LLVMValueRef Index, const
char *Name);
2649 LLVMValueRef EltVal, LLVMValueRef Index,
2652 LLVMValueRef
V2, LLVMValueRef Mask,
2655 unsigned Index, const
char *Name);
2657 LLVMValueRef EltVal,
unsigned Index,
2665 LLVMValueRef RHS, const
char *Name);
2667 LLVMValueRef PTR, LLVMValueRef Val,
2669 LLVMBool singleThread);
2685 LLVMModuleProviderRef
2704 LLVMMemoryBufferRef *OutMemBuf,
2709 size_t InputDataLength,
2710 const
char *BufferName,
2711 LLVMBool RequiresNullTerminator);
2713 size_t InputDataLength,
2714 const
char *BufferName);
LLVMValueRef LLVMConstExactSDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstInlineAsm(LLVMTypeRef Ty, const char *AsmString, const char *Constraints, LLVMBool HasSideEffects, LLVMBool IsAlignStack)
const char * LLVMGetBufferStart(LLVMMemoryBufferRef MemBuf)
void LLVMDisposeBuilder(LLVMBuilderRef Builder)
LLVMValueRef LLVMConstNamedStruct(LLVMTypeRef StructTy, LLVMValueRef *ConstantVals, unsigned Count)
struct LLVMOpaqueType * LLVMTypeRef
LLVMBasicBlockRef LLVMInsertBasicBlockInContext(LLVMContextRef C, LLVMBasicBlockRef BB, const char *Name)
void LLVMGetStructElementTypes(LLVMTypeRef StructTy, LLVMTypeRef *Dest)
void LLVMGetParams(LLVMValueRef Fn, LLVMValueRef *Params)
LLVMValueRef LLVMGetInitializer(LLVMValueRef GlobalVar)
LLVMValueRef LLVMBuildICmp(LLVMBuilderRef, LLVMIntPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
unsigned LLVMGetPointerAddressSpace(LLVMTypeRef PointerTy)
LLVMValueRef LLVMBuildArrayAlloca(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Val, const char *Name)
LLVMValueRef LLVMConstXor(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMBuildZExt(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMBasicBlockRef LLVMGetEntryBasicBlock(LLVMValueRef Fn)
LLVMValueRef LLVMGetLastFunction(LLVMModuleRef M)
LLVMValueRef LLVMConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMConstUDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMBool LLVMTypeIsSized(LLVMTypeRef Ty)
LLVMValueRef LLVMConstSDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
void LLVMSetSection(LLVMValueRef Global, const char *Section)
void LLVMSetParamAlignment(LLVMValueRef Arg, unsigned align)
LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRangeCopy(const char *InputData, size_t InputDataLength, const char *BufferName)
LLVMValueRef LLVMGetIncomingValue(LLVMValueRef PhiNode, unsigned Index)
LLVMValueRef LLVMConstIntOfString(LLVMTypeRef IntTy, const char *Text, uint8_t Radix)
LLVMValueRef LLVMBuildAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMBuilderRef LLVMCreateBuilder(void)
LLVMValueRef LLVMGetNextParam(LLVMValueRef Arg)
LLVMValueRef LLVMBuildNUWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildStructGEP(LLVMBuilderRef B, LLVMValueRef Pointer, unsigned Idx, const char *Name)
LLVMValueRef LLVMGetNamedGlobal(LLVMModuleRef M, const char *Name)
LLVMBool LLVMIsOpaqueStruct(LLVMTypeRef StructTy)
LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRange(const char *InputData, size_t InputDataLength, const char *BufferName, LLVMBool RequiresNullTerminator)
LLVMValueRef LLVMGetFirstParam(LLVMValueRef Fn)
LLVMValueRef LLVMBuildSExt(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMAddAlias(LLVMModuleRef M, LLVMTypeRef Ty, LLVMValueRef Aliasee, const char *Name)
LLVMValueRef LLVMAlignOf(LLVMTypeRef Ty)
void LLVMStopMultithreaded(void)
void LLVMSetValueName(LLVMValueRef Val, const char *Name)
LLVMValueRef LLVMConstFPToUI(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
const char * LLVMGetGC(LLVMValueRef Fn)
LLVMPassManagerRef LLVMCreateFunctionPassManager(LLVMModuleProviderRef MP)
LLVMValueRef LLVMAddGlobal(LLVMModuleRef M, LLVMTypeRef Ty, const char *Name)
void LLVMAddAttribute(LLVMValueRef Arg, LLVMAttribute PA)
LLVMTypeRef LLVMHalfType(void)
LLVMValueRef LLVMBuildRet(LLVMBuilderRef, LLVMValueRef V)
LLVMBasicBlockRef LLVMGetNextBasicBlock(LLVMBasicBlockRef BB)
LLVMBool LLVMCreateMemoryBufferWithContentsOfFile(const char *Path, LLVMMemoryBufferRef *OutMemBuf, char **OutMessage)
char * LLVMCreateMessage(const char *Message)
LLVMPassManagerRef LLVMCreatePassManager(void)
LLVMTypeRef LLVMFP128Type(void)
LLVMValueRef LLVMBuildFPToUI(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
#define LLVM_FOR_EACH_VALUE_SUBCLASS(macro)
unsigned LLVMGetVectorSize(LLVMTypeRef VectorTy)
LLVMValueRef LLVMBuildCondBr(LLVMBuilderRef, LLVMValueRef If, LLVMBasicBlockRef Then, LLVMBasicBlockRef Else)
LLVMTypeRef LLVMX86MMXType(void)
LLVMValueRef LLVMBuildFNeg(LLVMBuilderRef, LLVMValueRef V, const char *Name)
LLVMValueRef LLVMBuildTruncOrBitCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildSDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMTypeRef LLVMX86FP80Type(void)
LLVMUseRef LLVMGetFirstUse(LLVMValueRef Val)
LLVMValueRef LLVMConstRealOfStringAndSize(LLVMTypeRef RealTy, const char *Text, unsigned SLen)
void LLVMClearInsertionPosition(LLVMBuilderRef Builder)
LLVMValueRef LLVMGetNextGlobal(LLVMValueRef GlobalVar)
LLVMTypeRef LLVMVectorType(LLVMTypeRef ElementType, unsigned ElementCount)
LLVMValueRef LLVMConstAnd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
unsigned LLVMGetMDKindIDInContext(LLVMContextRef C, const char *Name, unsigned SLen)
LLVMPassRegistryRef LLVMGetGlobalPassRegistry(void)
LLVMValueRef LLVMBuildCast(LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildFRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMConstSelect(LLVMValueRef ConstantCondition, LLVMValueRef ConstantIfTrue, LLVMValueRef ConstantIfFalse)
LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMBool LLVMValueIsBasicBlock(LLVMValueRef Val)
LLVMTypeRef LLVMStructTypeInContext(LLVMContextRef C, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
LLVMBasicBlockRef LLVMInsertBasicBlock(LLVMBasicBlockRef InsertBeforeBB, const char *Name)
int LLVMHasMetadata(LLVMValueRef Val)
const char * LLVMGetSection(LLVMValueRef Global)
LLVMTypeRef LLVMInt16TypeInContext(LLVMContextRef C)
void LLVMGetNamedMetadataOperands(LLVMModuleRef M, const char *name, LLVMValueRef *Dest)
LLVMValueRef LLVMConstAddrSpaceCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
void LLVMRemoveFunctionAttr(LLVMValueRef Fn, LLVMAttribute PA)
void LLVMContextDispose(LLVMContextRef C)
void LLVMSetGlobalConstant(LLVMValueRef GlobalVar, LLVMBool IsConstant)
void LLVMSetThreadLocal(LLVMValueRef GlobalVar, LLVMBool IsThreadLocal)
LLVMValueRef LLVMConstNull(LLVMTypeRef Ty)
LLVMValueRef LLVMConstReal(LLVMTypeRef RealTy, double N)
LLVMValueRef LLVMBuildPointerCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMBool LLVMInitializeFunctionPassManager(LLVMPassManagerRef FPM)
void LLVMSetOperand(LLVMValueRef User, unsigned Index, LLVMValueRef Val)
long long LLVMConstIntGetSExtValue(LLVMValueRef ConstantVal)
void LLVMResetFatalErrorHandler(void)
LLVMOpcode LLVMGetInstructionOpcode(LLVMValueRef Inst)
LLVMTypeRef LLVMFP128TypeInContext(LLVMContextRef C)
const char * LLVMGetStructName(LLVMTypeRef Ty)
LLVMBasicBlockRef LLVMGetLastBasicBlock(LLVMValueRef Fn)
LLVMValueRef LLVMBasicBlockAsValue(LLVMBasicBlockRef BB)
void LLVMAddFunctionAttr(LLVMValueRef Fn, LLVMAttribute PA)
LLVMTypeRef LLVMLabelTypeInContext(LLVMContextRef C)
LLVMTypeRef LLVMDoubleTypeInContext(LLVMContextRef C)
LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsigned Size)
LLVMValueRef LLVMBuildExactSDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMSizeOf(LLVMTypeRef Ty)
LLVMBool LLVMIsNull(LLVMValueRef Val)
LLVMValueRef LLVMConstShuffleVector(LLVMValueRef VectorAConstant, LLVMValueRef VectorBConstant, LLVMValueRef MaskConstant)
LLVMValueRef LLVMConstRealOfString(LLVMTypeRef RealTy, const char *Text)
LLVMValueRef LLVMBuildAggregateRet(LLVMBuilderRef, LLVMValueRef *RetVals, unsigned N)
void LLVMPositionBuilder(LLVMBuilderRef Builder, LLVMBasicBlockRef Block, LLVMValueRef Instr)
LLVMTypeRef LLVMInt8TypeInContext(LLVMContextRef C)
unsigned LLVMGetFunctionCallConv(LLVMValueRef Fn)
LLVMValueRef LLVMConstIntCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType, LLVMBool isSigned)
LLVMValueRef LLVMConstNUWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstFSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
unsigned LLVMGetIntTypeWidth(LLVMTypeRef IntegerTy)
LLVMBool LLVMIsExternallyInitialized(LLVMValueRef GlobalVar)
LLVMValueRef LLVMConstAShr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMGetBasicBlockParent(LLVMBasicBlockRef BB)
LLVMValueRef LLVMGetLastParam(LLVMValueRef Fn)
LLVMValueRef LLVMConstICmp(LLVMIntPredicate Predicate, LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
struct LLVMOpaqueMemoryBuffer * LLVMMemoryBufferRef
LLVMValueRef LLVMGetUndef(LLVMTypeRef Ty)
void LLVMSetVisibility(LLVMValueRef Global, LLVMVisibility Viz)
void LLVMAddNamedMetadataOperand(LLVMModuleRef M, const char *name, LLVMValueRef Val)
LLVMValueRef LLVMConstSExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMGetPreviousGlobal(LLVMValueRef GlobalVar)
LLVMValueRef LLVMBuildNSWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMGetFirstInstruction(LLVMBasicBlockRef BB)
LLVMTypeRef LLVMFloatType(void)
void LLVMDisposeMessage(char *Message)
LLVMValueRef LLVMConstFPCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
struct LLVMOpaqueModuleProvider * LLVMModuleProviderRef
LLVMValueRef LLVMBuildSRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMGetPreviousInstruction(LLVMValueRef Inst)
void LLVMMoveBasicBlockBefore(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)
LLVMValueRef LLVMConstInsertElement(LLVMValueRef VectorConstant, LLVMValueRef ElementValueConstant, LLVMValueRef IndexConstant)
void LLVMGetParamTypes(LLVMTypeRef FunctionTy, LLVMTypeRef *Dest)
char * LLVMPrintModuleToString(LLVMModuleRef M)
void LLVMDisposeModule(LLVMModuleRef M)
void LLVMSetInstDebugLocation(LLVMBuilderRef Builder, LLVMValueRef Inst)
LLVMBool LLVMIsGlobalConstant(LLVMValueRef GlobalVar)
LLVMValueRef LLVMConstStructInContext(LLVMContextRef C, LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed)
LLVMBool LLVMIsTailCall(LLVMValueRef CallInst)
LLVMValueRef LLVMBlockAddress(LLVMValueRef F, LLVMBasicBlockRef BB)
LLVMValueRef LLVMConstZExtOrBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMConstGEP(LLVMValueRef ConstantVal, LLVMValueRef *ConstantIndices, unsigned NumIndices)
LLVMValueRef LLVMConstInBoundsGEP(LLVMValueRef ConstantVal, LLVMValueRef *ConstantIndices, unsigned NumIndices)
LLVMValueRef LLVMBuildOr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMDeleteFunction(LLVMValueRef Fn)
LLVMValueRef LLVMBuildFDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMConstFPToSI(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMBasicBlockRef LLVMGetPreviousBasicBlock(LLVMBasicBlockRef BB)
LLVMValueRef LLVMGetFirstGlobal(LLVMModuleRef M)
void LLVMDumpModule(LLVMModuleRef M)
unsigned LLVMCountIncoming(LLVMValueRef PhiNode)
LLVMValueRef LLVMBuildIntCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMTypeRef LLVMFloatTypeInContext(LLVMContextRef C)
unsigned long long LLVMConstIntGetZExtValue(LLVMValueRef ConstantVal)
LLVMValueRef LLVMConstFMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMGetLastInstruction(LLVMBasicBlockRef BB)
LLVMValueRef LLVMBuildSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMUseRef LLVMGetNextUse(LLVMUseRef U)
LLVMValueRef LLVMAddFunction(LLVMModuleRef M, const char *Name, LLVMTypeRef FunctionTy)
LLVMValueRef LLVMBuildFAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMConstIntOfStringAndSize(LLVMTypeRef IntTy, const char *Text, unsigned SLen, uint8_t Radix)
unsigned LLVMCountParamTypes(LLVMTypeRef FunctionTy)
LLVMValueRef LLVMBuildNUWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildPtrToInt(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMTypeRef LLVMStructCreateNamed(LLVMContextRef C, const char *Name)
LLVMValueRef LLVMConstInt(LLVMTypeRef IntTy, unsigned long long N, LLVMBool SignExtend)
size_t LLVMGetBufferSize(LLVMMemoryBufferRef MemBuf)
LLVMValueRef LLVMBuildAnd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMSetLinkage(LLVMValueRef Global, LLVMLinkage Linkage)
unsigned LLVMGetIntrinsicID(LLVMValueRef Fn)
void LLVMAddTargetDependentFunctionAttr(LLVMValueRef Fn, const char *A, const char *V)
void(* LLVMFatalErrorHandler)(const char *Reason)
LLVMBasicBlockRef LLVMGetInstructionParent(LLVMValueRef Inst)
LLVMTypeRef LLVMInt64TypeInContext(LLVMContextRef C)
LLVMValueRef LLVMGetLastGlobal(LLVMModuleRef M)
LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
unsigned LLVMGetArrayLength(LLVMTypeRef ArrayTy)
void LLVMDisposePassManager(LLVMPassManagerRef PM)
LLVMValueRef LLVMBuildIsNull(LLVMBuilderRef, LLVMValueRef Val, const char *Name)
void LLVMSetVolatile(LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile)
LLVMTypeRef LLVMVoidTypeInContext(LLVMContextRef C)
LLVMValueRef LLVMConstNSWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstNSWNeg(LLVMValueRef ConstantVal)
void LLVMSetTarget(LLVMModuleRef M, const char *Triple)
LLVMBasicBlockRef LLVMGetFirstBasicBlock(LLVMValueRef Fn)
LLVMValueRef LLVMBuildNUWNeg(LLVMBuilderRef B, LLVMValueRef V, const char *Name)
void LLVMSetCurrentDebugLocation(LLVMBuilderRef Builder, LLVMValueRef L)
void LLVMPositionBuilderAtEnd(LLVMBuilderRef Builder, LLVMBasicBlockRef Block)
void LLVMStructSetBody(LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
LLVMValueRef LLVMBuildShl(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildInsertElement(LLVMBuilderRef, LLVMValueRef VecVal, LLVMValueRef EltVal, LLVMValueRef Index, const char *Name)
LLVMValueRef LLVMBuildAlloca(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)
LLVMTypeRef LLVMInt32Type(void)
LLVMValueRef LLVMBuildPhi(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)
LLVMValueRef LLVMGetMetadata(LLVMValueRef Val, unsigned KindID)
void LLVMAddClause(LLVMValueRef LandingPad, LLVMValueRef ClauseVal)
unsigned LLVMCountBasicBlocks(LLVMValueRef Fn)
LLVMBool LLVMIsPackedStruct(LLVMTypeRef StructTy)
void LLVMReplaceAllUsesWith(LLVMValueRef OldVal, LLVMValueRef NewVal)
LLVMValueRef LLVMBuildFPToSI(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMBool LLVMStartMultithreaded(void)
LLVMContextRef LLVMGetModuleContext(LLVMModuleRef M)
LLVMValueRef LLVMConstFDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
#define LLVM_DECLARE_VALUE_CAST(name)
LLVMValueRef LLVMBuildNSWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMGetNamedFunction(LLVMModuleRef M, const char *Name)
LLVMValueRef LLVMConstFNeg(LLVMValueRef ConstantVal)
unsigned LLVMCountStructElementTypes(LLVMTypeRef StructTy)
LLVMThreadLocalMode LLVMGetThreadLocalMode(LLVMValueRef GlobalVar)
LLVMValueRef LLVMBuildSIToFP(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
char * LLVMPrintValueToString(LLVMValueRef Val)
LLVMValueRef LLVMBuildExtractElement(LLVMBuilderRef, LLVMValueRef VecVal, LLVMValueRef Index, const char *Name)
LLVMValueRef LLVMBuildFMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMTypeRef LLVMPPCFP128TypeInContext(LLVMContextRef C)
LLVMValueRef LLVMBuildPtrDiff(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildInBoundsGEP(LLVMBuilderRef B, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name)
LLVMValueRef LLVMConstNUWMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstExtractValue(LLVMValueRef AggConstant, unsigned *IdxList, unsigned NumIdx)
void LLVMAddDestination(LLVMValueRef IndirectBr, LLVMBasicBlockRef Dest)
LLVMValueRef LLVMConstOr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
void LLVMInstructionEraseFromParent(LLVMValueRef Inst)
void LLVMSetInstrParamAlignment(LLVMValueRef Instr, unsigned index, unsigned align)
void LLVMMoveBasicBlockAfter(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)
LLVMValueRef LLVMGetUsedValue(LLVMUseRef U)
LLVMTypeRef LLVMArrayType(LLVMTypeRef ElementType, unsigned ElementCount)
LLVMBool LLVMIsUndef(LLVMValueRef Val)
LLVMValueRef LLVMBuildResume(LLVMBuilderRef B, LLVMValueRef Exn)
void LLVMEnablePrettyStackTrace(void)
struct LLVMOpaqueContext * LLVMContextRef
LLVMValueRef LLVMConstString(const char *Str, unsigned Length, LLVMBool DontNullTerminate)
LLVMTypeRef LLVMIntTypeInContext(LLVMContextRef C, unsigned NumBits)
LLVMValueRef LLVMConstSRem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMBuildUnreachable(LLVMBuilderRef)
LLVMValueRef LLVMBuildInvoke(LLVMBuilderRef, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, const char *Name)
LLVMTypeRef LLVMPPCFP128Type(void)
LLVMValueRef LLVMConstIntToPtr(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMConstPointerCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMBuildNot(LLVMBuilderRef, LLVMValueRef V, const char *Name)
LLVMBasicBlockRef LLVMGetInsertBlock(LLVMBuilderRef Builder)
const char * LLVMGetTarget(LLVMModuleRef M)
LLVMTypeRef LLVMInt16Type(void)
void LLVMPositionBuilderBefore(LLVMBuilderRef Builder, LLVMValueRef Instr)
LLVMTypeRef LLVMGetTypeByName(LLVMModuleRef M, const char *Name)
LLVMOpcode LLVMGetConstOpcode(LLVMValueRef ConstantVal)
unsigned LLVMGetInstructionCallConv(LLVMValueRef Instr)
void LLVMDumpValue(LLVMValueRef Val)
LLVMValueRef LLVMConstSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstUIToFP(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
int LLVMGetNumOperands(LLVMValueRef Val)
LLVMValueRef LLVMBuildGEP(LLVMBuilderRef B, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name)
LLVMValueRef LLVMAddGlobalInAddressSpace(LLVMModuleRef M, LLVMTypeRef Ty, const char *Name, unsigned AddressSpace)
LLVMValueRef LLVMBuildTrunc(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
const char * LLVMGetDataLayout(LLVMModuleRef M)
LLVMValueRef LLVMGetParam(LLVMValueRef Fn, unsigned Index)
struct LLVMOpaqueValue * LLVMValueRef
LLVMValueRef LLVMConstStringInContext(LLVMContextRef C, const char *Str, unsigned Length, LLVMBool DontNullTerminate)
LLVMValueRef LLVMConstURem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMTypeRef LLVMVoidType(void)
LLVMValueRef LLVMBuildCall(LLVMBuilderRef, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, const char *Name)
LLVMBasicBlockRef LLVMAppendBasicBlockInContext(LLVMContextRef C, LLVMValueRef Fn, const char *Name)
LLVMTypeRef LLVMGetElementType(LLVMTypeRef Ty)
LLVMValueRef LLVMBuildNeg(LLVMBuilderRef, LLVMValueRef V, const char *Name)
void LLVMDisposeMemoryBuffer(LLVMMemoryBufferRef MemBuf)
LLVMValueRef LLVMBuildUIToFP(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
void LLVMSetFunctionCallConv(LLVMValueRef Fn, unsigned CC)
void LLVMGetBasicBlocks(LLVMValueRef Fn, LLVMBasicBlockRef *BasicBlocks)
unsigned LLVMGetNamedMetadataNumOperands(LLVMModuleRef M, const char *name)
LLVMContextRef LLVMGetTypeContext(LLVMTypeRef Ty)
LLVMValueRef LLVMGetOperand(LLVMValueRef Val, unsigned Index)
LLVMValueRef LLVMConstTruncOrBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
unsigned LLVMCountParams(LLVMValueRef Fn)
LLVMModuleProviderRef LLVMCreateModuleProviderForExistingModule(LLVMModuleRef M)
void LLVMInsertIntoBuilder(LLVMBuilderRef Builder, LLVMValueRef Instr)
LLVMValueRef LLVMBuildFPCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMBasicBlockRef LLVMGetSwitchDefaultDest(LLVMValueRef SwitchInstr)
LLVMValueRef LLVMBuildRetVoid(LLVMBuilderRef)
LLVMValueRef LLVMBuildGlobalString(LLVMBuilderRef B, const char *Str, const char *Name)
LLVMValueRef LLVMConstPointerNull(LLVMTypeRef Ty)
void LLVMSetInitializer(LLVMValueRef GlobalVar, LLVMValueRef ConstantVal)
LLVMVisibility LLVMGetVisibility(LLVMValueRef Global)
LLVMValueRef LLVMConstNUWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
void LLVMInitializeCore(LLVMPassRegistryRef R)
LLVMContextRef LLVMContextCreate(void)
struct LLVMOpaquePassRegistry * LLVMPassRegistryRef
LLVMTypeKind LLVMGetTypeKind(LLVMTypeRef Ty)
LLVMTypeRef LLVMTypeOf(LLVMValueRef Val)
LLVMValueRef LLVMConstAllOnes(LLVMTypeRef Ty)
LLVMValueRef LLVMConstFPTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
struct LLVMOpaqueBasicBlock * LLVMBasicBlockRef
LLVMValueRef LLVMConstInsertValue(LLVMValueRef AggConstant, LLVMValueRef ElementValueConstant, unsigned *IdxList, unsigned NumIdx)
LLVMValueRef LLVMBuildURem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMTypeRef LLVMLabelType(void)
LLVMValueRef LLVMBuildFCmp(LLVMBuilderRef, LLVMRealPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMGetNextInstruction(LLVMValueRef Inst)
void LLVMDeleteGlobal(LLVMValueRef GlobalVar)
LLVMValueRef LLVMConstSExtOrBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMBuildXor(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildUDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMRemoveInstrAttribute(LLVMValueRef Instr, unsigned index, LLVMAttribute)
LLVMBool LLVMIsFunctionVarArg(LLVMTypeRef FunctionTy)
LLVMValueRef LLVMGetCurrentDebugLocation(LLVMBuilderRef Builder)
LLVMTypeRef LLVMDoubleType(void)
void LLVMSetDataLayout(LLVMModuleRef M, const char *Triple)
LLVMValueRef LLVMBuildInsertValue(LLVMBuilderRef, LLVMValueRef AggVal, LLVMValueRef EltVal, unsigned Index, const char *Name)
LLVMValueRef LLVMGetUser(LLVMUseRef U)
LLVMValueRef LLVMConstFPExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMTypeRef LLVMStructType(LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
LLVMValueRef LLVMBuildShuffleVector(LLVMBuilderRef, LLVMValueRef V1, LLVMValueRef V2, LLVMValueRef Mask, const char *Name)
LLVMValueRef LLVMBuildGlobalStringPtr(LLVMBuilderRef B, const char *Str, const char *Name)
void LLVMSetExternallyInitialized(LLVMValueRef GlobalVar, LLVMBool IsExtInit)
void LLVMRemoveAttribute(LLVMValueRef Arg, LLVMAttribute PA)
LLVMValueRef LLVMBuildMalloc(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)
LLVMValueRef LLVMBuildFree(LLVMBuilderRef, LLVMValueRef PointerVal)
LLVMTypeRef LLVMFunctionType(LLVMTypeRef ReturnType, LLVMTypeRef *ParamTypes, unsigned ParamCount, LLVMBool IsVarArg)
LLVMValueRef LLVMBuildBitCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMBool LLVMIsThreadLocal(LLVMValueRef GlobalVar)
LLVMValueRef LLVMConstPtrToInt(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMBool LLVMRunPassManager(LLVMPassManagerRef PM, LLVMModuleRef M)
LLVMValueRef LLVMGetBasicBlockTerminator(LLVMBasicBlockRef BB)
LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed)
LLVMValueRef LLVMConstFCmp(LLVMRealPredicate Predicate, LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMTypeRef LLVMX86MMXTypeInContext(LLVMContextRef C)
LLVMValueRef LLVMConstMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMBool LLVMIsDeclaration(LLVMValueRef Global)
LLVMValueRef LLVMBuildFPExt(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMConstNeg(LLVMValueRef ConstantVal)
void LLVMAddIncoming(LLVMValueRef PhiNode, LLVMValueRef *IncomingValues, LLVMBasicBlockRef *IncomingBlocks, unsigned Count)
LLVMValueRef LLVMBuildExtractValue(LLVMBuilderRef, LLVMValueRef AggVal, unsigned Index, const char *Name)
LLVMValueRef LLVMBuildAShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
void LLVMRemoveBasicBlockFromParent(LLVMBasicBlockRef BB)
LLVMValueRef LLVMConstFAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMConstNSWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMValueRef LLVMBuildMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMGetPreviousParam(LLVMValueRef Arg)
LLVMModuleRef LLVMModuleCreateWithName(const char *ModuleID)
void LLVMAddCase(LLVMValueRef Switch, LLVMValueRef OnVal, LLVMBasicBlockRef Dest)
LLVMValueRef LLVMBuildArrayMalloc(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Val, const char *Name)
void LLVMInstallFatalErrorHandler(LLVMFatalErrorHandler Handler)
struct LLVMOpaquePassManager * LLVMPassManagerRef
char * LLVMPrintTypeToString(LLVMTypeRef Val)
LLVMValueRef LLVMBuildIntToPtr(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMConstIntOfArbitraryPrecision(LLVMTypeRef IntTy, unsigned NumWords, const uint64_t Words[])
LLVMTypeRef LLVMInt64Type(void)
LLVMTypeRef LLVMHalfTypeInContext(LLVMContextRef C)
LLVMBasicBlockRef LLVMAppendBasicBlock(LLVMValueRef Fn, const char *Name)
LLVMValueRef LLVMConstNUWNeg(LLVMValueRef ConstantVal)
LLVMValueRef LLVMBuildAtomicRMW(LLVMBuilderRef B, LLVMAtomicRMWBinOp op, LLVMValueRef PTR, LLVMValueRef Val, LLVMAtomicOrdering ordering, LLVMBool singleThread)
void LLVMDeleteBasicBlock(LLVMBasicBlockRef BB)
LLVMValueRef LLVMBuildLShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildIsNotNull(LLVMBuilderRef, LLVMValueRef Val, const char *Name)
unsigned LLVMGetMDKindID(const char *Name, unsigned SLen)
LLVMBool LLVMIsConstant(LLVMValueRef Val)
LLVMValueRef LLVMBuildFSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMBasicBlockRef LLVMGetIncomingBlock(LLVMValueRef PhiNode, unsigned Index)
LLVMTypeRef LLVMInt1TypeInContext(LLVMContextRef C)
LLVMBool LLVMGetVolatile(LLVMValueRef MemoryAccessInst)
LLVMTypeRef LLVMInt1Type(void)
LLVMTypeRef LLVMIntType(unsigned NumBits)
void LLVMSetInstructionCallConv(LLVMValueRef Instr, unsigned CC)
LLVMPassManagerRef LLVMCreateFunctionPassManagerForModule(LLVMModuleRef M)
LLVMModuleRef LLVMModuleCreateWithNameInContext(const char *ModuleID, LLVMContextRef C)
LLVMValueRef LLVMBuildSwitch(LLVMBuilderRef, LLVMValueRef V, LLVMBasicBlockRef Else, unsigned NumCases)
LLVMValueRef LLVMConstArray(LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals, unsigned Length)
struct LLVMOpaqueUse * LLVMUseRef
void LLVMDumpType(LLVMTypeRef Val)
LLVMTypeRef LLVMInt8Type(void)
LLVMValueRef LLVMConstSIToFP(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMValueRef LLVMConstLShr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMBool LLVMFinalizeFunctionPassManager(LLVMPassManagerRef FPM)
LLVMIntPredicate LLVMGetICmpPredicate(LLVMValueRef Inst)
void LLVMSetCleanup(LLVMValueRef LandingPad, LLVMBool Val)
LLVMValueRef LLVMConstShl(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
struct LLVMOpaqueModule * LLVMModuleRef
LLVMValueRef LLVMBuildNUWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMConstNot(LLVMValueRef ConstantVal)
LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef PersFn, unsigned NumClauses, const char *Name)
LLVMValueRef LLVMGetFirstFunction(LLVMModuleRef M)
LLVMAttribute LLVMGetAttribute(LLVMValueRef Arg)
LLVMBool LLVMPrintModuleToFile(LLVMModuleRef M, const char *Filename, char **ErrorMessage)
LLVMValueRef LLVMBuildVAArg(LLVMBuilderRef, LLVMValueRef List, LLVMTypeRef Ty, const char *Name)
void LLVMSetThreadLocalMode(LLVMValueRef GlobalVar, LLVMThreadLocalMode Mode)
LLVMBuilderRef LLVMCreateBuilderInContext(LLVMContextRef C)
void LLVMSetMetadata(LLVMValueRef Val, unsigned KindID, LLVMValueRef Node)
LLVMValueRef LLVMGetParamParent(LLVMValueRef Inst)
const char * LLVMGetValueName(LLVMValueRef Val)
LLVMValueRef LLVMBuildSExtOrBitCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMBuildBr(LLVMBuilderRef, LLVMBasicBlockRef Dest)
LLVMValueRef LLVMBuildZExtOrBitCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMBool LLVMCreateMemoryBufferWithSTDIN(LLVMMemoryBufferRef *OutMemBuf, char **OutMessage)
LLVMLinkage LLVMGetLinkage(LLVMValueRef Global)
LLVMBasicBlockRef LLVMValueAsBasicBlock(LLVMValueRef Val)
LLVMValueRef LLVMGetPreviousFunction(LLVMValueRef Fn)
LLVMValueRef LLVMBuildIndirectBr(LLVMBuilderRef B, LLVMValueRef Addr, unsigned NumDests)
void LLVMSetGC(LLVMValueRef Fn, const char *Name)
LLVMValueRef LLVMBuildNSWNeg(LLVMBuilderRef B, LLVMValueRef V, const char *Name)
LLVMTypeRef LLVMGetReturnType(LLVMTypeRef FunctionTy)
LLVMValueRef LLVMBuildNSWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
LLVMValueRef LLVMBuildStore(LLVMBuilderRef, LLVMValueRef Val, LLVMValueRef Ptr)
LLVMValueRef LLVMBuildBinOp(LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)
struct LLVMOpaqueBuilder * LLVMBuilderRef
LLVMValueRef LLVMConstZExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType)
LLVMBool LLVMIsMultithreaded(void)
LLVMContextRef LLVMGetGlobalContext(void)
LLVMValueRef LLVMConstNSWMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
LLVMTypeRef LLVMInt32TypeInContext(LLVMContextRef C)
LLVMBool LLVMRunFunctionPassManager(LLVMPassManagerRef FPM, LLVMValueRef F)
LLVMTypeRef LLVMPointerType(LLVMTypeRef ElementType, unsigned AddressSpace)
LLVMValueRef LLVMBuildLoad(LLVMBuilderRef, LLVMValueRef PointerVal, const char *Name)
void LLVMAddInstrAttribute(LLVMValueRef Instr, unsigned index, LLVMAttribute)
LLVMValueRef LLVMConstExtractElement(LLVMValueRef VectorConstant, LLVMValueRef IndexConstant)
void LLVMSetTailCall(LLVMValueRef CallInst, LLVMBool IsTailCall)
void LLVMSetModuleInlineAsm(LLVMModuleRef M, const char *Asm)
LLVMValueRef LLVMBuildAddrSpaceCast(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
LLVMValueRef LLVMConstFRem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)
unsigned LLVMGetAlignment(LLVMValueRef V)
LLVMValueRef LLVMGetNextFunction(LLVMValueRef Fn)
void LLVMDisposeModuleProvider(LLVMModuleProviderRef M)
LLVMValueRef LLVMBuildSelect(LLVMBuilderRef, LLVMValueRef If, LLVMValueRef Then, LLVMValueRef Else, const char *Name)
LLVMTypeRef LLVMX86FP80TypeInContext(LLVMContextRef C)
LLVMAttribute LLVMGetFunctionAttr(LLVMValueRef Fn)
void LLVMInsertIntoBuilderWithName(LLVMBuilderRef Builder, LLVMValueRef Instr, const char *Name)
LLVMValueRef LLVMBuildFPTrunc(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)
void LLVMSetAlignment(LLVMValueRef V, unsigned Bytes)
LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global)