diff options
author | Vyacheslav Levytskyy <vyacheslav.levytskyy@intel.com> | 2025-01-20 12:05:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-20 12:05:15 +0100 |
commit | fe7cb156064ff59dba7c0496db3b4da39fb1a663 (patch) | |
tree | a4b1f979372f253bd75d5e54cec3ad5de1d0fa78 /llvm/lib | |
parent | 96c4f978d0fd1339262a350e118375ee4bf5fc57 (diff) | |
download | llvm-fe7cb156064ff59dba7c0496db3b4da39fb1a663.zip llvm-fe7cb156064ff59dba7c0496db3b4da39fb1a663.tar.gz llvm-fe7cb156064ff59dba7c0496db3b4da39fb1a663.tar.bz2 |
[SPIR-V] Improve portability of the code (#123584)
Adding SPIRV to LLVM_ALL_TARGETS
(https://github.com/llvm/llvm-project/pull/119653) revealed a series of
minor compilation problems and sanitizer complaints. This PR is to
address the problem.
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp | 10 | ||||
-rw-r--r-- | llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp | 6 | ||||
-rw-r--r-- | llvm/lib/Target/SPIRV/SPIRVUtils.h | 1 |
3 files changed, 8 insertions, 9 deletions
diff --git a/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp b/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp index e236d64..784bbe8 100644 --- a/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp +++ b/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp @@ -535,15 +535,15 @@ extern Register insertAssignInstr(Register Reg, Type *Ty, SPIRVType *SpirvTy, static SPIRV::MemorySemantics::MemorySemantics getSPIRVMemSemantics(std::memory_order MemOrder) { switch (MemOrder) { - case std::memory_order::memory_order_relaxed: + case std::memory_order_relaxed: return SPIRV::MemorySemantics::None; - case std::memory_order::memory_order_acquire: + case std::memory_order_acquire: return SPIRV::MemorySemantics::Acquire; - case std::memory_order::memory_order_release: + case std::memory_order_release: return SPIRV::MemorySemantics::Release; - case std::memory_order::memory_order_acq_rel: + case std::memory_order_acq_rel: return SPIRV::MemorySemantics::AcquireRelease; - case std::memory_order::memory_order_seq_cst: + case std::memory_order_seq_cst: return SPIRV::MemorySemantics::SequentiallyConsistent; default: report_fatal_error("Unknown CL memory scope"); diff --git a/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp b/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp index ecf9b6d..028699e 100644 --- a/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp +++ b/llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp @@ -22,6 +22,7 @@ #include "SPIRVSubtarget.h" #include "SPIRVTargetMachine.h" #include "SPIRVUtils.h" +#include "llvm/ADT/StringExtras.h" #include "llvm/Analysis/ValueTracking.h" #include "llvm/CodeGen/IntrinsicLowering.h" #include "llvm/IR/IRBuilder.h" @@ -30,7 +31,6 @@ #include "llvm/IR/IntrinsicsSPIRV.h" #include "llvm/Transforms/Utils/Cloning.h" #include "llvm/Transforms/Utils/LowerMemIntrinsics.h" -#include <charconv> #include <regex> using namespace llvm; @@ -228,9 +228,7 @@ static SmallVector<Metadata *> parseAnnotation(Value *I, } else { MDsItem.push_back(MDString::get(Ctx, Item)); } - } else if (int32_t Num; - std::from_chars(Item.data(), Item.data() + Item.size(), Num) - .ec == std::errc{}) { + } else if (int32_t Num; llvm::to_integer(StringRef(Item), Num, 10)) { MDsItem.push_back( ConstantAsMetadata::get(ConstantInt::get(Int32Ty, Num))); } else { diff --git a/llvm/lib/Target/SPIRV/SPIRVUtils.h b/llvm/lib/Target/SPIRV/SPIRVUtils.h index 60649ea..fd48098 100644 --- a/llvm/lib/Target/SPIRV/SPIRVUtils.h +++ b/llvm/lib/Target/SPIRV/SPIRVUtils.h @@ -22,6 +22,7 @@ #include "llvm/IR/TypedPointerType.h" #include <queue> #include <string> +#include <unordered_map> #include <unordered_set> namespace llvm { |