mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-02 19:24:25 +00:00
Expose most of the Constant creation functions to llvm-c.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79160 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -456,12 +456,18 @@ LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsigned Size);
|
|||||||
/* Constant expressions */
|
/* Constant expressions */
|
||||||
LLVMValueRef LLVMSizeOf(LLVMTypeRef Ty);
|
LLVMValueRef LLVMSizeOf(LLVMTypeRef Ty);
|
||||||
LLVMValueRef LLVMConstNeg(LLVMValueRef ConstantVal);
|
LLVMValueRef LLVMConstNeg(LLVMValueRef ConstantVal);
|
||||||
|
LLVMValueRef LLVMConstFNeg(LLVMValueRef ConstantVal);
|
||||||
LLVMValueRef LLVMConstNot(LLVMValueRef ConstantVal);
|
LLVMValueRef LLVMConstNot(LLVMValueRef ConstantVal);
|
||||||
LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
|
LLVMValueRef LLVMConstNSWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
|
LLVMValueRef LLVMConstFAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
LLVMValueRef LLVMConstSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
LLVMValueRef LLVMConstSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
|
LLVMValueRef LLVMConstFSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
LLVMValueRef LLVMConstMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
LLVMValueRef LLVMConstMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
|
LLVMValueRef LLVMConstFMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
LLVMValueRef LLVMConstUDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
LLVMValueRef LLVMConstUDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
LLVMValueRef LLVMConstSDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
LLVMValueRef LLVMConstSDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
|
LLVMValueRef LLVMConstExactSDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
LLVMValueRef LLVMConstFDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
LLVMValueRef LLVMConstFDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
LLVMValueRef LLVMConstURem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
LLVMValueRef LLVMConstURem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
LLVMValueRef LLVMConstSRem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
LLVMValueRef LLVMConstSRem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
@ -478,6 +484,9 @@ LLVMValueRef LLVMConstLShr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
|||||||
LLVMValueRef LLVMConstAShr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
LLVMValueRef LLVMConstAShr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||||
LLVMValueRef LLVMConstGEP(LLVMValueRef ConstantVal,
|
LLVMValueRef LLVMConstGEP(LLVMValueRef ConstantVal,
|
||||||
LLVMValueRef *ConstantIndices, unsigned NumIndices);
|
LLVMValueRef *ConstantIndices, unsigned NumIndices);
|
||||||
|
LLVMValueRef LLVMConstInBoundsGEP(LLVMValueRef ConstantVal,
|
||||||
|
LLVMValueRef *ConstantIndices,
|
||||||
|
unsigned NumIndices);
|
||||||
LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
||||||
LLVMValueRef LLVMConstSExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
LLVMValueRef LLVMConstSExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
||||||
LLVMValueRef LLVMConstZExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
LLVMValueRef LLVMConstZExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
||||||
@ -490,6 +499,17 @@ LLVMValueRef LLVMConstFPToSI(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
|||||||
LLVMValueRef LLVMConstPtrToInt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
LLVMValueRef LLVMConstPtrToInt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
||||||
LLVMValueRef LLVMConstIntToPtr(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
LLVMValueRef LLVMConstIntToPtr(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
||||||
LLVMValueRef LLVMConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
LLVMValueRef LLVMConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
||||||
|
LLVMValueRef LLVMConstZExtOrBitCast(LLVMValueRef ConstantVal,
|
||||||
|
LLVMTypeRef ToType);
|
||||||
|
LLVMValueRef LLVMConstSExtOrBitCast(LLVMValueRef ConstantVal,
|
||||||
|
LLVMTypeRef ToType);
|
||||||
|
LLVMValueRef LLVMConstTruncOrBitCast(LLVMValueRef ConstantVal,
|
||||||
|
LLVMTypeRef ToType);
|
||||||
|
LLVMValueRef LLVMConstPointerCast(LLVMValueRef ConstantVal,
|
||||||
|
LLVMTypeRef ToType);
|
||||||
|
LLVMValueRef LLVMConstIntCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType,
|
||||||
|
unsigned isSigned);
|
||||||
|
LLVMValueRef LLVMConstFPCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
||||||
LLVMValueRef LLVMConstSelect(LLVMValueRef ConstantCondition,
|
LLVMValueRef LLVMConstSelect(LLVMValueRef ConstantCondition,
|
||||||
LLVMValueRef ConstantIfTrue,
|
LLVMValueRef ConstantIfTrue,
|
||||||
LLVMValueRef ConstantIfFalse);
|
LLVMValueRef ConstantIfFalse);
|
||||||
|
@ -519,12 +519,17 @@ LLVMValueRef LLVMSizeOf(LLVMTypeRef Ty) {
|
|||||||
|
|
||||||
LLVMValueRef LLVMConstNeg(LLVMValueRef ConstantVal) {
|
LLVMValueRef LLVMConstNeg(LLVMValueRef ConstantVal) {
|
||||||
return wrap(ConstantExpr::getNeg(
|
return wrap(ConstantExpr::getNeg(
|
||||||
unwrap<Constant>(ConstantVal)));
|
unwrap<Constant>(ConstantVal)));
|
||||||
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstFNeg(LLVMValueRef ConstantVal) {
|
||||||
|
return wrap(ConstantExpr::getFNeg(
|
||||||
|
unwrap<Constant>(ConstantVal)));
|
||||||
}
|
}
|
||||||
|
|
||||||
LLVMValueRef LLVMConstNot(LLVMValueRef ConstantVal) {
|
LLVMValueRef LLVMConstNot(LLVMValueRef ConstantVal) {
|
||||||
return wrap(ConstantExpr::getNot(
|
return wrap(ConstantExpr::getNot(
|
||||||
unwrap<Constant>(ConstantVal)));
|
unwrap<Constant>(ConstantVal)));
|
||||||
}
|
}
|
||||||
|
|
||||||
LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
||||||
@ -533,18 +538,42 @@ LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
|||||||
unwrap<Constant>(RHSConstant)));
|
unwrap<Constant>(RHSConstant)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstNSWAdd(LLVMValueRef LHSConstant,
|
||||||
|
LLVMValueRef RHSConstant) {
|
||||||
|
return wrap(ConstantExpr::getNSWAdd(
|
||||||
|
unwrap<Constant>(LHSConstant),
|
||||||
|
unwrap<Constant>(RHSConstant)));
|
||||||
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstFAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
||||||
|
return wrap(ConstantExpr::getFAdd(
|
||||||
|
unwrap<Constant>(LHSConstant),
|
||||||
|
unwrap<Constant>(RHSConstant)));
|
||||||
|
}
|
||||||
|
|
||||||
LLVMValueRef LLVMConstSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
LLVMValueRef LLVMConstSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
||||||
return wrap(ConstantExpr::getSub(
|
return wrap(ConstantExpr::getSub(
|
||||||
unwrap<Constant>(LHSConstant),
|
unwrap<Constant>(LHSConstant),
|
||||||
unwrap<Constant>(RHSConstant)));
|
unwrap<Constant>(RHSConstant)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstFSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
||||||
|
return wrap(ConstantExpr::getFSub(unwrap<Constant>(LHSConstant),
|
||||||
|
unwrap<Constant>(RHSConstant)));
|
||||||
|
}
|
||||||
|
|
||||||
LLVMValueRef LLVMConstMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
LLVMValueRef LLVMConstMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
||||||
return wrap(ConstantExpr::getMul(
|
return wrap(ConstantExpr::getMul(
|
||||||
unwrap<Constant>(LHSConstant),
|
unwrap<Constant>(LHSConstant),
|
||||||
unwrap<Constant>(RHSConstant)));
|
unwrap<Constant>(RHSConstant)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstFMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
||||||
|
return wrap(ConstantExpr::getFMul(
|
||||||
|
unwrap<Constant>(LHSConstant),
|
||||||
|
unwrap<Constant>(RHSConstant)));
|
||||||
|
}
|
||||||
|
|
||||||
LLVMValueRef LLVMConstUDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
LLVMValueRef LLVMConstUDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
||||||
return wrap(ConstantExpr::getUDiv(
|
return wrap(ConstantExpr::getUDiv(
|
||||||
unwrap<Constant>(LHSConstant),
|
unwrap<Constant>(LHSConstant),
|
||||||
@ -557,6 +586,13 @@ LLVMValueRef LLVMConstSDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
|||||||
unwrap<Constant>(RHSConstant)));
|
unwrap<Constant>(RHSConstant)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstExactSDiv(LLVMValueRef LHSConstant,
|
||||||
|
LLVMValueRef RHSConstant) {
|
||||||
|
return wrap(ConstantExpr::getExactSDiv(
|
||||||
|
unwrap<Constant>(LHSConstant),
|
||||||
|
unwrap<Constant>(RHSConstant)));
|
||||||
|
}
|
||||||
|
|
||||||
LLVMValueRef LLVMConstFDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
LLVMValueRef LLVMConstFDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
||||||
return wrap(ConstantExpr::getFDiv(
|
return wrap(ConstantExpr::getFDiv(
|
||||||
unwrap<Constant>(LHSConstant),
|
unwrap<Constant>(LHSConstant),
|
||||||
@ -640,6 +676,14 @@ LLVMValueRef LLVMConstGEP(LLVMValueRef ConstantVal,
|
|||||||
NumIndices));
|
NumIndices));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstInBoundsGEP(LLVMValueRef ConstantVal,
|
||||||
|
LLVMValueRef *ConstantIndices,
|
||||||
|
unsigned NumIndices) {
|
||||||
|
Constant* Val = unwrap<Constant>(ConstantVal);
|
||||||
|
Constant** Idxs = unwrap<Constant>(ConstantIndices, NumIndices);
|
||||||
|
return wrap(ConstantExpr::getInBoundsGetElementPtr(Val, Idxs, NumIndices));
|
||||||
|
}
|
||||||
|
|
||||||
LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType) {
|
LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType) {
|
||||||
return wrap(ConstantExpr::getTrunc(
|
return wrap(ConstantExpr::getTrunc(
|
||||||
unwrap<Constant>(ConstantVal),
|
unwrap<Constant>(ConstantVal),
|
||||||
@ -710,6 +754,48 @@ LLVMValueRef LLVMConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType) {
|
|||||||
unwrap(ToType)));
|
unwrap(ToType)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstZExtOrBitCast(LLVMValueRef ConstantVal,
|
||||||
|
LLVMTypeRef ToType) {
|
||||||
|
return wrap(ConstantExpr::getZExtOrBitCast(
|
||||||
|
unwrap<Constant>(ConstantVal),
|
||||||
|
unwrap(ToType)));
|
||||||
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstSExtOrBitCast(LLVMValueRef ConstantVal,
|
||||||
|
LLVMTypeRef ToType) {
|
||||||
|
return wrap(ConstantExpr::getSExtOrBitCast(
|
||||||
|
unwrap<Constant>(ConstantVal),
|
||||||
|
unwrap(ToType)));
|
||||||
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstTruncOrBitCast(LLVMValueRef ConstantVal,
|
||||||
|
LLVMTypeRef ToType) {
|
||||||
|
return wrap(ConstantExpr::getTruncOrBitCast(
|
||||||
|
unwrap<Constant>(ConstantVal),
|
||||||
|
unwrap(ToType)));
|
||||||
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstPointerCast(LLVMValueRef ConstantVal,
|
||||||
|
LLVMTypeRef ToType) {
|
||||||
|
return wrap(ConstantExpr::getPointerCast(
|
||||||
|
unwrap<Constant>(ConstantVal),
|
||||||
|
unwrap(ToType)));
|
||||||
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstIntCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType,
|
||||||
|
unsigned isSigned) {
|
||||||
|
return wrap(ConstantExpr::getIntegerCast(
|
||||||
|
unwrap<Constant>(ConstantVal),
|
||||||
|
unwrap(ToType),
|
||||||
|
isSigned));
|
||||||
|
}
|
||||||
|
|
||||||
|
LLVMValueRef LLVMConstFPCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType) {
|
||||||
|
return wrap(ConstantExpr::getFPCast(
|
||||||
|
unwrap<Constant>(ConstantVal),
|
||||||
|
unwrap(ToType)));
|
||||||
|
}
|
||||||
|
|
||||||
LLVMValueRef LLVMConstSelect(LLVMValueRef ConstantCondition,
|
LLVMValueRef LLVMConstSelect(LLVMValueRef ConstantCondition,
|
||||||
LLVMValueRef ConstantIfTrue,
|
LLVMValueRef ConstantIfTrue,
|
||||||
LLVMValueRef ConstantIfFalse) {
|
LLVMValueRef ConstantIfFalse) {
|
||||||
|
Reference in New Issue
Block a user