diff --git a/BeefBoot/BeefBoot.vcxproj b/BeefBoot/BeefBoot.vcxproj index 5df8a2d7..0eba9b77 100644 --- a/BeefBoot/BeefBoot.vcxproj +++ b/BeefBoot/BeefBoot.vcxproj @@ -28,26 +28,26 @@ Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode @@ -106,7 +106,7 @@ Level3 Disabled _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_8_0_1\llvm\include;..\extern\llvm_win64_8_0_1\include;..\extern\llvm-project_8_0_1\llvm\lib\Target;..\extern\llvm_win64_8_0_1\lib\Target\X86;..\extern\llvm-project_8_0_1\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_11_0_0\llvm\include;..\extern\llvm_win64_11_0_0\include;..\extern\llvm-project_11_0_0\llvm\lib\Target;..\extern\llvm_win64_11_0_0\lib\Target\X86;..\extern\llvm-project_11_0_0\llvm\tools\clang\include true false MultiThreadedDebug @@ -146,7 +146,7 @@ true NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true - ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_8_0_1\llvm\include;..\extern\llvm_win64_8_0_1\include;..\extern\llvm-project_8_0_1\llvm\lib\Target;..\extern\llvm_win64_8_0_1\lib\Target\X86;..\extern\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_11_0_0\llvm\include;..\extern\llvm_win64_11_0_0\include;..\extern\llvm-project_11_0_0\llvm\lib\Target;..\extern\llvm_win64_11_0_0\lib\Target\X86;..\extern\llvm\tools\clang\include MultiThreaded false diff --git a/BeefLink/BeefLink.vcxproj b/BeefLink/BeefLink.vcxproj index 5c96444d..f9ae5447 100644 --- a/BeefLink/BeefLink.vcxproj +++ b/BeefLink/BeefLink.vcxproj @@ -28,26 +28,26 @@ Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode Application true - v141 + v142 Unicode Application false - v141 + v142 true Unicode diff --git a/BeefRT/BeefDbg/BeefDbg.vcxproj b/BeefRT/BeefDbg/BeefDbg.vcxproj index fd1e6a9e..df09d040 100644 --- a/BeefRT/BeefDbg/BeefDbg.vcxproj +++ b/BeefRT/BeefDbg/BeefDbg.vcxproj @@ -60,78 +60,78 @@ DynamicLibrary true - v141 + v142 Unicode DynamicLibrary true - v141 + v142 Unicode DynamicLibrary true - v141 + v142 Unicode DynamicLibrary true - v141 + v142 Unicode StaticLibrary true - v141 + v142 Unicode StaticLibrary true - v141 + v142 Unicode DynamicLibrary false - v141 + v142 true Unicode StaticLibrary false - v141 + v142 true Unicode StaticLibrary false - v141 + v142 true Unicode DynamicLibrary false - v141 + v142 true Unicode StaticLibrary false - v141 + v142 true Unicode StaticLibrary false - v141 + v142 true Unicode diff --git a/BeefRT/BeefRT.vcxproj b/BeefRT/BeefRT.vcxproj index 0ccbc4c6..f4e02f8c 100644 --- a/BeefRT/BeefRT.vcxproj +++ b/BeefRT/BeefRT.vcxproj @@ -60,78 +60,78 @@ DynamicLibrary true - v141 + v142 Unicode StaticLibrary true - v141 + v142 Unicode StaticLibrary true - v141 + v142 Unicode DynamicLibrary true - v141 + v142 Unicode StaticLibrary true - v141 + v142 Unicode StaticLibrary true - v141 + v142 Unicode DynamicLibrary false - v141 + v142 true Unicode StaticLibrary false - v141 + v142 false Unicode StaticLibrary false - v141 + v142 false Unicode DynamicLibrary false - v141 + v142 true Unicode StaticLibrary false - v141 + v142 false Unicode StaticLibrary false - v141 + v142 false Unicode diff --git a/BeefySysLib/BeefySysLib.vcxproj b/BeefySysLib/BeefySysLib.vcxproj index deaed943..e4faab8a 100644 --- a/BeefySysLib/BeefySysLib.vcxproj +++ b/BeefySysLib/BeefySysLib.vcxproj @@ -45,53 +45,53 @@ DynamicLibrary true Unicode - v141 + v142 DynamicLibrary true Unicode - v141 + v142 StaticLibrary true Unicode - v141 + v142 StaticLibrary true Unicode - v141 + v142 DynamicLibrary false true Unicode - v141 + v142 DynamicLibrary false true Unicode - v141 + v142 StaticLibrary false true Unicode - v141 + v142 StaticLibrary false true Unicode - v141 + v142 diff --git a/BeefySysLib/BeefySysLib_static.vcxproj b/BeefySysLib/BeefySysLib_static.vcxproj index 7a2ad970..b65c738e 100644 --- a/BeefySysLib/BeefySysLib_static.vcxproj +++ b/BeefySysLib/BeefySysLib_static.vcxproj @@ -29,27 +29,27 @@ StaticLibrary true Unicode - v141 + v142 StaticLibrary true Unicode - v141 + v142 StaticLibrary false true Unicode - v141 + v142 StaticLibrary false true Unicode - v141 + v142 diff --git a/Debugger32/Debugger32.vcxproj b/Debugger32/Debugger32.vcxproj index 0d25e75a..c4bd07ae 100644 --- a/Debugger32/Debugger32.vcxproj +++ b/Debugger32/Debugger32.vcxproj @@ -64,26 +64,26 @@ StaticLibrary true - v141 + v142 Unicode StaticLibrary false - v141 + v142 true Unicode StaticLibrary true - v141 + v142 Unicode StaticLibrary false - v141 + v142 true Unicode @@ -145,7 +145,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_8_0_1\llvm\include;..\extern\llvm_win64_8_0_1\include;..\extern\llvm-project_8_0_1\llvm\lib\Target;..\extern\llvm_win64_8_0_1\lib\Target\X86;..\extern\llvm-project_8_0_1\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_11_0_0\llvm\include;..\extern\llvm_win64_11_0_0\include;..\extern\llvm-project_11_0_0\llvm\lib\Target;..\extern\llvm_win64_11_0_0\lib\Target\X86;..\extern\llvm-project_11_0_0\llvm\tools\clang\include false -D_SCL_SECURE_NO_WARNINGS %(AdditionalOptions) false @@ -183,7 +183,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_8_0_1\llvm\include;..\extern\llvm_win64_8_0_1\include;..\extern\llvm-project_8_0_1\llvm\lib\Target;..\extern\llvm_win64_8_0_1\lib\Target\X86;..\extern\llvm-project_8_0_1\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_11_0_0\llvm\include;..\extern\llvm_win64_11_0_0\include;..\extern\llvm-project_11_0_0\llvm\lib\Target;..\extern\llvm_win64_11_0_0\lib\Target\X86;..\extern\llvm-project_11_0_0\llvm\tools\clang\include MultiThreaded false diff --git a/Debugger64/Debugger64.vcxproj b/Debugger64/Debugger64.vcxproj index 1a4c9f38..2c281774 100644 --- a/Debugger64/Debugger64.vcxproj +++ b/Debugger64/Debugger64.vcxproj @@ -64,26 +64,26 @@ StaticLibrary true - v141 + v142 Unicode StaticLibrary false - v141 + v142 true Unicode StaticLibrary true - v141 + v142 Unicode StaticLibrary false - v141 + v142 true Unicode @@ -116,11 +116,11 @@ $(VSInstallDir)\DIA SDK\include;;C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include;$(IncludePath) - $(SolutionDir)\ide\dist\$(Platform)\$(Configuration)\ + $(SolutionDir)\ide\dist\$(Platform)\$(Configuration)\ $(VSInstallDir)\DIA SDK\include;C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath); - $(SolutionDir)\ide\dist\$(Platform)\$(Configuration)\ + $(SolutionDir)\ide\dist\$(Platform)\$(Configuration)\ $(VSInstallDir)\DIA SDK\include;C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include;$(VC_IncludePath);$(WindowsSDK_IncludePath); @@ -145,7 +145,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_8_0_1\llvm\include;..\extern\llvm_win64_8_0_1\include;..\extern\llvm-project_8_0_1\llvm\lib\Target;..\extern\llvm_win64_8_0_1\lib\Target\X86;..\extern\llvm-project_8_0_1\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_11_0_0\llvm\include;..\extern\llvm_win64_11_0_0\include;..\extern\llvm-project_11_0_0\llvm\lib\Target;..\extern\llvm_win64_11_0_0\lib\Target\X86;..\extern\llvm-project_11_0_0\llvm\tools\clang\include false -D_SCL_SECURE_NO_WARNINGS %(AdditionalOptions) false @@ -183,7 +183,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_8_0_1\llvm\include;..\extern\llvm_win64_8_0_1\include;..\extern\llvm-project_8_0_1\llvm\lib\Target;..\extern\llvm_win64_8_0_1\lib\Target\X86;..\extern\llvm-project_8_0_1\llvm\tools\clang\include + ../;../IDEHelper;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_11_0_0\llvm\include;..\extern\llvm_win64_11_0_0\include;..\extern\llvm-project_11_0_0\llvm\lib\Target;..\extern\llvm_win64_11_0_0\lib\Target\X86;..\extern\llvm-project_11_0_0\llvm\tools\clang\include MultiThreaded false diff --git a/IDEHelper/COFF.cpp b/IDEHelper/COFF.cpp index 4d86c464..b551f4be 100644 --- a/IDEHelper/COFF.cpp +++ b/IDEHelper/COFF.cpp @@ -3186,6 +3186,8 @@ void COFF::ParseCompileUnit_Symbols(DbgCompileUnit* compileUnit, uint8* sectionD break; case 0x1176: break; + case 0x1179: + break; default: BF_DBG_FATAL("Unhandled"); break; diff --git a/IDEHelper/Compiler/BfIRCodeGen.cpp b/IDEHelper/Compiler/BfIRCodeGen.cpp index 193c1c74..3f83f1fc 100644 --- a/IDEHelper/Compiler/BfIRCodeGen.cpp +++ b/IDEHelper/Compiler/BfIRCodeGen.cpp @@ -885,7 +885,7 @@ void BfIRCodeGen::Read(llvm::Value*& llvmValue, BfIRCodeGenEntry** codeGenEntry) else if (constType == BfConstType_AggZero) { CMD_PARAM(llvm::Type*, type); - llvmValue = llvm::ConstantAggregateZero::get((llvm::CompositeType*)type); + llvmValue = llvm::ConstantAggregateZero::get(type); return; } else if (constType == BfConstType_Array) @@ -1107,7 +1107,7 @@ llvm::Value* BfIRCodeGen::TryToVector(llvm::Value* value, llvm::Type* elemType) auto valueType = value->getType(); if (auto vecType = llvm::dyn_cast(valueType)) { - if (vecType->getVectorElementType() == elemType) + if (vecType->getElementType() == elemType) return value; //TODO: We need an alloca.... @@ -1130,11 +1130,11 @@ llvm::Value* BfIRCodeGen::TryToVector(llvm::Value* value, llvm::Type* elemType) if (auto vecType = llvm::dyn_cast(ptrElemType)) { - if (vecType->getVectorElementType() == elemType) + if (vecType->getElementType() == elemType) return mIRBuilder->CreateAlignedLoad(value, 1); auto dataLayout = llvm::DataLayout(mLLVMModule); - int wantNumElements = (int)vecType->getVectorNumElements() * (int)dataLayout.getTypeSizeInBits(vecType->getVectorElementType()) / (int)dataLayout.getTypeSizeInBits(elemType); + int wantNumElements = (int)vecType->getNumElements() * (int)dataLayout.getTypeSizeInBits(vecType->getElementType()) / (int)dataLayout.getTypeSizeInBits(elemType); auto newVecType = llvm::VectorType::get(elemType, wantNumElements); auto vecPtrType = newVecType->getPointerTo(); @@ -1151,7 +1151,7 @@ llvm::Type* BfIRCodeGen::GetElemType(llvm::Value* value) { auto valueType = value->getType(); if (auto vecType = llvm::dyn_cast(valueType)) - return vecType->getVectorElementType();; + return vecType->getElementType(); if (auto ptrType = llvm::dyn_cast(valueType)) { @@ -1160,7 +1160,7 @@ llvm::Type* BfIRCodeGen::GetElemType(llvm::Value* value) return arrType->getArrayElementType(); if (auto vecType = llvm::dyn_cast(ptrElemType)) - return vecType->getVectorElementType(); + return vecType->getElementType(); } return NULL; @@ -1187,9 +1187,9 @@ bool BfIRCodeGen::TryMemCpy(llvm::Value* ptr, llvm::Value* val) { mIRBuilder->CreateMemCpy( mIRBuilder->CreateBitCast(ptr, int8PtrTy), - 1, + llvm::MaybeAlign(1), mIRBuilder->CreateBitCast(loadInst->getPointerOperand(), int8PtrTy), - 1, + llvm::MaybeAlign(1), llvm::ConstantInt::get(int32Ty, arrayBytes)); return true; } @@ -1204,7 +1204,7 @@ bool BfIRCodeGen::TryMemCpy(llvm::Value* ptr, llvm::Value* val) mIRBuilder->CreateBitCast(ptr, int8PtrTy), llvm::ConstantInt::get(int8Ty, 0), llvm::ConstantInt::get(int32Ty, arrayBytes), - 1); + llvm::MaybeAlign(1)); return true; } @@ -1220,9 +1220,9 @@ bool BfIRCodeGen::TryMemCpy(llvm::Value* ptr, llvm::Value* val) mIRBuilder->CreateMemCpy( mIRBuilder->CreateBitCast(ptr, int8PtrTy), - 1, + llvm::MaybeAlign(1), mIRBuilder->CreateBitCast(globalVariable, int8PtrTy), - 1, + llvm::MaybeAlign(1), llvm::ConstantInt::get(int32Ty, arrayBytes)); return true; @@ -1359,7 +1359,7 @@ void BfIRCodeGen::CreateMemSet(llvm::Value* addr, llvm::Value* val, llvm::Value* } } - mIRBuilder->CreateMemSet(addr, val, size, alignment, isVolatile); + mIRBuilder->CreateMemSet(addr, val, size, llvm::MaybeAlign(alignment), isVolatile); } void BfIRCodeGen::InitTarget() @@ -1634,7 +1634,7 @@ void BfIRCodeGen::HandleNextCmd() case BfIRCmd_CreateConstStructZero: { CMD_PARAM(llvm::Type*, type); - SetResult(curId, llvm::ConstantAggregateZero::get((llvm::CompositeType*)type)); + SetResult(curId, llvm::ConstantAggregateZero::get(type)); } break; case BfIRCmd_CreateConstArray: @@ -2065,7 +2065,7 @@ void BfIRCodeGen::HandleNextCmd() CMD_PARAM(llvm::Value*, val); CMD_PARAM(int, alignment); auto inst = llvm::dyn_cast(val); - inst->setAlignment(alignment); + inst->setAlignment(llvm::Align(alignment)); } break; case BfIRCmd_SetAllocaNoChkStkHint: @@ -2197,7 +2197,7 @@ void BfIRCodeGen::HandleNextCmd() { CMD_PARAM(llvm::Value*, val); CMD_PARAM(int, alignment); - ((llvm::GlobalVariable*)val)->setAlignment(alignment); + ((llvm::GlobalVariable*)val)->setAlignment(llvm::Align(alignment)); } break; case BfIRCmd_GlobalVar_SetStorageKind: @@ -2564,7 +2564,7 @@ void BfIRCodeGen::HandleNextCmd() guessInstBytes += 2; else if (auto callInst = llvm::dyn_cast(&inst)) { - auto calledValue = callInst->getCalledValue(); + auto calledValue = callInst->getCalledOperand(); if (calledValue == mNopInlineAsm) guessInstBytes += 1; @@ -2668,8 +2668,8 @@ void BfIRCodeGen::HandleNextCmd() auto val0 = TryToVector(args[0]); if (val0 != NULL) { - auto vecType = val0->getType(); - auto elemType = vecType->getVectorElementType(); + auto vecType = llvm::dyn_cast(val0->getType()); + auto elemType = vecType->getElementType(); bool isFP = elemType->isFloatTy(); llvm::Value* val1; @@ -2748,11 +2748,11 @@ void BfIRCodeGen::HandleNextCmd() { if (auto vecType = llvm::dyn_cast(result->getType())) { - if (auto intType = llvm::dyn_cast(vecType->getVectorElementType())) + if (auto intType = llvm::dyn_cast(vecType->getElementType())) { if (intType->getBitWidth() == 1) { - auto toType = llvm::VectorType::get(llvm::IntegerType::get(*mLLVMContext, 8), vecType->getVectorNumElements()); + auto toType = llvm::VectorType::get(llvm::IntegerType::get(*mLLVMContext, 8), vecType->getNumElements()); result = mIRBuilder->CreateZExt(result, toType); } } @@ -2816,11 +2816,11 @@ void BfIRCodeGen::HandleNextCmd() { if (auto vecType = llvm::dyn_cast(result->getType())) { - if (auto intType = llvm::dyn_cast(vecType->getVectorElementType())) + if (auto intType = llvm::dyn_cast(vecType->getElementType())) { if (intType->getBitWidth() == 1) { - auto toType = llvm::VectorType::get(llvm::IntegerType::get(*mLLVMContext, 8), vecType->getVectorNumElements()); + auto toType = llvm::VectorType::get(llvm::IntegerType::get(*mLLVMContext, 8), vecType->getNumElements()); result = mIRBuilder->CreateZExt(result, toType); } } @@ -3049,7 +3049,7 @@ void BfIRCodeGen::HandleNextCmd() } auto memoryKind = (BfIRAtomicOrdering)memoryKindConst->getSExtValue(); auto ptrType = llvm::dyn_cast(args[0]->getType()); - auto loadInst = mIRBuilder->CreateAlignedLoad(args[0], ptrType->getElementType()->getPrimitiveSizeInBits() / 8); + auto loadInst = mIRBuilder->CreateAlignedLoad(args[0], (uint)ptrType->getElementType()->getPrimitiveSizeInBits() / 8); switch (memoryKind & BfIRAtomicOrdering_ORDERMASK) { case BfIRAtomicOrdering_Acquire: @@ -3079,7 +3079,7 @@ void BfIRCodeGen::HandleNextCmd() } auto memoryKind = (BfIRAtomicOrdering)memoryKindConst->getSExtValue(); - auto storeInst = mIRBuilder->CreateAlignedStore(args[1], args[0], args[1]->getType()->getPrimitiveSizeInBits()/8); + auto storeInst = mIRBuilder->CreateAlignedStore(args[1], args[0], (uint)args[1]->getType()->getPrimitiveSizeInBits() / 8); switch (memoryKind & BfIRAtomicOrdering_ORDERMASK) { case BfIRAtomicOrdering_Relaxed: @@ -3324,9 +3324,9 @@ void BfIRCodeGen::HandleNextCmd() if ((volatileConst != NULL) && (volatileConst->getSExtValue() != 0)) isVolatile = true; if (intrinId == BfIRIntrinsic_MemCpy) - mIRBuilder->CreateMemCpy(args[0], align, args[1], align, args[2], isVolatile); + mIRBuilder->CreateMemCpy(args[0], llvm::MaybeAlign(align), args[1], llvm::MaybeAlign(align), args[2], isVolatile); else - mIRBuilder->CreateMemMove(args[0], align, args[1], align, args[2], isVolatile); + mIRBuilder->CreateMemMove(args[0], llvm::MaybeAlign(align), args[1], llvm::MaybeAlign(align), args[2], isVolatile); break; } } @@ -3343,7 +3343,10 @@ void BfIRCodeGen::HandleNextCmd() val1 = args[1]; } - SetResult(curId, mIRBuilder->CreateCall(func, args)); + llvm::FunctionType* funcType = NULL; + if (auto ptrType = llvm::dyn_cast(func->getType())) + funcType = llvm::dyn_cast(ptrType->getElementType()); + SetResult(curId, mIRBuilder->CreateCall(funcType, func, args)); } break; case BfIRCmd_SetCallCallingConv: @@ -3523,7 +3526,7 @@ void BfIRCodeGen::HandleNextCmd() case BfIRCmd_Func_SafeRename: { CMD_PARAM(llvm::Function*, func); - func->setName((Beefy::String(func->getName()) + StrFormat("__RENAME%d", curId)).c_str()); + func->setName(llvm::Twine((Beefy::String(func->getName().data()) + StrFormat("__RENAME%d", curId)).c_str())); } break; case BfIRCmd_Func_SetLinkage: @@ -4088,9 +4091,9 @@ void BfIRCodeGen::HandleNextCmd() constant = genericConstValueArgs[i]; if (constant != NULL) - templateParams.push_back(mDIBuilder->createTemplateValueParameter(mDICompileUnit, name.c_str(), genericArg, constant)); + templateParams.push_back(mDIBuilder->createTemplateValueParameter(mDICompileUnit, name.c_str(), genericArg, false, constant)); else - templateParams.push_back(mDIBuilder->createTemplateTypeParameter(mDICompileUnit, name.c_str(), genericArg)); + templateParams.push_back(mDIBuilder->createTemplateTypeParameter(mDICompileUnit, name.c_str(), false, genericArg)); } templateParamNodes = mDIBuilder->getOrCreateArray(templateParams); templateParamArr = templateParamNodes.get(); @@ -4215,9 +4218,9 @@ void BfIRCodeGen::HandleNextCmd() auto nameRef = diVariable->getName(); if (writeVal < 0) - diVariable->replaceOperandWith(1, llvm::MDString::get(*mLLVMContext, (String(nameRef) + StrFormat("$_%llu", -writeVal)).c_str())); + diVariable->replaceOperandWith(1, llvm::MDString::get(*mLLVMContext, (String(nameRef.data()) + StrFormat("$_%llu", -writeVal)).c_str())); else - diVariable->replaceOperandWith(1, llvm::MDString::get(*mLLVMContext, (String(nameRef) + StrFormat("$%llu", writeVal)).c_str())); + diVariable->replaceOperandWith(1, llvm::MDString::get(*mLLVMContext, (String(nameRef.data()) + StrFormat("$%llu", writeVal)).c_str())); } } @@ -4265,7 +4268,7 @@ void BfIRCodeGen::HandleNextCmd() //BF_ASSERT(file != NULL); llvm::DIExpression* diExpr = NULL; auto gve = mDIBuilder->createGlobalVariableExpression((llvm::DIScope*)context, name.c_str(), linkageName.c_str(), (llvm::DIFile*)file, lineNum, (llvm::DIType*)type, - isLocalToUnit, diExpr, decl); + isLocalToUnit, true, diExpr, decl); if (val != NULL) { @@ -5021,7 +5024,7 @@ bool BfIRCodeGen::WriteObjectFile(const StringImpl& outFileName) { // Ask the target to add backend passes as necessary. if (mLLVMTargetMachine->addPassesToEmitFile(PM, out, NULL, - (mCodeGenOptions.mAsmKind != BfAsmKind_None) ? llvm::TargetMachine::CGFT_AssemblyFile : llvm::TargetMachine::CGFT_ObjectFile, + (mCodeGenOptions.mAsmKind != BfAsmKind_None) ? llvm::CGFT_AssemblyFile : llvm::CGFT_ObjectFile, //TargetMachine::CGFT_AssemblyFile, noVerify /*, StartAfterID, StopAfterID*/)) { diff --git a/IDEHelper/IDEHelper.vcxproj b/IDEHelper/IDEHelper.vcxproj index e0af052f..f8bcb3cf 100644 --- a/IDEHelper/IDEHelper.vcxproj +++ b/IDEHelper/IDEHelper.vcxproj @@ -36,40 +36,40 @@ DynamicLibrary true - v141 + v142 Unicode DynamicLibrary true - v141 + v142 Unicode DynamicLibrary false - v141 + v142 true Unicode DynamicLibrary false - v141 + v142 true Unicode DynamicLibrary false - v141 + v142 true Unicode DynamicLibrary false - v141 + v142 true Unicode @@ -160,7 +160,7 @@ Level3 Disabled WIN32;_DEBUG;_WINDOWS;_USRDLL;IDEHELPER_EXPORTS;BFSYSLIB_DYNAMIC;%(PreprocessorDefinitions) - ../;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_8_0_1\llvm\include;..\extern\llvm_win64_8_0_1\include;..\extern\llvm-project_8_0_1\llvm\lib\Target;..\extern\llvm_win64_8_0_1\lib\Target\AArch64;..\extern\llvm_win64_8_0_1\lib\Target\X86;..\extern\llvm-project_8_0_1\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_11_0_0\llvm\include;..\extern\llvm_win64_11_0_0\include;..\extern\llvm-project_11_0_0\llvm\lib\Target;..\extern\llvm_win64_11_0_0\lib\Target\AArch64;..\extern\llvm_win64_11_0_0\lib\Target\X86;..\extern\llvm-project_11_0_0\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 @@ -171,8 +171,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;LLVMTransformUtils.lib;LLVMAnalysis.lib;LLVMAsmPrinter.lib;LLVMBitWriter.lib;LLVMVectorize.lib;LLVMipo.lib;LLVMInstrumentation.lib;LLVMDebugInfoDWARF.lib;LLVMDebugInfoPDB.lib;LLVMDebugInfoCodeView.lib;LLVMGlobalISel.lib;LLVMBinaryFormat.lib;LLVMLTO.lib;LLVMPasses.lib;LLVMLinker.lib;LLVMIRReader.lib;LLVMDemangle.lib;LLVMAggressiveInstCombine.lib;LLVMX86Info.lib;LLVMX86Utils.lib;LLVMX86AsmPrinter.lib;LLVMX86Desc.lib;LLVMX86CodeGen.lib;LLVMX86AsmParser.lib;LLVMX86Disassembler.lib;LLVMAArch64Info.lib;LLVMAArch64Utils.lib;LLVMAArch64AsmPrinter.lib;LLVMAArch64Desc.lib;LLVMAArch64CodeGen.lib;LLVMAArch64AsmParser.lib;LLVMAArch64Disassembler.lib;LLVMARMInfo.lib;LLVMARMUtils.lib;LLVMARMAsmPrinter.lib;LLVMARMDesc.lib;LLVMARMCodeGen.lib;LLVMARMAsmParser.lib;LLVMARMDisassembler.lib;LLVMWebAssemblyInfo.lib;LLVMWebAssemblyAsmPrinter.lib;LLVMWebAssemblyDesc.lib;LLVMWebAssemblyCodeGen.lib;LLVMWebAssemblyAsmParser.lib;LLVMWebAssemblyDisassembler.lib;%(AdditionalDependencies) - ..\extern\llvm_win64_8_0_1\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 + 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;LLVMAArch64AsmParser.lib;LLVMAArch64Disassembler.lib;LLVMARMInfo.lib;LLVMARMUtils.lib;LLVMARMDesc.lib;LLVMARMCodeGen.lib;LLVMARMAsmParser.lib;LLVMARMDisassembler.lib;LLVMWebAssemblyInfo.lib;LLVMWebAssemblyDesc.lib;LLVMWebAssemblyCodeGen.lib;LLVMWebAssemblyAsmParser.lib;LLVMWebAssemblyDisassembler.lib;%(AdditionalDependencies) + ..\extern\llvm_win64_11_0_0\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 @@ -219,7 +219,7 @@ true true zBP_DISABLED;WIN32;NDEBUG;_WINDOWS;_USRDLL;IDEHELPER_EXPORTS;BFSYSLIB_DYNAMIC;%(PreprocessorDefinitions) - ../;../BeefySysLib/platform/win;../BeefySysLib/third_party;..\extern\llvm-project_8_0_1\llvm\include;..\extern\llvm_win64_8_0_1\include;..\extern\llvm-project_8_0_1\llvm\lib\Target;..\extern\llvm_win64_8_0_1\lib\Target\X86;..\extern\llvm-project_8_0_1\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_11_0_0\llvm\include;..\extern\llvm_win64_11_0_0\include;..\extern\llvm-project_11_0_0\llvm\lib\Target;..\extern\llvm_win64_11_0_0\lib\Target\X86;..\extern\llvm-project_11_0_0\llvm\tools\clang\include;..\extern\curl\builds\libcurl-vc15-x64-release-static-zlib-static-ipv6-sspi-winssl\include MultiThreaded false @@ -229,8 +229,8 @@ true true $(SolutionDir)\IDE\dist\$(TargetName).dll - ..\extern\llvm_win64_8_0_1\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;LLVMTransformUtils.lib;LLVMAnalysis.lib;LLVMAsmPrinter.lib;LLVMBitWriter.lib;LLVMVectorize.lib;LLVMipo.lib;LLVMInstrumentation.lib;LLVMDebugInfoDWARF.lib;LLVMDebugInfoPDB.lib;LLVMDebugInfoCodeView.lib;LLVMGlobalISel.lib;LLVMBinaryFormat.lib;LLVMLTO.lib;LLVMPasses.lib;LLVMLinker.lib;LLVMIRReader.lib;LLVMDemangle.lib;LLVMAggressiveInstCombine.lib;LLVMX86Info.lib;LLVMX86Utils.lib;LLVMX86AsmPrinter.lib;LLVMX86Desc.lib;LLVMX86CodeGen.lib;LLVMX86AsmParser.lib;LLVMX86Disassembler.lib;LLVMAArch64Info.lib;LLVMAArch64Utils.lib;LLVMAArch64AsmPrinter.lib;LLVMAArch64Desc.lib;LLVMAArch64CodeGen.lib;LLVMAArch64AsmParser.lib;LLVMAArch64Disassembler.lib;LLVMARMInfo.lib;LLVMARMUtils.lib;LLVMARMAsmPrinter.lib;LLVMARMDesc.lib;LLVMARMCodeGen.lib;LLVMARMAsmParser.lib;LLVMARMDisassembler.lib;LLVMWebAssemblyInfo.lib;LLVMWebAssemblyAsmPrinter.lib;LLVMWebAssemblyDesc.lib;LLVMWebAssemblyCodeGen.lib;LLVMWebAssemblyAsmParser.lib;LLVMWebAssemblyDisassembler.lib;%(AdditionalDependencies) + ..\extern\llvm_win64_11_0_0\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;LLVMAArch64AsmParser.lib;LLVMAArch64Disassembler.lib;LLVMARMInfo.lib;LLVMARMUtils.lib;LLVMARMDesc.lib;LLVMARMCodeGen.lib;LLVMARMAsmParser.lib;LLVMARMDisassembler.lib;LLVMWebAssemblyInfo.lib;LLVMWebAssemblyDesc.lib;LLVMWebAssemblyCodeGen.lib;LLVMWebAssemblyAsmParser.lib;LLVMWebAssemblyDisassembler.lib;%(AdditionalDependencies) false true $(SolutionDir)\IDE\dist\$(TargetName).lib diff --git a/IDEHelper/X64.cpp b/IDEHelper/X64.cpp index 998c5e5d..b2a10cb5 100644 --- a/IDEHelper/X64.cpp +++ b/IDEHelper/X64.cpp @@ -32,6 +32,7 @@ #include "X86/MCTargetDesc/X86BaseInfo.h" #include "X86InstrInfo.h" #include "BeefySysLib/util/HashSet.h" +#include "../../llvm/lib/Target/X86/TargetInfo/X86TargetInfo.h" #pragma warning(pop) @@ -827,8 +828,9 @@ X64CPU::X64CPU() : if (!mRegisterInfo) return; + MCTargetOptions options; // Get the assembler info needed to setup the MCContext. - mAsmInfo = TheX86_64Target.createMCAsmInfo(*mRegisterInfo, triple); + mAsmInfo = TheX86_64Target.createMCAsmInfo(*mRegisterInfo, triple, options); if (!mAsmInfo) return; @@ -876,8 +878,9 @@ bool X64CPU::Decode(uint64 address, DbgModuleMemoryCache* memoryCache, X64Instr* uint8 data[15]; memoryCache->Read(address, data, 15); + mDisAsm->CommentStream = &inst->mAnnotationStream; ArrayRef dataArrayRef(data, data + 15); - MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(inst->mMCInst, size, dataArrayRef, address, nulls(), inst->mAnnotationStream); + MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(inst->mMCInst, size, dataArrayRef, address, nulls()); inst->mSize = (int)size; return S == MCDisassembler::Success; @@ -898,8 +901,9 @@ bool X64CPU::Decode(uint64 baseAddress, const uint8* dataBase, int dataLength, c //TODO: LLVM3.8 //MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(inst->mMCInst, size, region, address, nulls(), inst->mAnnotationStream); + mDisAsm->CommentStream = &inst->mAnnotationStream; ArrayRef dataArrayRef(dataPtr, dataLength - (dataPtr - dataBase)); - MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(inst->mMCInst, size, dataArrayRef, address, nulls(), inst->mAnnotationStream); + MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(inst->mMCInst, size, dataArrayRef, address, nulls()); inst->mSize = (int)size; return S == MCDisassembler::Success; @@ -927,8 +931,9 @@ void X64CPU::GetNextPC(uint64 baseAddress, const uint8* dataBase, int dataLength uint64 size = 0; MCInst mcInst; //MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(mcInst, size, region, address, nulls(), nulls()); + mDisAsm->CommentStream = &nulls(); ArrayRef dataArrayRef(dataPtr, dataLength - (dataPtr - dataBase)); - MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(mcInst, size, dataArrayRef, address, nulls(), nulls()); + MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(mcInst, size, dataArrayRef, address, nulls()); } @@ -945,7 +950,7 @@ String X64CPU::InstructionToString(X64Instr* inst, uint64 addr) SmallVector insnStr; raw_svector_ostream OS(insnStr); //mInstPrinter->CurPCRelImmOffset = addr + inst->GetLength(); - mInstPrinter->printInst(&inst->mMCInst, OS, annotationsStr, *mSubtargetInfo); + mInstPrinter->printInst(&inst->mMCInst, addr, annotationsStr, *mSubtargetInfo, OS); //OS.flush(); //llvm::StringRef str = OS.str(); diff --git a/IDEHelper/X86.cpp b/IDEHelper/X86.cpp index 51967cb3..f469d520 100644 --- a/IDEHelper/X86.cpp +++ b/IDEHelper/X86.cpp @@ -31,6 +31,7 @@ #include "X86/MCTargetDesc/X86BaseInfo.h" #include "X86InstrInfo.h" #include "BeefySysLib/util/HashSet.h" +#include "../../llvm/lib/Target/X86/TargetInfo/X86TargetInfo.h" #pragma warning(pop) @@ -428,8 +429,9 @@ X86CPU::X86CPU() : if (!mRegisterInfo) return; + MCTargetOptions options; // Get the assembler info needed to setup the MCContext. - mAsmInfo = TheX86_32Target.createMCAsmInfo(*mRegisterInfo, triple); + mAsmInfo = TheX86_32Target.createMCAsmInfo(*mRegisterInfo, triple, options); if (!mAsmInfo) return; @@ -486,8 +488,9 @@ bool X86CPU::Decode(uint32 address, DbgModuleMemoryCache* memoryCache, X86Instr* uint8 data[15]; memoryCache->Read(address, data, 15); + mDisAsm->CommentStream = &inst->mAnnotationStream; ArrayRef dataArrayRef(data, data + 15); - MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(inst->mMCInst, size, dataArrayRef, address, nulls(), inst->mAnnotationStream); + MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(inst->mMCInst, size, dataArrayRef, address, nulls()); inst->mSize = (int)size; return S == MCDisassembler::Success; @@ -508,8 +511,9 @@ bool X86CPU::Decode(uint32 baseAddress, const uint8* dataBase, int dataLength, c //TODO: LLVM3.8 //MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(inst->mMCInst, size, region, address, nulls(), inst->mAnnotationStream); + mDisAsm->CommentStream = &inst->mAnnotationStream; ArrayRef dataArrayRef(dataPtr, dataLength - (dataPtr - dataBase)); - MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(inst->mMCInst, size, dataArrayRef, address, nulls(), inst->mAnnotationStream); + MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(inst->mMCInst, size, dataArrayRef, address, nulls()); inst->mSize = (int)size; return S == MCDisassembler::Success; @@ -523,8 +527,9 @@ void X86CPU::GetNextPC(uint32 baseAddress, const uint8* dataBase, int dataLength uint64 size = 0; MCInst mcInst; //MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(mcInst, size, region, address, nulls(), nulls()); + mDisAsm->CommentStream = &nulls(); ArrayRef dataArrayRef(dataPtr, dataLength - (dataPtr - dataBase)); - MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(mcInst, size, dataArrayRef, address, nulls(), nulls()); + MCDisassembler::DecodeStatus S = mDisAsm->getInstruction(mcInst, size, dataArrayRef, address, nulls()); } @@ -541,7 +546,7 @@ String X86CPU::InstructionToString(X86Instr* inst, uint32 addr) SmallVector insnStr; raw_svector_ostream OS(insnStr); //mInstPrinter->CurPCRelImmOffset = addr + inst->GetLength(); - mInstPrinter->printInst(&inst->mMCInst, OS, annotationsStr, *mSubtargetInfo); + mInstPrinter->printInst(&inst->mMCInst, addr, annotationsStr, *mSubtargetInfo, OS); //OS.flush(); //llvm::StringRef str = OS.str(); diff --git a/IDEHelper/X86Target.cpp b/IDEHelper/X86Target.cpp index efe84275..5a5b80fa 100644 --- a/IDEHelper/X86Target.cpp +++ b/IDEHelper/X86Target.cpp @@ -28,6 +28,22 @@ #include "X86/MCTargetDesc/X86BaseInfo.h" #include "llvm/Support/TargetSelect.h" +#include "llvm/Transforms/Scalar.h" +#include "llvm-c/Initialization.h" +#include "llvm-c/Transforms/Scalar.h" +#include "llvm/Analysis/BasicAliasAnalysis.h" +#include "llvm/Analysis/Passes.h" +#include "llvm/Analysis/ScopedNoAliasAA.h" +#include "llvm/Analysis/TypeBasedAliasAnalysis.h" +#include "llvm/IR/DataLayout.h" +#include "llvm/IR/LegacyPassManager.h" +#include "llvm/IR/Verifier.h" +#include "llvm/InitializePasses.h" +#include "llvm/Transforms/Scalar/GVN.h" +#include "llvm/Transforms/Scalar/Scalarizer.h" +#include "llvm/Transforms/Scalar/SimpleLoopUnswitch.h" +#include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h" + #include "BeefySysLib/util/AllocDebug.h" USING_NS_BF; diff --git a/bin/build.bat b/bin/build.bat index 85dc4756..ef8ae76d 100644 --- a/bin/build.bat +++ b/bin/build.bat @@ -14,7 +14,7 @@ PUSHD %~dp0..\ mkdir stats :STATS_HAS -@IF EXIST extern\llvm-project_8_0_1 GOTO LLVM_HAS +@IF EXIST extern\llvm-project_11_0_0 GOTO LLVM_HAS call extern\llvm_build.bat @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR :LLVM_HAS diff --git a/extern/hunspell/src/win_api/libhunspell.vcxproj b/extern/hunspell/src/win_api/libhunspell.vcxproj index feeec314..f36bcd03 100644 --- a/extern/hunspell/src/win_api/libhunspell.vcxproj +++ b/extern/hunspell/src/win_api/libhunspell.vcxproj @@ -43,53 +43,53 @@ DynamicLibrary - v141 + v142 false MultiByte DynamicLibrary - v141 + v142 false MultiByte DynamicLibrary - v141 + v142 false MultiByte true DynamicLibrary - v141 + v142 false MultiByte true StaticLibrary - v141 + v142 false NotSet true StaticLibrary - v141 + v142 false NotSet true StaticLibrary - v141 + v142 false NotSet StaticLibrary - v141 + v142 false NotSet diff --git a/extern/llvm_build.bat b/extern/llvm_build.bat index fcfbbd2f..5e9b533d 100644 --- a/extern/llvm_build.bat +++ b/extern/llvm_build.bat @@ -1,26 +1,26 @@ PUSHD %~dp0 -@IF EXIST llvm-project_8_0_1 GOTO LLVM_HAS -git clone --config core.autocrlf=false https://github.com/llvm/llvm-project.git llvm-project_8_0_1 -pushd llvm-project_8_0_1 +@IF EXIST llvm-project_11_0_0 GOTO LLVM_HAS +git clone --config core.autocrlf=false https://github.com/llvm/llvm-project.git llvm-project_11_0_0 +pushd llvm-project_11_0_0 GOTO :LLVM_SET :LLVM_HAS -pushd llvm-project_8_0_1 +pushd llvm-project_11_0_0 git pull origin master :LLVM_SET -git checkout llvmorg-8.0.1 +git checkout llvmorg-11.0.0 popd -@IF EXIST llvm_win64_8_0_1 GOTO HAS_CONFIG +@IF EXIST llvm_win64_11_0_0 GOTO HAS_CONFIG -mkdir llvm_win64_8_0_1 -cd llvm_win64_8_0_1 -cmake ../llvm-project_8_0_1/llvm -Thost=x64 -G"Visual Studio 15 2017 Win64" -DLLVM_USE_CRT_DEBUG:STRING="MTd" -DLLVM_USE_CRT_RELEASE:STRING="MT" +mkdir llvm_win64_11_0_0 +cd llvm_win64_11_0_0 +cmake ../llvm-project_11_0_0/llvm -Thost=x64 -DLLVM_USE_CRT_DEBUG:STRING="MTd" -DLLVM_USE_CRT_RELEASE:STRING="MT" @GOTO DOBUILD :HAS_CONFIG -cd llvm_win64_8_0_1 +cd llvm_win64_11_0_0 @GOTO DOBUILD :DOBUILD