1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 03:28:20 +02:00

var-return support for const eval methods

This commit is contained in:
Brian Fiete 2020-12-30 13:24:13 -08:00
parent 585e2575e8
commit 706fe9e04b
15 changed files with 292 additions and 60 deletions

View file

@ -518,6 +518,7 @@ public:
String mName;
#endif
BfIRLinkageType mLinkageType;
bool mIsVarReturn;
bool mAlwaysInline;
bool mNoUnwind;
bool mUWTable;
@ -539,6 +540,7 @@ public:
mLinkageType = BfIRLinkageType_External;
mModule = NULL;
mDbgFunction = NULL;
mIsVarReturn = false;
mAlwaysInline = false;
mDidInlinePass = false;
mNoUnwind = false;
@ -1265,6 +1267,15 @@ public:
}
};
class BeSetRetInst : public BeRetInst
{
public:
BE_VALUE_TYPE(BeSetRetInst, BeRetInst);
public:
int32 mReturnTypeId;
};
class BeCallInst : public BeInst
{
public:
@ -2311,6 +2322,7 @@ public:
BeCondBrInst* CreateCondBr(BeValue* cond, BeBlock* trueBlock, BeBlock* falseBlock);
BeRetInst* CreateRetVoid();
BeRetInst* CreateRet(BeValue* value);
BeSetRetInst* CreateSetRet(BeValue* value, int returnTypeId);
BeCallInst* CreateCall(BeValue* func, const SizedArrayImpl<BeValue*>& args);