[clang] [CIR] Add canonicalizer for CleanupScopeOp (PR #191084)
Andy Kaylor via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 9 10:03:49 PDT 2026
================
@@ -1449,6 +1449,41 @@ cir::CleanupScopeOp::getSuccessorInputs(RegionSuccessor successor) {
return ValueRange();
}
+LogicalResult cir::CleanupScopeOp::canonicalize(CleanupScopeOp op,
+ PatternRewriter &rewriter) {
+ auto isRegionTrivial = [](Region ®ion) {
+ if (!region.hasOneBlock())
+ return false;
+ Block &block = region.front();
+ return llvm::hasSingleElement(block) && isa<cir::YieldOp>(block.front());
----------------
andykaylor wrote:
An added benefit of `getSingleElement` is that it asserts that there is one and only one element. I changed `region.front()` to use that too.
https://github.com/llvm/llvm-project/pull/191084
More information about the cfe-commits
mailing list