File tree Expand file tree Collapse file tree 3 files changed +11
-7
lines changed
source/detail/program_manager
unittests/program_manager Expand file tree Collapse file tree 3 files changed +11
-7
lines changed Original file line number Diff line number Diff line change @@ -1824,10 +1824,6 @@ void ProgramManager::cacheKernelUsesAssertInfo(RTDeviceBinaryImage &Img) {
1824
1824
m_KernelUsesAssert.insert (Prop->Name );
1825
1825
}
1826
1826
1827
- bool ProgramManager::kernelUsesAssert (const std::string &KernelName) const {
1828
- return m_KernelUsesAssert.find (KernelName) != m_KernelUsesAssert.end ();
1829
- }
1830
-
1831
1827
void ProgramManager::cacheKernelImplicitLocalArg (RTDeviceBinaryImage &Img) {
1832
1828
const RTDeviceBinaryImage::PropertyRange &ImplicitLocalArgRange =
1833
1829
Img.getImplicitLocalArg ();
Original file line number Diff line number Diff line change @@ -360,7 +360,10 @@ class ProgramManager {
360
360
ProgramManager ();
361
361
~ProgramManager () = default ;
362
362
363
- bool kernelUsesAssert (const std::string &KernelName) const ;
363
+ template <typename NameT>
364
+ bool kernelUsesAssert (const NameT &KernelName) const {
365
+ return m_KernelUsesAssert.find (KernelName) != m_KernelUsesAssert.end ();
366
+ }
364
367
365
368
SanitizerType kernelUsesSanitizer () const { return m_SanitizerFoundInImage; }
366
369
@@ -503,7 +506,12 @@ class ProgramManager {
503
506
bool m_UseSpvFile = false ;
504
507
RTDeviceBinaryImageUPtr m_SpvFileImage;
505
508
506
- std::set<std::string> m_KernelUsesAssert;
509
+ // std::less<> is a transparent comparator that enabled comparison between
510
+ // different types without temporary key_type object creation. This includes
511
+ // standard overloads, such as comparison between std::string and
512
+ // std::string_view or just char*.
513
+ using KernelUsesAssertSet = std::set<std::string, std::less<>>;
514
+ KernelUsesAssertSet m_KernelUsesAssert;
507
515
std::unordered_map<std::string, int > m_KernelImplicitLocalArgPos;
508
516
509
517
// Sanitizer type used in device image
Original file line number Diff line number Diff line change @@ -64,7 +64,7 @@ class ProgramManagerExposed : public sycl::detail::ProgramManager {
64
64
return m_EliminatedKernelArgMasks;
65
65
}
66
66
67
- std::set<std::string> &getKernelUsesAssert () { return m_KernelUsesAssert; }
67
+ KernelUsesAssertSet &getKernelUsesAssert () { return m_KernelUsesAssert; }
68
68
69
69
std::unordered_map<std::string, int > &getKernelImplicitLocalArgPos () {
70
70
return m_KernelImplicitLocalArgPos;
You can’t perform that action at this time.
0 commit comments