From dd6c4988e50bca3681d8d8f441e95a7404874ea0 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Thu, 20 Mar 2025 09:25:46 -0400 Subject: [PATCH] Upgrade to LLVM 19.1.7 --- .gitignore | 1 + BeefBoot/BeefBoot.vcxproj | 4 ++-- Debugger32/Debugger32.vcxproj | 4 ++-- Debugger64/Debugger64.vcxproj | 4 ++-- IDEHelper/Compiler/BfCompiler.cpp | 1 + IDEHelper/Compiler/BfIRCodeGen.cpp | 31 ++++++++++++++++++------------ IDEHelper/Compiler/BfIRCodeGen.h | 4 ++-- IDEHelper/IDEHelper.vcxproj | 12 ++++++------ bin/build.bat | 8 ++++---- extern/llvm_build.bat | 30 ++++++++++++++++++----------- 10 files changed, 58 insertions(+), 41 deletions(-) diff --git a/.gitignore b/.gitignore index 3afa4ac6..9c070a9e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ SDL2.dll *.vcxproj.user */llvm-* */llvm_* +*/_llvm* */x64/* **/Debug/* **/Debug */* diff --git a/BeefBoot/BeefBoot.vcxproj b/BeefBoot/BeefBoot.vcxproj index cab7e38c..d317bbad 100644 --- a/BeefBoot/BeefBoot.vcxproj +++ b/BeefBoot/BeefBoot.vcxproj @@ -108,7 +108,7 @@ Level3 Disabled _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_18_1_4\llvm\include;..\extern\llvm_win64_18_1_4\include;..\extern\llvm-project_18_1_4\llvm\lib\Target;..\extern\llvm_win64_18_1_4\lib\Target\X86;..\extern\llvm-project_18_1_4\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_19_1_7\llvm\include;..\extern\llvm_win64_19_1_7\include;..\extern\llvm-project_19_1_7\llvm\lib\Target;..\extern\llvm_win64_19_1_7\lib\Target\X86;..\extern\llvm-project_19_1_7\llvm\tools\clang\include true false MultiThreadedDebug @@ -152,7 +152,7 @@ true NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true - ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_18_1_4\llvm\include;..\extern\llvm_win64_18_1_4\include;..\extern\llvm-project_18_1_4\llvm\lib\Target;..\extern\llvm_win64_18_1_4\lib\Target\X86;..\extern\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_19_1_7\llvm\include;..\extern\llvm_win64_19_1_7\include;..\extern\llvm-project_19_1_7\llvm\lib\Target;..\extern\llvm_win64_19_1_7\lib\Target\X86;..\extern\llvm\tools\clang\include MultiThreaded false true diff --git a/Debugger32/Debugger32.vcxproj b/Debugger32/Debugger32.vcxproj index b69779d5..cf4c0544 100644 --- a/Debugger32/Debugger32.vcxproj +++ b/Debugger32/Debugger32.vcxproj @@ -147,7 +147,7 @@ Level3 Disabled BF_DBG_32;WIN32;_DEBUG;_WINDOWS;_USRDLL;IDEHELPER_EXPORTS;BFSYSLIB_DYNAMIC;%(PreprocessorDefinitions) - ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_18_1_4\llvm\include;..\extern\llvm_win64_18_1_4\include;..\extern\llvm-project_18_1_4\llvm\lib\Target;..\extern\llvm_win64_18_1_4\lib\Target\X86;..\extern\llvm-project_18_1_4\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_19_1_7\llvm\include;..\extern\llvm_win64_19_1_7\include;..\extern\llvm-project_19_1_7\llvm\lib\Target;..\extern\llvm_win64_19_1_7\lib\Target\X86;..\extern\llvm-project_19_1_7\llvm\tools\clang\include false -D_SCL_SECURE_NO_WARNINGS %(AdditionalOptions) false @@ -189,7 +189,7 @@ true true BF_DBG_32;WIN32;NDEBUG;_WINDOWS;_USRDLL;IDEHELPER_EXPORTS;BFSYSLIB_DYNAMIC;%(PreprocessorDefinitions) - ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_18_1_4\llvm\include;..\extern\llvm_win64_18_1_4\include;..\extern\llvm-project_18_1_4\llvm\lib\Target;..\extern\llvm_win64_18_1_4\lib\Target\X86;..\extern\llvm-project_18_1_4\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_19_1_7\llvm\include;..\extern\llvm_win64_19_1_7\include;..\extern\llvm-project_19_1_7\llvm\lib\Target;..\extern\llvm_win64_19_1_7\lib\Target\X86;..\extern\llvm-project_19_1_7\llvm\tools\clang\include MultiThreaded false true diff --git a/Debugger64/Debugger64.vcxproj b/Debugger64/Debugger64.vcxproj index 93d39f2b..406a08de 100644 --- a/Debugger64/Debugger64.vcxproj +++ b/Debugger64/Debugger64.vcxproj @@ -147,7 +147,7 @@ Level3 Disabled BF_DBG_64;WIN32;_DEBUG;_WINDOWS;_USRDLL;IDEHELPER_EXPORTS;BFSYSLIB_DYNAMIC;%(PreprocessorDefinitions) - ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_18_1_4\llvm\include;..\extern\llvm_win64_18_1_4\include;..\extern\llvm-project_18_1_4\llvm\lib\Target;..\extern\llvm_win64_18_1_4\lib\Target\X86;..\extern\llvm-project_18_1_4\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_19_1_7\llvm\include;..\extern\llvm_win64_19_1_7\include;..\extern\llvm-project_19_1_7\llvm\lib\Target;..\extern\llvm_win64_19_1_7\lib\Target\X86;..\extern\llvm-project_19_1_7\llvm\tools\clang\include false -D_SCL_SECURE_NO_WARNINGS %(AdditionalOptions) false @@ -189,7 +189,7 @@ true true BF_DBG_64;WIN32;NDEBUG;_WINDOWS;_USRDLL;IDEHELPER_EXPORTS;BFSYSLIB_DYNAMIC;%(PreprocessorDefinitions) - ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_18_1_4\llvm\include;..\extern\llvm_win64_18_1_4\include;..\extern\llvm-project_18_1_4\llvm\lib\Target;..\extern\llvm_win64_18_1_4\lib\Target\X86;..\extern\llvm-project_18_1_4\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_19_1_7\llvm\include;..\extern\llvm_win64_19_1_7\include;..\extern\llvm-project_19_1_7\llvm\lib\Target;..\extern\llvm_win64_19_1_7\lib\Target\X86;..\extern\llvm-project_19_1_7\llvm\tools\clang\include MultiThreaded false true diff --git a/IDEHelper/Compiler/BfCompiler.cpp b/IDEHelper/Compiler/BfCompiler.cpp index d586c8f0..3a1303a2 100644 --- a/IDEHelper/Compiler/BfCompiler.cpp +++ b/IDEHelper/Compiler/BfCompiler.cpp @@ -18,6 +18,7 @@ #include "llvm/IR/DebugInfo.h" #include "llvm/IR/Argument.h" #include "llvm/IR/Constants.h" +#include "llvm/IR/Module.h" #include "BfCompiler.h" #include "BfSystem.h" diff --git a/IDEHelper/Compiler/BfIRCodeGen.cpp b/IDEHelper/Compiler/BfIRCodeGen.cpp index 5515a416..dc7593e7 100644 --- a/IDEHelper/Compiler/BfIRCodeGen.cpp +++ b/IDEHelper/Compiler/BfIRCodeGen.cpp @@ -2050,6 +2050,7 @@ void BfIRCodeGen::HandleNextCmd() mPtrSize = ptrSize; mIsOptimized = isOptimized; mLLVMModule = new llvm::Module(moduleName.c_str(), *mLLVMContext); + mLLVMModule->setIsNewDbgInfoFormat(false); mIRBuilder = new llvm::IRBuilder<>(*mLLVMContext); //OutputDebugStrF("-------- Starting Module %s --------\n", moduleName.c_str()); @@ -2368,10 +2369,10 @@ void BfIRCodeGen::HandleNextCmd() llvm::Value* retVal = NULL; - if (BfIRBuilder::IsInt(typeCode)) + if (BfIRBuilder::IsIntable(typeCode)) { // Int -> Int - if ((BfIRBuilder::IsInt(valTypeCode)) || (valTypeCode == BfTypeCode_Boolean)) + if ((BfIRBuilder::IsIntable(valTypeCode)) || (valTypeCode == BfTypeCode_Boolean)) { retVal = mIRBuilder->CreateIntCast(val, toLLVMType, toSigned && valIsSigned); } @@ -2386,7 +2387,7 @@ void BfIRCodeGen::HandleNextCmd() else { // Int -> Float - if ((BfIRBuilder::IsInt(valTypeCode)) || (valTypeCode == BfTypeCode_Boolean)) + if ((BfIRBuilder::IsIntable(valTypeCode)) || (valTypeCode == BfTypeCode_Boolean)) { if (BfIRBuilder::IsSigned(valTypeCode)) retVal = mIRBuilder->CreateSIToFP(val, toLLVMType); @@ -2742,7 +2743,7 @@ void BfIRCodeGen::HandleNextCmd() BfIRTypeEx* elemType = GetTypeMember(compositeType, elemIdx); BfIRTypedValue result; - result.mValue = mIRBuilder->CreateInBoundsGEP(compositeType->mLLVMType, val.mValue, llvm::makeArrayRef(indices)); + result.mValue = mIRBuilder->CreateInBoundsGEP(compositeType->mLLVMType, val.mValue, llvm::ArrayRef(indices)); result.mTypeEx = GetPointerTypeEx(elemType); SetResult(curId, result); } @@ -2770,7 +2771,7 @@ void BfIRCodeGen::HandleNextCmd() BfIRTypedValue result; result.mTypeEx = elemType; - result.mValue = mIRBuilder->CreateExtractValue(val.mValue, llvm::makeArrayRef((unsigned)idx)); + result.mValue = mIRBuilder->CreateExtractValue(val.mValue, llvm::ArrayRef((unsigned)idx)); SetResult(curId, result); } break; @@ -2782,7 +2783,7 @@ void BfIRCodeGen::HandleNextCmd() BfIRTypedValue result; result.mTypeEx = agg.mTypeEx; - result.mValue = mIRBuilder->CreateInsertValue(agg.mValue, val.mValue, llvm::makeArrayRef((unsigned)idx)); + result.mValue = mIRBuilder->CreateInsertValue(agg.mValue, val.mValue, llvm::ArrayRef((unsigned)idx)); SetResult(curId, result); } break; @@ -3964,7 +3965,7 @@ void BfIRCodeGen::HandleNextCmd() llvm::Value* gepArgs[] = { llvm::ConstantInt::get(llvm::Type::getInt32Ty(*mLLVMContext), 0), args[1].mValue }; - auto gep = mIRBuilder->CreateInBoundsGEP(GetLLVMPointerElementType(args[0].mTypeEx), args[0].mValue, llvm::makeArrayRef(gepArgs)); + auto gep = mIRBuilder->CreateInBoundsGEP(GetLLVMPointerElementType(args[0].mTypeEx), args[0].mValue, llvm::ArrayRef(gepArgs)); if (args.size() >= 3) mIRBuilder->CreateStore(args[2].mValue, gep); else @@ -5480,13 +5481,19 @@ void BfIRCodeGen::HandleNextCmd() { if (insertBeforeInst != NULL) { - SetResult(curId, mDIBuilder->insertDeclare(val, (llvm::DILocalVariable*)varInfo, mDIBuilder->createExpression(), - mIRBuilder->getCurrentDebugLocation(), insertBeforeInst)); + auto& dbgResult = mDIBuilder->insertDeclare(val, (llvm::DILocalVariable*)varInfo, mDIBuilder->createExpression(), + mIRBuilder->getCurrentDebugLocation(), insertBeforeInst); + bool isA = dbgResult.is(); + auto inst = dbgResult.get(); + SetResult(curId, inst); } else { - SetResult(curId, mDIBuilder->insertDeclare(val, (llvm::DILocalVariable*)varInfo, mDIBuilder->createExpression(), - mIRBuilder->getCurrentDebugLocation(), mIRBuilder->GetInsertBlock())); + auto& dbgResult = mDIBuilder->insertDeclare(val, (llvm::DILocalVariable*)varInfo, mDIBuilder->createExpression(), + mIRBuilder->getCurrentDebugLocation(), mIRBuilder->GetInsertBlock()); + bool isA = dbgResult.is(); + auto inst = dbgResult.get(); + SetResult(curId, inst); } } } @@ -6083,7 +6090,7 @@ void BfIRCodeGen::RunOptimizationPipeline(const llvm::Triple& targetTriple) // Now that we have all of the passes ready, run them. { //PrettyStackTraceString CrashInfo("Optimizer"); - llvm::TimeTraceScope TimeScope("Optimizer"); + //llvm::TimeTraceScope TimeScope("Optimizer"); MPM.run(*mLLVMModule, MAM); } } diff --git a/IDEHelper/Compiler/BfIRCodeGen.h b/IDEHelper/Compiler/BfIRCodeGen.h index 05957450..2b20e8f8 100644 --- a/IDEHelper/Compiler/BfIRCodeGen.h +++ b/IDEHelper/Compiler/BfIRCodeGen.h @@ -21,7 +21,7 @@ namespace llvm class Module; class LLVMContext; class TargetMachine; - class Triple; + class Triple; }; NS_BF_BEGIN @@ -196,7 +196,7 @@ public: void SetResult(int id, llvm::Type* value); void SetResult(int id, BfIRTypeEx* typeEx); void SetResult(int id, llvm::BasicBlock* value); - void SetResult(int id, llvm::MDNode* value); + void SetResult(int id, llvm::MDNode* value); void CreateMemSet(llvm::Value* addr, llvm::Value* val, llvm::Value* size, int alignment, bool isVolatile = false); void AddNop(); llvm::Value* TryToVector(const BfIRTypedValue& value); diff --git a/IDEHelper/IDEHelper.vcxproj b/IDEHelper/IDEHelper.vcxproj index 03458baa..f373f506 100644 --- a/IDEHelper/IDEHelper.vcxproj +++ b/IDEHelper/IDEHelper.vcxproj @@ -162,7 +162,7 @@ Level3 Disabled WIN32;_DEBUG;_WINDOWS;_USRDLL;IDEHELPER_EXPORTS;BFSYSLIB_DYNAMIC;%(PreprocessorDefinitions) - ../;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_18_1_4\llvm\include;..\extern\llvm_win64_18_1_4\include;..\extern\llvm-project_18_1_4\llvm\lib\Target;..\extern\llvm_win64_18_1_4\lib\Target\AArch64;..\extern\llvm_win64_18_1_4\lib\Target\X86;..\extern\llvm-project_18_1_4\llvm\tools\clang\include;..\extern\curl\builds\libcurl-vc15-x64-release-static-zlib-static-ipv6-sspi-winssl\include + ../;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_19_1_7\llvm\include;..\extern\llvm_win64_19_1_7\include;..\extern\llvm-project_19_1_7\llvm\lib\Target;..\extern\llvm_win64_19_1_7\lib\Target\AArch64;..\extern\llvm_win64_19_1_7\lib\Target\X86;..\extern\llvm-project_19_1_7\llvm\tools\clang\include;..\extern\curl\builds\libcurl-vc15-x64-release-static-zlib-static-ipv6-sspi-winssl\include false -D_SCL_SECURE_NO_WARNINGS %(AdditionalOptions) MultiThreadedDebug @@ -175,8 +175,8 @@ Windows DebugFull $(SolutionDir)\IDE\dist\$(TargetName).dll - rpcrt4.lib;cabinet.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;libcurl_a.lib;wininet.lib;LLVMMCDisassembler.lib;LLVMSupport.lib;LLVMMC.lib;LLVMObject.lib;LLVMCore.lib;LLVMBitReader.lib;LLVMAsmParser.lib;LLVMMCParser.lib;LLVMCodeGen.lib;LLVMTarget.lib;LLVMScalarOpts.lib;LLVMInstCombine.lib;LLVMSelectionDAG.lib;LLVMProfileData.lib;LLVMAnalysis.lib;LLVMAsmPrinter.lib;LLVMBitWriter.lib;LLVMVectorize.lib;LLVMipo.lib;LLVMInstrumentation.lib;LLVMDebugInfoDWARF.lib;LLVMDebugInfoPDB.lib;LLVMDebugInfoCodeView.lib;LLVMGlobalISel.lib;LLVMBinaryFormat.lib;LLVMBitstreamReader.lib;LLVMLTO.lib;LLVMPasses.lib;LLVMLinker.lib;LLVMIRReader.lib;LLVMDemangle.lib;LLVMTransformUtils.lib;LLVMAggressiveInstCombine.lib;LLVMCFGuard.lib;LLVMTextAPI.lib;LLVMRemarks.lib;LLVMX86Info.lib;LLVMX86Desc.lib;LLVMX86CodeGen.lib;LLVMX86AsmParser.lib;LLVMX86Disassembler.lib;LLVMAArch64Info.lib;LLVMAArch64Utils.lib;LLVMAArch64Desc.lib;LLVMAArch64CodeGen.lib;LLVMAArch64Disassembler.lib;LLVMARMInfo.lib;LLVMARMUtils.lib;LLVMARMDesc.lib;LLVMARMCodeGen.lib;LLVMARMDisassembler.lib;LLVMWebAssemblyInfo.lib;LLVMWebAssemblyDesc.lib;LLVMWebAssemblyCodeGen.lib;LLVMWebAssemblyDisassembler.lib;LLVMWebAssemblyUtils.lib;LLVMTargetParser.lib;LLVMIRPrinter.lib;LLVMWebAssemblyAsmParser.lib;LLVMObjCARCOpts.lib;LLVMCodeGenTypes.lib;LLVMCoroutines.lib;LLVMFrontendOpenMP.lib;LLVMFrontendOffloading.lib;LLVMHipStdPar.lib;%(AdditionalDependencies) - ..\extern\llvm_win64_18_1_4\Debug\lib; ..\extern\curl\builds\libcurl-vc15-x64-release-static-zlib-static-ipv6-sspi-winssl\lib;..\extern\curl\deps\lib;..\extern\jemalloc_win\x64\debug + ntdll.lib;rpcrt4.lib;cabinet.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;libcurl_a.lib;wininet.lib;LLVMMCDisassembler.lib;LLVMSupport.lib;LLVMMC.lib;LLVMObject.lib;LLVMCore.lib;LLVMBitReader.lib;LLVMAsmParser.lib;LLVMMCParser.lib;LLVMCodeGen.lib;LLVMTarget.lib;LLVMScalarOpts.lib;LLVMInstCombine.lib;LLVMSelectionDAG.lib;LLVMProfileData.lib;LLVMAnalysis.lib;LLVMAsmPrinter.lib;LLVMBitWriter.lib;LLVMVectorize.lib;LLVMipo.lib;LLVMInstrumentation.lib;LLVMDebugInfoDWARF.lib;LLVMDebugInfoPDB.lib;LLVMDebugInfoCodeView.lib;LLVMGlobalISel.lib;LLVMBinaryFormat.lib;LLVMBitstreamReader.lib;LLVMLTO.lib;LLVMPasses.lib;LLVMLinker.lib;LLVMIRReader.lib;LLVMDemangle.lib;LLVMTransformUtils.lib;LLVMAggressiveInstCombine.lib;LLVMCFGuard.lib;LLVMTextAPI.lib;LLVMRemarks.lib;LLVMX86Info.lib;LLVMX86Desc.lib;LLVMX86CodeGen.lib;LLVMX86AsmParser.lib;LLVMX86Disassembler.lib;LLVMAArch64Info.lib;LLVMAArch64Utils.lib;LLVMAArch64Desc.lib;LLVMAArch64CodeGen.lib;LLVMAArch64Disassembler.lib;LLVMARMInfo.lib;LLVMARMUtils.lib;LLVMARMDesc.lib;LLVMARMCodeGen.lib;LLVMARMDisassembler.lib;LLVMWebAssemblyInfo.lib;LLVMWebAssemblyDesc.lib;LLVMWebAssemblyCodeGen.lib;LLVMWebAssemblyDisassembler.lib;LLVMWebAssemblyUtils.lib;LLVMTargetParser.lib;LLVMIRPrinter.lib;LLVMWebAssemblyAsmParser.lib;LLVMObjCARCOpts.lib;LLVMCodeGenTypes.lib;LLVMCoroutines.lib;LLVMFrontendOpenMP.lib;LLVMFrontendOffloading.lib;LLVMHipStdPar.lib;%(AdditionalDependencies) + ..\extern\llvm_win64_19_1_7\Debug\lib; ..\extern\curl\builds\libcurl-vc15-x64-release-static-zlib-static-ipv6-sspi-winssl\lib;..\extern\curl\deps\lib;..\extern\jemalloc_win\x64\debug false $(SolutionDir)\IDE\dist\$(TargetName).lib MSVCRT @@ -225,7 +225,7 @@ true true zBP_DISABLED;WIN32;NDEBUG;_WINDOWS;_USRDLL;IDEHELPER_EXPORTS;BFSYSLIB_DYNAMIC;%(PreprocessorDefinitions) - ../;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_18_1_4\llvm\include;..\extern\llvm_win64_18_1_4\include;..\extern\llvm-project_18_1_4\llvm\lib\Target;..\extern\llvm_win64_18_1_4\lib\Target\X86;..\extern\llvm-project_18_1_4\llvm\tools\clang\include;..\extern\curl\builds\libcurl-vc15-x64-release-static-zlib-static-ipv6-sspi-winssl\include + ../;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_19_1_7\llvm\include;..\extern\llvm_win64_19_1_7\include;..\extern\llvm-project_19_1_7\llvm\lib\Target;..\extern\llvm_win64_19_1_7\lib\Target\X86;..\extern\llvm-project_19_1_7\llvm\tools\clang\include;..\extern\curl\builds\libcurl-vc15-x64-release-static-zlib-static-ipv6-sspi-winssl\include MultiThreaded false true @@ -237,8 +237,8 @@ true true $(SolutionDir)\IDE\dist\$(TargetName).dll - ..\extern\llvm_win64_18_1_4\Release\lib; ..\extern\curl\builds\libcurl-vc15-x64-release-static-zlib-static-ipv6-sspi-winssl\lib;..\extern\curl\deps\lib;..\extern\jemalloc_win\x64\release - rpcrt4.lib;cabinet.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;libcurl_a.lib;wininet.lib;LLVMMCDisassembler.lib;LLVMSupport.lib;LLVMMC.lib;LLVMObject.lib;LLVMCore.lib;LLVMBitReader.lib;LLVMAsmParser.lib;LLVMMCParser.lib;LLVMCodeGen.lib;LLVMTarget.lib;LLVMScalarOpts.lib;LLVMInstCombine.lib;LLVMSelectionDAG.lib;LLVMProfileData.lib;LLVMAnalysis.lib;LLVMAsmPrinter.lib;LLVMBitWriter.lib;LLVMVectorize.lib;LLVMipo.lib;LLVMInstrumentation.lib;LLVMDebugInfoDWARF.lib;LLVMDebugInfoPDB.lib;LLVMDebugInfoCodeView.lib;LLVMGlobalISel.lib;LLVMBinaryFormat.lib;LLVMBitstreamReader.lib;LLVMLTO.lib;LLVMPasses.lib;LLVMLinker.lib;LLVMIRReader.lib;LLVMDemangle.lib;LLVMTransformUtils.lib;LLVMAggressiveInstCombine.lib;LLVMCFGuard.lib;LLVMTextAPI.lib;LLVMRemarks.lib;LLVMX86Info.lib;LLVMX86Desc.lib;LLVMX86CodeGen.lib;LLVMX86AsmParser.lib;LLVMX86Disassembler.lib;LLVMAArch64Info.lib;LLVMAArch64Utils.lib;LLVMAArch64Desc.lib;LLVMAArch64CodeGen.lib;LLVMAArch64Disassembler.lib;LLVMARMInfo.lib;LLVMARMUtils.lib;LLVMARMDesc.lib;LLVMARMCodeGen.lib;LLVMARMDisassembler.lib;LLVMWebAssemblyInfo.lib;LLVMWebAssemblyDesc.lib;LLVMWebAssemblyCodeGen.lib;LLVMWebAssemblyDisassembler.lib;LLVMWebAssemblyUtils.lib;LLVMTargetParser.lib;LLVMIRPrinter.lib;LLVMObjCARCOpts.lib;LLVMCodeGenTypes.lib;LLVMCoroutines.lib;LLVMFrontendOpenMP.lib;LLVMFrontendOffloading.lib;LLVMHipStdPar.lib;%(AdditionalDependencies) + ..\extern\llvm_win64_19_1_7\Release\lib; ..\extern\curl\builds\libcurl-vc15-x64-release-static-zlib-static-ipv6-sspi-winssl\lib;..\extern\curl\deps\lib;..\extern\jemalloc_win\x64\release + ntdll.lib;rpcrt4.lib;cabinet.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;libcurl_a.lib;wininet.lib;LLVMMCDisassembler.lib;LLVMSupport.lib;LLVMMC.lib;LLVMObject.lib;LLVMCore.lib;LLVMBitReader.lib;LLVMAsmParser.lib;LLVMMCParser.lib;LLVMCodeGen.lib;LLVMTarget.lib;LLVMScalarOpts.lib;LLVMInstCombine.lib;LLVMSelectionDAG.lib;LLVMProfileData.lib;LLVMAnalysis.lib;LLVMAsmPrinter.lib;LLVMBitWriter.lib;LLVMVectorize.lib;LLVMipo.lib;LLVMInstrumentation.lib;LLVMDebugInfoDWARF.lib;LLVMDebugInfoPDB.lib;LLVMDebugInfoCodeView.lib;LLVMGlobalISel.lib;LLVMBinaryFormat.lib;LLVMBitstreamReader.lib;LLVMLTO.lib;LLVMPasses.lib;LLVMLinker.lib;LLVMIRReader.lib;LLVMDemangle.lib;LLVMTransformUtils.lib;LLVMAggressiveInstCombine.lib;LLVMCFGuard.lib;LLVMTextAPI.lib;LLVMRemarks.lib;LLVMX86Info.lib;LLVMX86Desc.lib;LLVMX86CodeGen.lib;LLVMX86AsmParser.lib;LLVMX86Disassembler.lib;LLVMAArch64Info.lib;LLVMAArch64Utils.lib;LLVMAArch64Desc.lib;LLVMAArch64CodeGen.lib;LLVMAArch64Disassembler.lib;LLVMARMInfo.lib;LLVMARMUtils.lib;LLVMARMDesc.lib;LLVMARMCodeGen.lib;LLVMARMDisassembler.lib;LLVMWebAssemblyInfo.lib;LLVMWebAssemblyDesc.lib;LLVMWebAssemblyCodeGen.lib;LLVMWebAssemblyDisassembler.lib;LLVMWebAssemblyUtils.lib;LLVMTargetParser.lib;LLVMIRPrinter.lib;LLVMObjCARCOpts.lib;LLVMCodeGenTypes.lib;LLVMCoroutines.lib;LLVMFrontendOpenMP.lib;LLVMFrontendOffloading.lib;LLVMHipStdPar.lib;%(AdditionalDependencies) false true $(SolutionDir)\IDE\dist\$(TargetName).lib diff --git a/bin/build.bat b/bin/build.bat index d2598b29..2b1f6dde 100644 --- a/bin/build.bat +++ b/bin/build.bat @@ -14,14 +14,14 @@ PUSHD %~dp0..\ mkdir stats :STATS_HAS -@IF EXIST BeefDep0_Done.txt GOTO DEPS0_HAS +@IF EXIST BeefDep1_Done.txt GOTO DEPS0_HAS @ECHO Downloading dependencies (LLVM)... -bin\curl.exe -O https://www.beeflang.org/BeefDep0.zip +bin\curl.exe -O https://www.beeflang.org/BeefDep1.zip @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR @ECHO Extracting dependencies (takes a while)... -bin\tar.exe -xf BeefDep0.zip +bin\tar.exe -xf BeefDep1.zip @IF %ERRORLEVEL% NEQ 0 GOTO -del BeefDep0.zip +del BeefDep1.zip :DEPS0_HAS copy BeefLibs\SDL2\dist\SDL2.dll IDE\dist diff --git a/extern/llvm_build.bat b/extern/llvm_build.bat index cfdc8507..0adafed8 100644 --- a/extern/llvm_build.bat +++ b/extern/llvm_build.bat @@ -1,29 +1,37 @@ PUSHD %~dp0 -@IF EXIST llvm-project_18_1_4 GOTO LLVM_HAS -git clone --depth 1 --branch llvmorg-18.1.4 --config core.autocrlf=false https://github.com/llvm/llvm-project.git llvm-project_18_1_4 +@IF EXIST llvm-project_19_1_7 GOTO LLVM_HAS +git clone --depth 1 --branch llvmorg-19.1.7 --config core.autocrlf=false https://github.com/llvm/llvm-project.git llvm-project_19_1_7 @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR :LLVM_HAS -@IF EXIST llvm_win64_18_1_4 GOTO HAS_CONFIG -mkdir llvm_win64_18_1_4 -cd llvm_win64_18_1_4 -@REM cmake ../llvm-project_18_1_4/llvm -G"Visual Studio 17 2022" -Ax64 -Thost=x64 -DLLVM_ENABLE_PROJECTS=clang -D CMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded$<$:Debug>" -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -cmake ../llvm-project_18_1_4/llvm -G"Visual Studio 17 2022" -Ax64 -Thost=x64 -D CMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded$<$:Debug>" -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" +@IF EXIST llvm_win64_19_1_7 GOTO HAS_CONFIG +mkdir llvm_win64_19_1_7 +cd llvm_win64_19_1_7 +@REM cmake ../llvm-project_19_1_7/llvm -G"Visual Studio 17 2022" -Ax64 -Thost=x64 -DLLVM_ENABLE_PROJECTS=clang -D CMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded$<$:Debug>" -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" +cmake ../llvm-project_19_1_7/llvm -G"Visual Studio 17 2022" -Ax64 -Thost=x64 -D CMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded$<$:Debug>" -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" +@REM cmake ../llvm-project_19_1_7/llvm -G"Visual Studio 17 2022" @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR @GOTO DOBUILD :HAS_CONFIG -cd llvm_win64_18_1_4 +cd llvm_win64_19_1_7 @GOTO DOBUILD :DOBUILD -set /p LLVM_TARGETS=<../llvm_targets.txt -cmake --build . -t %LLVM_TARGETS% --config Debug + +@REM set /p LLVM_TARGETS=<../llvm_targets.txt +@REM cmake --build . -t %LLVM_TARGETS% --config Debug +@REM @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR +@REM cmake --build . -t %LLVM_TARGETS% --config Release +@REM @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR + +cmake --build . --config Debug @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR -cmake --build . -t %LLVM_TARGETS% --config Release +cmake --build . --config Release @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR + echo done > _Done.txt :SUCCESS