diff options
| author | Anuj Mittal <anuj.mittal@intel.com> | 2021-09-21 10:22:49 +0800 |
|---|---|---|
| committer | Anuj Mittal <anuj.mittal@intel.com> | 2021-09-30 15:52:23 +0800 |
| commit | 8a1fb876b05a6c66e26dd2e42dee6f19bcfbd421 (patch) | |
| tree | 70f223dda36d281939e0db798f43212b165ce069 /dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-LLVM-13-fixes.patch | |
| parent | de377897d6e35f69dbf0ca540622272cad0b1081 (diff) | |
| download | meta-intel-8a1fb876b05a6c66e26dd2e42dee6f19bcfbd421.tar.gz | |
intel-graphics-compiler: upgrade 1.0.8365 -> 1.0.8708
Remove patches that are not required now.
IGC_BUILD__USE_KHRONOS_SPIRV_TRANSLATOR has been renamed so it wasn't
taking effect. Remove the option for now.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Diffstat (limited to 'dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-LLVM-13-fixes.patch')
| -rw-r--r-- | dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-LLVM-13-fixes.patch | 437 |
1 files changed, 0 insertions, 437 deletions
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-LLVM-13-fixes.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-LLVM-13-fixes.patch deleted file mode 100644 index b102af0f..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-LLVM-13-fixes.patch +++ /dev/null | |||
| @@ -1,437 +0,0 @@ | |||
| 1 | From 6247039d9193adf3813375fefc95071e8f5b4097 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Buildbot <buildbot@xenial.com> | ||
| 3 | Date: Fri, 27 Aug 2021 07:07:04 +0000 | ||
| 4 | Subject: [PATCH] LLVM 13 fixes | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> | ||
| 10 | Upstream-Status: Submitted | ||
| 11 | --- | ||
| 12 | .../LegalizeFunctionSignatures.cpp | 4 ++++ | ||
| 13 | IGC/AdaptorOCL/OCL/sp/spp_g8.cpp | 6 ++++- | ||
| 14 | IGC/AdaptorOCL/SPIRV/SPIRVReader.cpp | 8 +++++++ | ||
| 15 | IGC/AdaptorOCL/SPIRV/SPIRVUtil.cpp | 8 +++++++ | ||
| 16 | IGC/Compiler/GenTTI.cpp | 4 ++++ | ||
| 17 | IGC/Compiler/GenTTI.h | 4 ++++ | ||
| 18 | IGC/Compiler/Optimizer/BuiltInFuncImport.cpp | 4 ++++ | ||
| 19 | IGC/Compiler/Optimizer/CodeAssumption.cpp | 5 ++++ | ||
| 20 | .../AddressSpaceAliasAnalysis.cpp | 23 +++++++++++++++++++ | ||
| 21 | .../PrivateMemory/PrivateMemoryResolution.cpp | 3 +++ | ||
| 22 | IGC/DebugInfo/DwarfDebug.cpp | 8 +++++++ | ||
| 23 | IGC/DebugInfo/StreamEmitter.cpp | 14 ++++++++++- | ||
| 24 | IGC/ElfPackager/main.cpp | 4 ++++ | ||
| 25 | .../BuiltinsFrontendDefinitions.hpp | 2 +- | ||
| 26 | .../lib/GenXCodeGen/GenXTargetMachine.h | 4 ++++ | ||
| 27 | .../include/llvmWrapper/Transforms/Scalar.h | 2 +- | ||
| 28 | IGC/common/LLVMUtils.cpp | 12 ++++++++++ | ||
| 29 | visa/iga/IGALibrary/IR/BitSet.hpp | 2 ++ | ||
| 30 | 18 files changed, 113 insertions(+), 4 deletions(-) | ||
| 31 | |||
| 32 | diff --git a/IGC/AdaptorCommon/LegalizeFunctionSignatures.cpp b/IGC/AdaptorCommon/LegalizeFunctionSignatures.cpp | ||
| 33 | index ee43be301..395f26c91 100644 | ||
| 34 | --- a/IGC/AdaptorCommon/LegalizeFunctionSignatures.cpp | ||
| 35 | +++ b/IGC/AdaptorCommon/LegalizeFunctionSignatures.cpp | ||
| 36 | @@ -377,7 +377,11 @@ void LegalizeFunctionSignatures::FixFunctionBody(Module& M) | ||
| 37 | } | ||
| 38 | |||
| 39 | // Clone the old function body into the new | ||
| 40 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 41 | + CloneFunctionInto(pNewFunc, pFunc, VMap, CloneFunctionChangeType::DifferentModule, Returns); | ||
| 42 | +#else | ||
| 43 | CloneFunctionInto(pNewFunc, pFunc, VMap, true, Returns); | ||
| 44 | +#endif | ||
| 45 | |||
| 46 | // Merge the BB for when extra instructions were created | ||
| 47 | BasicBlock* ClonedEntryBB = cast<BasicBlock>(VMap[&*pFunc->begin()]); | ||
| 48 | diff --git a/IGC/AdaptorOCL/OCL/sp/spp_g8.cpp b/IGC/AdaptorOCL/OCL/sp/spp_g8.cpp | ||
| 49 | index 6f7c711bc..8d8c4e50d 100644 | ||
| 50 | --- a/IGC/AdaptorOCL/OCL/sp/spp_g8.cpp | ||
| 51 | +++ b/IGC/AdaptorOCL/OCL/sp/spp_g8.cpp | ||
| 52 | @@ -387,7 +387,11 @@ bool createElfFileName(std::string &name, unsigned int maxNameLen, SIMDMode simd | ||
| 53 | unsigned int mode = sys::fs::perms::all_read | sys::fs::perms::all_write; | ||
| 54 | // Every '%' will be replaced with a random character (0-9 or a-f), taking care of multithreaded compilations | ||
| 55 | if (std::error_code EC = sys::fs::createUniqueFile( | ||
| 56 | - uniqueLockFileName, uniqueLockFileID, resultUniqueLockFileName, mode)) | ||
| 57 | + uniqueLockFileName, uniqueLockFileID, resultUniqueLockFileName, | ||
| 58 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 59 | + llvm::sys::fs::OF_None, | ||
| 60 | +#endif | ||
| 61 | + mode)) | ||
| 62 | { | ||
| 63 | IGC_ASSERT_MESSAGE(false, "A uniquely named file not created"); | ||
| 64 | retValue = false; | ||
| 65 | diff --git a/IGC/AdaptorOCL/SPIRV/SPIRVReader.cpp b/IGC/AdaptorOCL/SPIRV/SPIRVReader.cpp | ||
| 66 | index 65e672afe..f28136a6a 100644 | ||
| 67 | --- a/IGC/AdaptorOCL/SPIRV/SPIRVReader.cpp | ||
| 68 | +++ b/IGC/AdaptorOCL/SPIRV/SPIRVReader.cpp | ||
| 69 | @@ -97,7 +97,11 @@ isOpenCLKernel(SPIRVFunction *BF) { | ||
| 70 | __attr_unused static void | ||
| 71 | dumpLLVM(Module *M, const std::string &FName) { | ||
| 72 | std::error_code EC; | ||
| 73 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 74 | + raw_fd_ostream FS(FName, EC, sys::fs::OF_None); | ||
| 75 | +#else | ||
| 76 | raw_fd_ostream FS(FName, EC, sys::fs::F_None); | ||
| 77 | +#endif | ||
| 78 | if (!FS.has_error()) { | ||
| 79 | FS << *M; | ||
| 80 | } | ||
| 81 | @@ -2413,7 +2417,11 @@ SPIRVToLLVM::postProcessFunctionsReturnStruct(Function *F) { | ||
| 82 | NewArgIt->setName(OldArgIt->getName()); | ||
| 83 | VMap[&*OldArgIt] = &*NewArgIt; | ||
| 84 | } | ||
| 85 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 86 | + CloneFunctionInto(NewF, F, VMap, CloneFunctionChangeType::DifferentModule, Returns); | ||
| 87 | +#else | ||
| 88 | CloneFunctionInto(NewF, F, VMap, true, Returns); | ||
| 89 | +#endif | ||
| 90 | auto DL = M->getDataLayout(); | ||
| 91 | const auto ptrSize = DL.getPointerSize(); | ||
| 92 | |||
| 93 | diff --git a/IGC/AdaptorOCL/SPIRV/SPIRVUtil.cpp b/IGC/AdaptorOCL/SPIRV/SPIRVUtil.cpp | ||
| 94 | index ecb045b88..0a0893e4a 100644 | ||
| 95 | --- a/IGC/AdaptorOCL/SPIRV/SPIRVUtil.cpp | ||
| 96 | +++ b/IGC/AdaptorOCL/SPIRV/SPIRVUtil.cpp | ||
| 97 | @@ -67,7 +67,11 @@ namespace igc_spv{ | ||
| 98 | void | ||
| 99 | saveLLVMModule(Module *M, const std::string &OutputFile) { | ||
| 100 | std::error_code EC; | ||
| 101 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 102 | + llvm::ToolOutputFile Out(OutputFile.c_str(), EC, sys::fs::OF_None); | ||
| 103 | +#else | ||
| 104 | llvm::ToolOutputFile Out(OutputFile.c_str(), EC, sys::fs::F_None); | ||
| 105 | +#endif | ||
| 106 | IGC_ASSERT_EXIT_MESSAGE((!EC), "Failed to open file"); | ||
| 107 | IGCLLVM::WriteBitcodeToFile(M, Out.os()); | ||
| 108 | Out.keep(); | ||
| 109 | @@ -326,7 +330,11 @@ mutateCallInst(Module *M, CallInst *CI, | ||
| 110 | } | ||
| 111 | } | ||
| 112 | |||
| 113 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 114 | + CloneFunctionInto(NewF, OldF, VMap, CloneFunctionChangeType::DifferentModule, Returns); | ||
| 115 | +#else | ||
| 116 | CloneFunctionInto(NewF, OldF, VMap, true, Returns); | ||
| 117 | +#endif | ||
| 118 | |||
| 119 | // Merge the basic block with Load instruction with the original entry basic block. | ||
| 120 | BasicBlock* ClonedEntryBB = cast<BasicBlock>(VMap[&*OldF->begin()]); | ||
| 121 | diff --git a/IGC/Compiler/GenTTI.cpp b/IGC/Compiler/GenTTI.cpp | ||
| 122 | index 8a74ec287..23c9bc6ed 100644 | ||
| 123 | --- a/IGC/Compiler/GenTTI.cpp | ||
| 124 | +++ b/IGC/Compiler/GenTTI.cpp | ||
| 125 | @@ -461,7 +461,11 @@ namespace llvm { | ||
| 126 | // [LLVM-UPGRADE] moved from getCallCost to getUserCost | ||
| 127 | // https://github.com/llvm/llvm-project/commit/2641a19981e71c887bece92074e00d1af3e716c9#diff-dd4bd65dc55d754674d9a945a0d22911 | ||
| 128 | |||
| 129 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 130 | + InstructionCost GenIntrinsicsTTIImpl::getUserCost(const User *U, ArrayRef<const Value *> Operands, TTI::TargetCostKind CostKind) | ||
| 131 | +#else | ||
| 132 | int GenIntrinsicsTTIImpl::getUserCost(const User *U, ArrayRef<const Value *> Operands, TTI::TargetCostKind CostKind) | ||
| 133 | +#endif | ||
| 134 | { | ||
| 135 | const Function* F = dyn_cast<Function>(U); | ||
| 136 | if(F != nullptr) | ||
| 137 | diff --git a/IGC/Compiler/GenTTI.h b/IGC/Compiler/GenTTI.h | ||
| 138 | index bab1a5c4a..0b3bf4541 100644 | ||
| 139 | --- a/IGC/Compiler/GenTTI.h | ||
| 140 | +++ b/IGC/Compiler/GenTTI.h | ||
| 141 | @@ -71,8 +71,12 @@ namespace llvm | ||
| 142 | , const User * U | ||
| 143 | #endif | ||
| 144 | ); | ||
| 145 | +#else | ||
| 146 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 147 | + InstructionCost getUserCost(const User *U, ArrayRef<const Value *> Operands, | ||
| 148 | #else | ||
| 149 | int getUserCost(const User *U, ArrayRef<const Value *> Operands, | ||
| 150 | +#endif | ||
| 151 | TTI::TargetCostKind CostKind); | ||
| 152 | #endif | ||
| 153 | |||
| 154 | diff --git a/IGC/Compiler/Optimizer/BuiltInFuncImport.cpp b/IGC/Compiler/Optimizer/BuiltInFuncImport.cpp | ||
| 155 | index e7995ebb4..035bfba85 100644 | ||
| 156 | --- a/IGC/Compiler/Optimizer/BuiltInFuncImport.cpp | ||
| 157 | +++ b/IGC/Compiler/Optimizer/BuiltInFuncImport.cpp | ||
| 158 | @@ -880,7 +880,11 @@ void BIImport::removeFunctionBitcasts(Module& M) | ||
| 159 | pDstFunc, | ||
| 160 | funcTobeChanged, | ||
| 161 | operandMap, | ||
| 162 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 163 | + CloneFunctionChangeType::LocalChangesOnly, | ||
| 164 | +#else | ||
| 165 | false, | ||
| 166 | +#endif | ||
| 167 | Returns, | ||
| 168 | ""); | ||
| 169 | |||
| 170 | diff --git a/IGC/Compiler/Optimizer/CodeAssumption.cpp b/IGC/Compiler/Optimizer/CodeAssumption.cpp | ||
| 171 | index e7208a5fa..3ee9bddca 100644 | ||
| 172 | --- a/IGC/Compiler/Optimizer/CodeAssumption.cpp | ||
| 173 | +++ b/IGC/Compiler/Optimizer/CodeAssumption.cpp | ||
| 174 | @@ -272,7 +272,12 @@ bool CodeAssumption::addAssumption(Function* F, AssumptionCache* AC) | ||
| 175 | // Register assumption | ||
| 176 | if (AC) | ||
| 177 | { | ||
| 178 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 179 | + if (auto *aI = dyn_cast<AssumeInst>(assumeInst)) | ||
| 180 | + AC->registerAssumption(aI); | ||
| 181 | +#else | ||
| 182 | AC->registerAssumption(assumeInst); | ||
| 183 | +#endif | ||
| 184 | } | ||
| 185 | |||
| 186 | assumptionAdded[PN] = 1; | ||
| 187 | diff --git a/IGC/Compiler/Optimizer/OpenCLPasses/AddressSpaceAliasAnalysis/AddressSpaceAliasAnalysis.cpp b/IGC/Compiler/Optimizer/OpenCLPasses/AddressSpaceAliasAnalysis/AddressSpaceAliasAnalysis.cpp | ||
| 188 | index a2b5927ea..1516e40e8 100644 | ||
| 189 | --- a/IGC/Compiler/Optimizer/OpenCLPasses/AddressSpaceAliasAnalysis/AddressSpaceAliasAnalysis.cpp | ||
| 190 | +++ b/IGC/Compiler/Optimizer/OpenCLPasses/AddressSpaceAliasAnalysis/AddressSpaceAliasAnalysis.cpp | ||
| 191 | @@ -7,6 +7,9 @@ SPDX-License-Identifier: MIT | ||
| 192 | ============================= end_copyright_notice ===========================*/ | ||
| 193 | |||
| 194 | #include "llvm/Config/llvm-config.h" | ||
| 195 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 196 | +#include <llvm/Analysis/AliasAnalysis.h> | ||
| 197 | +#endif | ||
| 198 | #include <llvm/Analysis/TargetLibraryInfo.h> | ||
| 199 | #include "Compiler/Optimizer/OpenCLPasses/AddressSpaceAliasAnalysis/AddressSpaceAliasAnalysis.h" | ||
| 200 | #include "Compiler/CodeGenPublic.h" | ||
| 201 | @@ -45,7 +48,11 @@ namespace { | ||
| 202 | PointerType* PtrTy2 = dyn_cast<PointerType>(LocB.Ptr->getType()); | ||
| 203 | |||
| 204 | if (!PtrTy1 || !PtrTy2) | ||
| 205 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 206 | + return AliasResult::Kind::NoAlias; | ||
| 207 | +#else | ||
| 208 | return NoAlias; | ||
| 209 | +#endif | ||
| 210 | |||
| 211 | unsigned AS1 = PtrTy1->getAddressSpace(); | ||
| 212 | unsigned AS2 = PtrTy2->getAddressSpace(); | ||
| 213 | @@ -62,21 +69,33 @@ namespace { | ||
| 214 | AS1 != ADDRESS_SPACE_GENERIC && | ||
| 215 | AS2 != ADDRESS_SPACE_GENERIC && | ||
| 216 | AS1 != AS2) | ||
| 217 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 218 | + return AliasResult::Kind::NoAlias; | ||
| 219 | +#else | ||
| 220 | return NoAlias; | ||
| 221 | +#endif | ||
| 222 | |||
| 223 | |||
| 224 | // Shared local memory doesn't alias any statefull memory. | ||
| 225 | if ((AS1 == ADDRESS_SPACE_LOCAL && AS2 > ADDRESS_SPACE_NUM_ADDRESSES) || | ||
| 226 | (AS1 > ADDRESS_SPACE_NUM_ADDRESSES && AS2 == ADDRESS_SPACE_LOCAL)) | ||
| 227 | { | ||
| 228 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 229 | + return AliasResult::Kind::NoAlias; | ||
| 230 | +#else | ||
| 231 | return NoAlias; | ||
| 232 | +#endif | ||
| 233 | } | ||
| 234 | |||
| 235 | // Private memory doesn't alias any stateful memory | ||
| 236 | if ((AS1 == ADDRESS_SPACE_PRIVATE && AS2 > ADDRESS_SPACE_NUM_ADDRESSES) || | ||
| 237 | (AS1 > ADDRESS_SPACE_NUM_ADDRESSES && AS2 == ADDRESS_SPACE_PRIVATE)) | ||
| 238 | { | ||
| 239 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 240 | + return AliasResult::Kind::NoAlias; | ||
| 241 | +#else | ||
| 242 | return NoAlias; | ||
| 243 | +#endif | ||
| 244 | } | ||
| 245 | |||
| 246 | |||
| 247 | @@ -108,7 +127,11 @@ namespace { | ||
| 248 | if ((resourceType[0] != resourceType[1]) || // different resource types | ||
| 249 | (isDirectAccess[0] && isDirectAccess[1] && resourceIndex[0] != resourceIndex[1])) // direct access to different BTIs | ||
| 250 | { | ||
| 251 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 252 | + return AliasResult::Kind::NoAlias; | ||
| 253 | +#else | ||
| 254 | return NoAlias; | ||
| 255 | +#endif | ||
| 256 | } | ||
| 257 | } | ||
| 258 | } | ||
| 259 | diff --git a/IGC/Compiler/Optimizer/OpenCLPasses/PrivateMemory/PrivateMemoryResolution.cpp b/IGC/Compiler/Optimizer/OpenCLPasses/PrivateMemory/PrivateMemoryResolution.cpp | ||
| 260 | index 48c7e8637..8b9618284 100644 | ||
| 261 | --- a/IGC/Compiler/Optimizer/OpenCLPasses/PrivateMemory/PrivateMemoryResolution.cpp | ||
| 262 | +++ b/IGC/Compiler/Optimizer/OpenCLPasses/PrivateMemory/PrivateMemoryResolution.cpp | ||
| 263 | @@ -17,6 +17,9 @@ SPDX-License-Identifier: MIT | ||
| 264 | #include "llvmWrapper/IR/DerivedTypes.h" | ||
| 265 | #include "llvm/Transforms/Utils/Local.h" | ||
| 266 | #include "llvm/IR/DataLayout.h" | ||
| 267 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 268 | +#include "llvm/IR/DebugInfo.h" | ||
| 269 | +#endif | ||
| 270 | #include "llvm/IR/DebugInfoMetadata.h" | ||
| 271 | #include "llvm/IR/Dominators.h" | ||
| 272 | #include "common/LLVMWarningsPop.hpp" | ||
| 273 | diff --git a/IGC/DebugInfo/DwarfDebug.cpp b/IGC/DebugInfo/DwarfDebug.cpp | ||
| 274 | index f57dd72cb..d984fe86f 100644 | ||
| 275 | --- a/IGC/DebugInfo/DwarfDebug.cpp | ||
| 276 | +++ b/IGC/DebugInfo/DwarfDebug.cpp | ||
| 277 | @@ -857,9 +857,17 @@ CompileUnit* DwarfDebug::constructCompileUnit(DICompileUnit* DIUnit) | ||
| 278 | { | ||
| 279 | std::string str; | ||
| 280 | str = "Intel OpenCL "; | ||
| 281 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 282 | + str += toString(op1->getValue()->getUniqueInteger(), 10, false); | ||
| 283 | +#else | ||
| 284 | str += op1->getValue()->getUniqueInteger().toString(10, false); | ||
| 285 | +#endif | ||
| 286 | str += "."; | ||
| 287 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 288 | + str += toString(op2->getValue()->getUniqueInteger(), 10, false); | ||
| 289 | +#else | ||
| 290 | str += op2->getValue()->getUniqueInteger().toString(10, false); | ||
| 291 | +#endif | ||
| 292 | |||
| 293 | NewCU->addString(Die, dwarf::DW_AT_description, llvm::StringRef(str)); | ||
| 294 | } | ||
| 295 | diff --git a/IGC/DebugInfo/StreamEmitter.cpp b/IGC/DebugInfo/StreamEmitter.cpp | ||
| 296 | index a38a445d5..e9a5b6279 100644 | ||
| 297 | --- a/IGC/DebugInfo/StreamEmitter.cpp | ||
| 298 | +++ b/IGC/DebugInfo/StreamEmitter.cpp | ||
| 299 | @@ -391,11 +391,23 @@ StreamEmitter::StreamEmitter(raw_pwrite_stream& outStream, | ||
| 300 | |||
| 301 | MCRegisterInfo* regInfo = nullptr; | ||
| 302 | |||
| 303 | + Triple triple = Triple(GetTargetTriple()); | ||
| 304 | + | ||
| 305 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 306 | + // Create new MC context | ||
| 307 | + m_pContext = new MCContext(Triple(GetTargetTriple()), | ||
| 308 | + (const llvm::MCAsmInfo*)m_pAsmInfo, regInfo, | ||
| 309 | + /*MSTI=*/(const llvm::MCSubtargetInfo *)nullptr, m_pSrcMgr); | ||
| 310 | + | ||
| 311 | + m_pObjFileInfo->initMCObjectFileInfo(*m_pContext, false); | ||
| 312 | + | ||
| 313 | + m_pContext->setObjectFileInfo(m_pObjFileInfo); | ||
| 314 | +#else | ||
| 315 | // Create new MC context | ||
| 316 | m_pContext = new MCContext((const llvm::MCAsmInfo*)m_pAsmInfo, regInfo, m_pObjFileInfo, m_pSrcMgr); | ||
| 317 | |||
| 318 | - Triple triple = Triple(GetTargetTriple()); | ||
| 319 | m_pObjFileInfo->InitMCObjectFileInfo(Triple(GetTargetTriple()), false, *m_pContext); | ||
| 320 | +#endif | ||
| 321 | |||
| 322 | bool is64Bit = GetPointerSize() == 8; | ||
| 323 | uint8_t osABI = MCELFObjectTargetWriter::getOSABI(triple.getOS()); | ||
| 324 | diff --git a/IGC/ElfPackager/main.cpp b/IGC/ElfPackager/main.cpp | ||
| 325 | index 38a5001c1..5f4d87d96 100644 | ||
| 326 | --- a/IGC/ElfPackager/main.cpp | ||
| 327 | +++ b/IGC/ElfPackager/main.cpp | ||
| 328 | @@ -177,7 +177,11 @@ std::unique_ptr<IGCLLVM::Module> LocalCloneModule( | ||
| 329 | } | ||
| 330 | |||
| 331 | SmallVector<ReturnInst*, 8> Returns; // Ignore returns cloned. | ||
| 332 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 333 | + CloneFunctionInto(F, &*I, VMap, CloneFunctionChangeType::DifferentModule, Returns); | ||
| 334 | +#else | ||
| 335 | CloneFunctionInto(F, &*I, VMap, /*ModuleLevelChanges=*/true, Returns); | ||
| 336 | +#endif | ||
| 337 | } | ||
| 338 | |||
| 339 | if (I->hasPersonalityFn()) | ||
| 340 | diff --git a/IGC/LLVM3DBuilder/BuiltinsFrontendDefinitions.hpp b/IGC/LLVM3DBuilder/BuiltinsFrontendDefinitions.hpp | ||
| 341 | index b5f66f048..568b42c07 100644 | ||
| 342 | --- a/IGC/LLVM3DBuilder/BuiltinsFrontendDefinitions.hpp | ||
| 343 | +++ b/IGC/LLVM3DBuilder/BuiltinsFrontendDefinitions.hpp | ||
| 344 | @@ -5028,7 +5028,7 @@ llvm::Value* LLVM3DBuilder<preserveNames, T, Inserter>::ScalarsToVector( | ||
| 345 | IGC_ASSERT(nullptr != resultType); | ||
| 346 | llvm::Value* result = llvm::UndefValue::get(resultType); | ||
| 347 | |||
| 348 | - for (unsigned i = 0; i < llvm::cast<llvm::VectorType>(resultType)->getNumElements(); i++) | ||
| 349 | + for (unsigned i = 0; i < llvm::cast<IGCLLVM::FixedVectorType>(resultType)->getNumElements(); i++) | ||
| 350 | { | ||
| 351 | IGC_ASSERT(nullptr != scalars[i]); | ||
| 352 | IGC_ASSERT(llvm::cast<llvm::VectorType>(resultType)->getElementType() == scalars[i]->getType()); | ||
| 353 | diff --git a/IGC/VectorCompiler/lib/GenXCodeGen/GenXTargetMachine.h b/IGC/VectorCompiler/lib/GenXCodeGen/GenXTargetMachine.h | ||
| 354 | index f90bc1bc0..8ce06e93f 100644 | ||
| 355 | --- a/IGC/VectorCompiler/lib/GenXCodeGen/GenXTargetMachine.h | ||
| 356 | +++ b/IGC/VectorCompiler/lib/GenXCodeGen/GenXTargetMachine.h | ||
| 357 | @@ -97,7 +97,11 @@ public: | ||
| 358 | bool shouldBuildLookupTables() { return false; } | ||
| 359 | unsigned getFlatAddressSpace() { return 4; } | ||
| 360 | |||
| 361 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 362 | + InstructionCost getUserCost(const User *U, ArrayRef<const Value *> Operands | ||
| 363 | +#else | ||
| 364 | int getUserCost(const User *U, ArrayRef<const Value *> Operands | ||
| 365 | +#endif | ||
| 366 | #if LLVM_VERSION_MAJOR >= 11 | ||
| 367 | , | ||
| 368 | TTI::TargetCostKind CostKind | ||
| 369 | diff --git a/IGC/WrapperLLVM/include/llvmWrapper/Transforms/Scalar.h b/IGC/WrapperLLVM/include/llvmWrapper/Transforms/Scalar.h | ||
| 370 | index 1df041372..022141d15 100644 | ||
| 371 | --- a/IGC/WrapperLLVM/include/llvmWrapper/Transforms/Scalar.h | ||
| 372 | +++ b/IGC/WrapperLLVM/include/llvmWrapper/Transforms/Scalar.h | ||
| 373 | @@ -26,7 +26,7 @@ namespace IGCLLVM | ||
| 374 | { | ||
| 375 | return llvm::createLoopUnrollPass(OptLevel, false, Threshold, Count, AllowPartial, Runtime, UpperBound, AllowPeeling); | ||
| 376 | } | ||
| 377 | -#elif LLVM_VERSION_MAJOR >= 9 && LLVM_VERSION_MAJOR <= 12 | ||
| 378 | +#elif LLVM_VERSION_MAJOR >= 9 && LLVM_VERSION_MAJOR <= 13 | ||
| 379 | inline static llvm::Pass * createLoopUnrollPass( | ||
| 380 | int OptLevel = 2, int Threshold = -1, int Count = -1, | ||
| 381 | int AllowPartial = -1, int Runtime = -1, | ||
| 382 | diff --git a/IGC/common/LLVMUtils.cpp b/IGC/common/LLVMUtils.cpp | ||
| 383 | index ed2cfc413..ae9df5d63 100644 | ||
| 384 | --- a/IGC/common/LLVMUtils.cpp | ||
| 385 | +++ b/IGC/common/LLVMUtils.cpp | ||
| 386 | @@ -132,7 +132,11 @@ bool IGCPassManager::isInList(const StringRef& N, const StringRef& List) const | ||
| 387 | size_t endPos = List.find_first_of(Separators, startPos); | ||
| 388 | size_t len = (endPos != StringRef::npos ? endPos - startPos : endPos); | ||
| 389 | StringRef Name = List.substr(startPos, len); | ||
| 390 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 391 | + if (Name.equals_insensitive(N)) | ||
| 392 | +#else | ||
| 393 | if (Name.equals_lower(N)) | ||
| 394 | +#endif | ||
| 395 | { | ||
| 396 | return true; | ||
| 397 | } | ||
| 398 | @@ -149,7 +153,11 @@ bool IGCPassManager::isPrintBefore(Pass* P) | ||
| 399 | // or pass command args registered in passInfo. | ||
| 400 | StringRef passNameList(IGC_GET_REGKEYSTRING(PrintBefore)); | ||
| 401 | StringRef PN = P->getPassName(); | ||
| 402 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 403 | + if (passNameList.equals_insensitive("all") || isInList(PN, passNameList)) | ||
| 404 | +#else | ||
| 405 | if (passNameList.equals_lower("all") || isInList(PN, passNameList)) | ||
| 406 | +#endif | ||
| 407 | return true; | ||
| 408 | |||
| 409 | // further check passInfo | ||
| 410 | @@ -173,7 +181,11 @@ bool IGCPassManager::isPrintAfter(Pass* P) | ||
| 411 | // or pass command args registered in passInfo. | ||
| 412 | StringRef passNameList(IGC_GET_REGKEYSTRING(PrintAfter)); | ||
| 413 | StringRef PN = P->getPassName(); | ||
| 414 | +#if LLVM_VERSION_MAJOR >= 13 | ||
| 415 | + if (passNameList.equals_insensitive("all") || isInList(PN, passNameList)) | ||
| 416 | +#else | ||
| 417 | if (passNameList.equals_lower("all") || isInList(PN, passNameList)) | ||
| 418 | +#endif | ||
| 419 | return true; | ||
| 420 | |||
| 421 | // further check passInfo | ||
| 422 | diff --git a/visa/iga/IGALibrary/IR/BitSet.hpp b/visa/iga/IGALibrary/IR/BitSet.hpp | ||
| 423 | index 43b0d3f92..c6cdd430a 100644 | ||
| 424 | --- a/visa/iga/IGALibrary/IR/BitSet.hpp | ||
| 425 | +++ b/visa/iga/IGALibrary/IR/BitSet.hpp | ||
| 426 | @@ -12,6 +12,8 @@ SPDX-License-Identifier: MIT | ||
| 427 | #include "../asserts.hpp" | ||
| 428 | #include "common/secure_mem.h" | ||
| 429 | |||
| 430 | +#include <stdexcept> | ||
| 431 | +#include <limits> | ||
| 432 | #include <algorithm> | ||
| 433 | #include <bitset> | ||
| 434 | #include <cstdint> | ||
| 435 | -- | ||
| 436 | 2.31.1 | ||
| 437 | |||
