a new new beginning phase 1
Validate Operations / validate-operations (push) Has been cancelled

This commit is contained in:
NiccoloN
2026-07-08 22:53:53 +02:00
parent 1f4f58de1c
commit 871fcfa832
22 changed files with 2917 additions and 1012 deletions
+4 -67
View File
@@ -50,64 +50,6 @@ static void printBlockArgumentList(OpAsmPrinter& printer, ArrayRef<BlockArgument
printer << ")";
}
static void printBlockHeaderWithoutArgLocs(OpAsmPrinter& printer, Block& block) {
printer.printSuccessor(&block);
if (block.getNumArguments() == 0) {
printer << ":";
return;
}
printer << "(";
for (auto [index, argument] : llvm::enumerate(block.getArguments())) {
if (index != 0)
printer << ", ";
printer.printOperand(argument);
printer << ": ";
printer.printType(argument.getType());
}
printer << "):";
}
static void printRegionWithoutBlockArgLocs(OpAsmPrinter& printer,
Region& region,
bool printEntryBlockArgs = true,
bool printBlockTerminators = true,
bool printEmptyBlock = false,
bool printEntryBlockHeaderWhenMultiblock = false) {
printer << " {";
if (region.empty()) {
if (printEmptyBlock)
printer << "\n";
printer << "}";
return;
}
bool hasMultipleBlocks = std::next(region.begin()) != region.end();
for (auto [blockIndex, block] : llvm::enumerate(region)) {
bool printBlockHeader = blockIndex != 0 || printEntryBlockArgs
|| (blockIndex == 0 && printEntryBlockHeaderWhenMultiblock && hasMultipleBlocks)
|| (printEmptyBlock && block.empty());
unsigned indent = printBlockHeader ? 4u : 2u;
if (printBlockHeader) {
printer.getStream() << "\n";
printer.getStream().indent(2);
printBlockHeaderWithoutArgLocs(printer, block);
}
for (Operation& nestedOp : block) {
if (!printBlockTerminators && nestedOp.hasTrait<OpTrait::IsTerminator>())
continue;
printer.getStream() << "\n";
printer.getStream().indent(indent);
printer.printCustomOrGenericOp(&nestedOp);
}
}
printer.getStream() << "\n";
printer << "}";
}
static ParseResult parseBlockArgumentList(OpAsmParser& parser, SmallVectorImpl<OpAsmParser::Argument>& arguments) {
if (parser.parseLParen())
return failure();
@@ -218,9 +160,7 @@ void printComputeLikeOp(ComputeOpTy op, OpAsmPrinter& printer) {
printer << " -> ";
printCompressedTypeSequence(printer, op.getResultTypes());
printer << " ";
printRegionWithoutBlockArgLocs(
printer, op.getBody(), /*printEntryBlockArgs=*/false, /*printBlockTerminators=*/true,
/*printEmptyBlock=*/false, /*printEntryBlockHeaderWhenMultiblock=*/true);
printer.printRegion(op.getBody(), /*printEntryBlockArgs=*/!op.getBody().hasOneBlock());
}
template <typename ComputeOpTy>
@@ -350,9 +290,7 @@ void printComputeBatchLikeOp(ComputeBatchOpTy op, OpAsmPrinter& printer) {
printer << " -> ";
printCompressedTypeSequence(printer, op.getResultTypes());
printer << " ";
printRegionWithoutBlockArgLocs(
printer, op.getBody(), /*printEntryBlockArgs=*/false, /*printBlockTerminators=*/true,
/*printEmptyBlock=*/false, /*printEntryBlockHeaderWhenMultiblock=*/true);
printer.printRegion(op.getBody(), /*printEntryBlockArgs=*/!op.getBody().hasOneBlock());
}
template <typename ComputeBatchOpTy>
@@ -521,7 +459,7 @@ void SpatDeferredCommunicationOp::print(OpAsmPrinter& printer) {
printer << " : ";
printer.printFunctionalType(getSources().getTypes(), getOperation()->getResultTypes());
printer << " ";
printRegionWithoutBlockArgLocs(printer, getBody(), /*printEntryBlockArgs=*/false);
printer.printRegion(getBody(), /*printEntryBlockArgs=*/false);
}
ParseResult SpatDeferredCommunicationOp::parse(OpAsmParser& parser, OperationState& result) {
@@ -763,8 +701,7 @@ ParseResult SpatScheduledComputeBatch::parse(OpAsmParser& parser, OperationState
void SpatInParallelOp::print(OpAsmPrinter& printer) {
printer << " ";
printRegionWithoutBlockArgLocs(
printer, getRegion(), /*printEntryBlockArgs=*/false, /*printBlockTerminators=*/false);
printer.printRegion(getRegion(), /*printEntryBlockArgs=*/false, /*printBlockTerminators=*/false);
printer.printOptionalAttrDict((*this)->getAttrs());
}