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