diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/driver/kfd/amd_kfd_driver.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/driver/kfd/amd_kfd_driver.cpp index 79038ac2b9..3d6a4c872f 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/driver/kfd/amd_kfd_driver.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/driver/kfd/amd_kfd_driver.cpp @@ -83,8 +83,8 @@ __forceinline uint64_t drm_perm(hsa_access_permission_t perm) { } // namespace -KfdDriver::KfdDriver(std::string devnode_name) - : core::Driver(core::DriverType::KFD, devnode_name) {} +KfdDriver::KfdDriver(std::string& devnode_name) + : core::Driver(core::DriverType::KFD, std::move(devnode_name)) {} hsa_status_t KfdDriver::Init() { HSAKMT_STATUS ret = @@ -128,7 +128,8 @@ hsa_status_t KfdDriver::ShutDown() { } hsa_status_t KfdDriver::DiscoverDriver(std::unique_ptr& driver) { - auto tmp_driver = std::unique_ptr(new KfdDriver("/dev/kfd")); + std::string devnode("/dev/kfd"); + auto tmp_driver = std::unique_ptr(new KfdDriver(devnode)); if (tmp_driver->Open() == HSA_STATUS_SUCCESS) { driver = std::move(tmp_driver); diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_hsa_code.hpp b/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_hsa_code.hpp index 08a898cc63..d44f4d095b 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_hsa_code.hpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_hsa_code.hpp @@ -220,7 +220,7 @@ namespace code { void PrintRelocationData(std::ostream& out, RelocationSection* section); void PrintSymbol(std::ostream& out, Symbol* sym); void PrintDisassembly(std::ostream& out, const unsigned char *isa, size_t size, uint32_t isa_offset = 0); - std::string MangleSymbolName(const std::string& module_name, const std::string symbol_name); + std::string MangleSymbolName(const std::string& module_name, const std::string& symbol_name); bool ElfImageError(); public: diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_kfd_driver.h b/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_kfd_driver.h index 4579b6e8b0..07e3f5f1e6 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_kfd_driver.h +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/inc/amd_kfd_driver.h @@ -69,7 +69,7 @@ namespace AMD { /// and more. class KfdDriver final : public core::Driver { public: - KfdDriver(std::string devnode_name); + KfdDriver(std::string& devnode_name); /// @brief Determine of the KFD is present on the system and attemp to open it if found. /// diff --git a/projects/rocr-runtime/runtime/hsa-runtime/libamdhsacode/amd_hsa_code.cpp b/projects/rocr-runtime/runtime/hsa-runtime/libamdhsacode/amd_hsa_code.cpp index fa13dbf282..7ce27689ba 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/libamdhsacode/amd_hsa_code.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/libamdhsacode/amd_hsa_code.cpp @@ -175,7 +175,7 @@ namespace code { std::string Symbol::GetSymbolName() const { std::string FullName = Name(); return FullName.rfind(":") != std::string::npos ? - std::move(FullName.substr(FullName.rfind(":") + 1)) : std::move(FullName); + FullName.substr(FullName.rfind(":") + 1) : std::move(FullName); } hsa_code_symbol_t Symbol::ToHandle(Symbol* sym) @@ -920,7 +920,10 @@ namespace code { hsa_status_t AmdHsaCode::GetSymbol(const char *module_name, const char *symbol_name, hsa_code_symbol_t *s) { - std::string mname = MangleSymbolName(module_name ? module_name : "", symbol_name); + std::string mname = MangleSymbolName( + std::string(module_name ? module_name : ""), + std::string(symbol_name) + ); for (Symbol* sym : symbols) { if (sym->Name() == mname) { *s = Symbol::ToHandle(sym); @@ -1729,10 +1732,10 @@ namespace code { out << std::dec; } - std::string AmdHsaCode::MangleSymbolName(const std::string& module_name, const std::string symbol_name) + std::string AmdHsaCode::MangleSymbolName(const std::string& module_name, const std::string& symbol_name) { if (module_name.empty()) { - return std::move(symbol_name); + return symbol_name; } else { return module_name + "::" + symbol_name; }