[SYCL] Preserve original message and code of kernel/program build result#1108
[SYCL] Preserve original message and code of kernel/program build result#1108romanovvlad merged 10 commits intointel:syclfrom
Conversation
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
ee840ee to
4c8e0c7
Compare
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
4c8e0c7 to
5495889
Compare
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
4efacf7 to
0c19b88
Compare
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com> Co-Authored-By: Mikhail Lychkov <51128024+mlychkov@users.noreply.github.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
| Result = e.get_cl_code(); | ||
| } else { | ||
| // Exception constantly adds info on its error code in the message | ||
| assert(Msg.find_first_of(e.what()) == 0 && "Exception text differs"); |
There was a problem hiding this comment.
Why not Msg == e.what()? Can you also check that a message is not empty and Result != 0?
There was a problem hiding this comment.
cl::sycl::exception exception adds appends Code to Msg in form of 0 (CL_SUCCESS). On the second throw it will add the same thing again. I don't do any string operations in this patch.
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
| /// Equals to true if the Msg and Code are initialized. This flag is added | ||
| /// due to the possibility of error code being equal to zero even in case | ||
| /// if build is failed and cl::sycl::exception is thrown. | ||
| bool FilledIn; |
There was a problem hiding this comment.
Isn't !Msg.empty() == FilledIn?
There was a problem hiding this comment.
I believe it may be. Though, flag is more explicit data and more understandable to read. On the other hand the struct may have a distinct method bool isFilledIn() const.
There was a problem hiding this comment.
+1 for replacing this flag with public member function.
FilledIn seems to duplicate information available in two other fields and maintaining is not necessary.
…ages_docs * origin/sycl: (1092 commits) [CI] Add clang-format checker to pre-commit checks (intel#1163) [SYCL][CUDA] Initial CUDA backend support (intel#1091) [USM] Align OpenCL USM extension header with the specification (intel#1162) [SYCL][NFC] Fix unreferenced variable warning (intel#1158) [SYCL] Fix __spirv_GroupBroadcast overloads (intel#1152) [SYCL] Add llvm/Demangle link dependency for llvm-no-spir-kernel (intel#1156) [SYCL] LowerWGScope pass should not be skipped when -O0 is used [SYCL][Doc][USM] Add refactored pointer and device queries to USM spec (intel#1118) [SYCL] Update the kernel parameter rule to is-trivially-copy-construc… (intel#1144) [SYCL] Move internal headers to source dir (intel#1136) [SYCL] Forbid declaration of non-const static variables inside kernels (intel#1141) [SYCL][NFC] Remove idle space (intel#1148) [SYCL] Improve the error mechanism of llvm-no-spir-kernel (intel#1068) [SYCL] Added CTS test config (intel#1063) [SYCL] Implement check-sycl-deploy target (intel#1142) [SYCL] Preserve original message and code of kernel/program build result (intel#1108) [SYCL] Fix LIT after LLVM change in community Translate LLVM's cmpxchg instruction to SPIR-V Add volatile qualifier for atom_ builtins Fix -Wunused-variable warnings ...
Signed-off-by: Sergey Kanaev sergey.kanaev@intel.com