@@ -79,12 +79,11 @@ CreateLinkGraph(const std::vector<device_image_plain> &DevImages) {
7979 continue ;
8080 for (const sycl_device_binary_property &ESProp :
8181 DevImageImpl.get_bin_image_ref ()->getExportedSymbols ()) {
82- if (ExportMap.find ( ESProp->Name ) != ExportMap. end () )
82+ if (! ExportMap.insert ({ ESProp->Name , I}). second )
8383 throw sycl::exception (make_error_code (errc::invalid),
8484 " Duplicate exported symbol \" " +
8585 std::string{ESProp->Name } +
8686 " \" found in binaries." );
87- ExportMap.emplace (ESProp->Name , I);
8887 }
8988 }
9089
@@ -106,20 +105,17 @@ CreateLinkGraph(const std::vector<device_image_plain> &DevImages) {
106105 " \" found in linked images." );
107106 DeviceImageDepsSet.emplace (ExportSymbolIt->second );
108107 }
109- Dependencies[I].insert (Dependencies[I].end (),
110- std::make_move_iterator (DeviceImageDepsSet.begin ()),
111- std::make_move_iterator (DeviceImageDepsSet.end ()));
108+ Dependencies[I].insert (Dependencies[I].end (), DeviceImageDepsSet.begin (),
109+ DeviceImageDepsSet.end ());
112110 }
113111 return LinkGraph<device_image_plain>{DevImages, Dependencies};
114112}
115113
116- inline void
117- ThrowIfConflictingKernels (device_images_range DevImages) {
118- std::set<std::string_view, std::less<>> SeenKernelNames;
119- std::set<std::string_view, std::less<>> Conflicts;
114+ inline void ThrowIfConflictingKernels (device_images_range DevImages) {
115+ std::set<std::string_view> SeenKernelNames;
116+ std::set<std::string_view> Conflicts;
120117 for (const device_image_impl &DevImage : DevImages) {
121118 const KernelNameSetT &KernelNames = DevImage.getKernelNames ();
122- std::vector<std::string_view> Intersect;
123119 std::set_intersection (SeenKernelNames.begin (), SeenKernelNames.end (),
124120 KernelNames.begin (), KernelNames.end (),
125121 std::inserter (Conflicts, Conflicts.begin ()));
0 commit comments