mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
More const eval progress
This commit is contained in:
parent
a3ea79cd62
commit
9b80c26d0a
26 changed files with 1673 additions and 460 deletions
|
@ -118,6 +118,7 @@ enum BfConstType
|
|||
BfConstType_GEP32_2,
|
||||
BfConstType_ExtractValue,
|
||||
BfConstType_PtrToInt,
|
||||
BfConstType_IntToPtr,
|
||||
BfConstType_TypeOf,
|
||||
BfConstType_AggZero,
|
||||
BfConstType_Array,
|
||||
|
@ -282,6 +283,7 @@ enum BfIRCmd : uint8
|
|||
BfIRCmd_Func_SetLinkage,
|
||||
|
||||
BfIRCmd_ConstEval_GetBfType,
|
||||
BfIRCmd_ConstEval_GetReflectType,
|
||||
BfIRCmd_ConstEval_DynamicCastCheck,
|
||||
BfIRCmd_ConstEval_GetVirtualFunc,
|
||||
BfIRCmd_ConstEval_GetInterfaceFunc,
|
||||
|
@ -831,6 +833,13 @@ struct BfConstantPtrToInt
|
|||
BfTypeCode mToTypeCode;
|
||||
};
|
||||
|
||||
struct BfConstantIntToPtr
|
||||
{
|
||||
BfConstType mConstType;
|
||||
int mTarget;
|
||||
BfIRType mToType;
|
||||
};
|
||||
|
||||
struct BfConstantGEP32_2
|
||||
{
|
||||
BfConstType mConstType;
|
||||
|
@ -1230,9 +1239,10 @@ public:
|
|||
void Func_SetLinkage(BfIRFunction func, BfIRLinkageType linkage);
|
||||
|
||||
BfIRValue ConstEval_GetBfType(int typeId, BfIRType resultType);
|
||||
BfIRValue ConstEval_GetReflectType(int typeId, BfIRType resultType);
|
||||
BfIRValue ConstEval_DynamicCastCheck(BfIRValue value, int typeId, BfIRType resultType);
|
||||
BfIRValue ConstEval_GetVirtualFunc(BfIRValue value, int virtualTableId, BfIRType resultType);
|
||||
BfIRValue ConstEval_GetInterfaceFunc(BfIRValue value, int typeId, int virtualTableId, BfIRType resultType);
|
||||
BfIRValue ConstEval_GetInterfaceFunc(BfIRValue value, int typeId, int methodIdx, BfIRType resultType);
|
||||
|
||||
void SaveDebugLocation();
|
||||
void RestoreDebugLocation();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue