replace greedy pattern rewrites with partial conversions
Validate Operations / validate-operations (push) Has been cancelled

better failure messages
This commit is contained in:
NiccoloN
2026-05-14 11:48:16 +02:00
parent 43f3ccdd21
commit c5e608fa5b
10 changed files with 146 additions and 78 deletions
+4 -1
View File
@@ -24,8 +24,11 @@ struct EmitPimCodePass : PassWrapper<EmitPimCodePass, OperationPass<ModuleOp>> {
createDirectory(pimDir);
int compiler_error_code = compileToPimCode(moduleOp, pimDir);
if (compiler_error_code != CompilerSuccess)
if (compiler_error_code != CompilerSuccess) {
moduleOp.emitError() << "failed to emit PIM simulator code artifacts; compiler error code "
<< compiler_error_code;
signalPassFailure();
}
}
};
@@ -32,14 +32,16 @@ struct HostConstantFoldingPass : PassWrapper<HostConstantFoldingPass, OperationP
}
void runOnOperation() override {
ModuleOp moduleOp = getOperation();
GreedyRewriteConfig config;
config.enableFolding();
if (failed(applyPatternsGreedily(getOperation(), *patterns, config))) {
if (failed(applyPatternsGreedily(moduleOp, *patterns, config))) {
moduleOp.emitError("PIM host constant folding failed in the greedy rewrite driver");
signalPassFailure();
return;
}
dumpModule(getOperation(), "pim3_folded");
dumpModule(moduleOp, "pim3_folded");
}
std::shared_ptr<const FrozenRewritePatternSet> patterns;
@@ -160,6 +160,7 @@ struct MaterializeHostConstantsPass : PassWrapper<MaterializeHostConstantsPass,
}
if (hasFailure) {
moduleOp.emitError("PIM host-constant materialization failed; see diagnostics above");
signalPassFailure();
return;
}
+3 -1
View File
@@ -197,8 +197,10 @@ struct VerificationPass : PassWrapper<VerificationPass, OperationPass<ModuleOp>>
}
}
if (hasFailure)
if (hasFailure) {
moduleOp.emitError("PIM codegen verification failed; see diagnostics above");
signalPassFailure();
}
}
private: