mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-16 07:14:09 +02:00
Added bitcode emission, additional logging
This commit is contained in:
parent
1e8c633a36
commit
43b69023f6
14 changed files with 74 additions and 31 deletions
|
@ -21,7 +21,7 @@ namespace IDE.Compiler
|
|||
EmitLineInfo = 2,
|
||||
WriteIR = 4,
|
||||
GenerateOBJ = 8,
|
||||
NoFramePointerElim = 0x10,
|
||||
GenerateBitcode = 0x10,
|
||||
ClearLocalVars = 0x20,
|
||||
RuntimeChecks = 0x40,
|
||||
EmitDynamicCastCheck = 0x80,
|
||||
|
@ -32,7 +32,9 @@ namespace IDE.Compiler
|
|||
EnableSideStack = 0x1000,
|
||||
EnableHotSwapping = 0x2000,
|
||||
IncrementalBuild = 0x4000,
|
||||
DebugAlloc = 0x8000
|
||||
DebugAlloc = 0x8000,
|
||||
OmitDebugHelpers = 0x10000,
|
||||
NoFramePointerElim = 0x20000,
|
||||
}
|
||||
|
||||
[StdCall, CLink]
|
||||
|
@ -491,8 +493,10 @@ namespace IDE.Compiler
|
|||
}
|
||||
else
|
||||
{
|
||||
SetOpt((options.mIntermediateType == .IRCode) || (options.mIntermediateType == .ObjectAndIRCode), .WriteIR);
|
||||
SetOpt((options.mIntermediateType == .Object) || (options.mIntermediateType == .ObjectAndIRCode), .GenerateOBJ);
|
||||
SetOpt((options.mIntermediateType == .IRCode) || (options.mIntermediateType == .ObjectAndIRCode) || (options.mIntermediateType == .BitcodeAndIRCode), .WriteIR);
|
||||
SetOpt((options.mIntermediateType == .Object) || (options.mIntermediateType == .ObjectAndIRCode) ||
|
||||
(options.mIntermediateType == .Bitcode) || (options.mIntermediateType == .BitcodeAndIRCode), .GenerateOBJ);
|
||||
SetOpt((options.mIntermediateType == .Bitcode) || (options.mIntermediateType == .BitcodeAndIRCode), .GenerateBitcode);
|
||||
}
|
||||
SetOpt(options.mNoOmitFramePointers, .NoFramePointerElim);
|
||||
SetOpt(options.mInitLocalVariables, .ClearLocalVars);
|
||||
|
|
|
@ -158,10 +158,6 @@ namespace IDE.Compiler
|
|||
|
||||
public void SetSource(String data, String fileName)
|
||||
{
|
||||
if (fileName.Contains("main4.cs"))
|
||||
{
|
||||
}
|
||||
|
||||
Debug.Assert(!mIsUsed);
|
||||
mIsUsed = true;
|
||||
BfParser_SetSource(mNativeBfParser, data, (int32)data.Length, fileName);
|
||||
|
|
|
@ -79,6 +79,9 @@ namespace IDE.Compiler
|
|||
[StdCall, CLink]
|
||||
extern static void BfSystem_DbgPrintTimings();
|
||||
|
||||
[StdCall, CLink]
|
||||
extern static void BfSystem_Log(void* bfSystem, char8* str);
|
||||
|
||||
public void* mNativeBfSystem;
|
||||
public bool mIsTiming;
|
||||
public Monitor mMonitor = new Monitor() ~ delete _;
|
||||
|
@ -360,5 +363,10 @@ namespace IDE.Compiler
|
|||
AddTypeOptions(typeOption.mFilter, typeOption.mBfSIMDSetting, typeOption.mBfOptimizationLevel, typeOption.mEmitDebugInfo, typeOption.mRuntimeChecks,
|
||||
typeOption.mInitLocalVariables, typeOption.mEmitDynamicCastCheck, typeOption.mEmitObjectAccessCheck, typeOption.mAllocStackTraceDepth);
|
||||
}
|
||||
|
||||
public void Log(String str)
|
||||
{
|
||||
BfSystem_Log(mNativeBfSystem, str);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue