Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Resolve of merge (conflict) 7b7a193 Cherry pick a couple of commits t…
…o improve llvm-spirv perf.. '"xmain"' -> '"xmain-web"' (7 commits) (KhronosGroup#49) * Resolve of merge (conflict) 7b7a193 Cherry pick a couple of commits to improve llvm-spirv perf.. '"xmain"' -> '"xmain-web"' (7 commits) CONFLICT (content): Merge conflict in test/transcoding/annotate_attribute.ll CONFLICT (content): Merge conflict in test/transcoding/NoSignedUnsignedWrap.ll commit 7b7a193 Author: Alexey Sotkin <[email protected]> Date: Tue Oct 26 11:12:43 2021 +0300 Cherry pick a couple of commits to improve llvm-spirv performance (KhronosGroup#46) * [NFC] Optimize adding of decorations (KhronosGroup#1233) Use std::undordered_set instead of std::multiset with custom comparator. It is a bit unclear why std::multiset was required since there is no order requirement for OpDecorate instructions in SPIR-V spec, in addition old data structure was highly inefficient. * [NFC] Optimize OCLUtil::toString usage in checkError function (KhronosGroup#1229) `toString` function is called to convert an LLVM IR instruction to a string, mostly in order to include it into an error message in case LLVM IR is invalid. The problem is that this function is called even when IR is valid which significantly slows translator's work. This patch reworks `toString` usage in `checkError` method to generate a string only in case when LLVM IR is invalid. Co-authored-by: Mariya Podchishchaeva <[email protected]> Co-authored-by: Viktoria Maximova <[email protected]> * Resolve of merge (conflict) 7b7a193 Cherry pick a couple of commits to improve llvm-spirv perf.. '"xmain"' -> '"xmain-web"' (7 commits) CONFLICT (content): Merge conflict in test/transcoding/annotate_attribute.ll CONFLICT (content): Merge conflict in test/transcoding/NoSignedUnsignedWrap.ll commit 7b7a193 Author: Alexey Sotkin <[email protected]> Date: Tue Oct 26 11:12:43 2021 +0300 Cherry pick a couple of commits to improve llvm-spirv performance (KhronosGroup#46) * [NFC] Optimize adding of decorations (KhronosGroup#1233) Use std::undordered_set instead of std::multiset with custom comparator. It is a bit unclear why std::multiset was required since there is no order requirement for OpDecorate instructions in SPIR-V spec, in addition old data structure was highly inefficient. * [NFC] Optimize OCLUtil::toString usage in checkError function (KhronosGroup#1229) `toString` function is called to convert an LLVM IR instruction to a string, mostly in order to include it into an error message in case LLVM IR is invalid. The problem is that this function is called even when IR is valid which significantly slows translator's work. This patch reworks `toString` usage in `checkError` method to generate a string only in case when LLVM IR is invalid. Co-authored-by: Mariya Podchishchaeva <[email protected]> Co-authored-by: Viktoria Maximova <[email protected]> Co-authored-by: iclsrc <[email protected]>
- Loading branch information