[Mlir-commits] [mlir] [mlir][spirv] Split conditional basic blocks during deserialization (PR #127639)
Igor Wodiany
llvmlistbot at llvm.org
Wed Feb 19 01:29:14 PST 2025
================
@@ -2158,13 +2158,55 @@ LogicalResult spirv::Deserializer::wireUpBlockArgument() {
return success();
}
+LogicalResult spirv::Deserializer::splitConditionalBlocks() {
+ auto splitBlock = [&](Block *block) {
+ // Do not split loop headers
+ if (auto it = blockMergeInfo.find(block); it != blockMergeInfo.end()) {
+ if (it->second.continueBlock) {
+ return;
+ }
+ }
+
+ if (!block->mightHaveTerminator())
+ return;
+
+ auto terminator = block->getTerminator();
----------------
IgWod-IMG wrote:
Apologies, I know that's something you previously commented on one of the previous PRs. This PR was developed earlier, but only submitted now, and I forgot to apply lessons learned to it :)
https://github.com/llvm/llvm-project/pull/127639
More information about the Mlir-commits
mailing list