mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 02:33:33 +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:
parent
f72596c04a
commit
56b22697d8
@ -456,12 +456,18 @@ LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsigned Size);
|
||||
/* Constant expressions */
|
||||
LLVMValueRef LLVMSizeOf(LLVMTypeRef Ty);
|
||||
LLVMValueRef LLVMConstNeg(LLVMValueRef ConstantVal);
|
||||
LLVMValueRef LLVMConstFNeg(LLVMValueRef ConstantVal);
|
||||
LLVMValueRef LLVMConstNot(LLVMValueRef ConstantVal);
|
||||
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 LLVMConstFSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||
LLVMValueRef LLVMConstMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||
LLVMValueRef LLVMConstFMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||
LLVMValueRef LLVMConstUDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||
LLVMValueRef LLVMConstSDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||
LLVMValueRef LLVMConstExactSDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||
LLVMValueRef LLVMConstFDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
|
||||
LLVMValueRef LLVMConstURem(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 LLVMConstGEP(LLVMValueRef ConstantVal,
|
||||
LLVMValueRef *ConstantIndices, unsigned NumIndices);
|
||||
LLVMValueRef LLVMConstInBoundsGEP(LLVMValueRef ConstantVal,
|
||||
LLVMValueRef *ConstantIndices,
|
||||
unsigned NumIndices);
|
||||
LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
|
||||
LLVMValueRef LLVMConstSExt(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 LLVMConstIntToPtr(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 ConstantIfTrue,
|
||||
LLVMValueRef ConstantIfFalse);
|
||||
|
@ -519,12 +519,17 @@ LLVMValueRef LLVMSizeOf(LLVMTypeRef Ty) {
|
||||
|
||||
LLVMValueRef LLVMConstNeg(LLVMValueRef ConstantVal) {
|
||||
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) {
|
||||
return wrap(ConstantExpr::getNot(
|
||||
unwrap<Constant>(ConstantVal)));
|
||||
unwrap<Constant>(ConstantVal)));
|
||||
}
|
||||
|
||||
LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) {
|
||||
@ -533,18 +538,42 @@ LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef 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) {
|
||||
return wrap(ConstantExpr::getSub(
|
||||
unwrap<Constant>(LHSConstant),
|
||||
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) {
|
||||
return wrap(ConstantExpr::getMul(
|
||||
unwrap<Constant>(LHSConstant),
|
||||
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) {
|
||||
return wrap(ConstantExpr::getUDiv(
|
||||
unwrap<Constant>(LHSConstant),
|
||||
@ -557,6 +586,13 @@ LLVMValueRef LLVMConstSDiv(LLVMValueRef LHSConstant, LLVMValueRef 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) {
|
||||
return wrap(ConstantExpr::getFDiv(
|
||||
unwrap<Constant>(LHSConstant),
|
||||
@ -640,6 +676,14 @@ LLVMValueRef LLVMConstGEP(LLVMValueRef ConstantVal,
|
||||
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) {
|
||||
return wrap(ConstantExpr::getTrunc(
|
||||
unwrap<Constant>(ConstantVal),
|
||||
@ -710,6 +754,48 @@ LLVMValueRef LLVMConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef 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 ConstantIfTrue,
|
||||
LLVMValueRef ConstantIfFalse) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user