diff options
Diffstat (limited to 'clang/lib/CIR/Dialect/IR')
| -rw-r--r-- | clang/lib/CIR/Dialect/IR/CIRDialect.cpp | 23 | 
1 files changed, 14 insertions, 9 deletions
| diff --git a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp index 2d2ef42..7ba03ce 100644 --- a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp +++ b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp @@ -286,14 +286,14 @@ void cir::ConditionOp::getSuccessorRegions(    // Parent is a loop: condition may branch to the body or to the parent op.    if (auto loopOp = dyn_cast<LoopOpInterface>(getOperation()->getParentOp())) {      regions.emplace_back(&loopOp.getBody(), loopOp.getBody().getArguments()); -    regions.emplace_back(loopOp->getResults()); +    regions.emplace_back(getOperation(), loopOp->getResults());    }    assert(!cir::MissingFeatures::awaitOp());  }  MutableOperandRange -cir::ConditionOp::getMutableSuccessorOperands(RegionBranchPoint point) { +cir::ConditionOp::getMutableSuccessorOperands(RegionSuccessor point) {    // No values are yielded to the successor region.    return MutableOperandRange(getOperation(), 0, 0);  } @@ -989,7 +989,8 @@ void cir::IfOp::getSuccessorRegions(mlir::RegionBranchPoint point,                                      SmallVectorImpl<RegionSuccessor> ®ions) {    // The `then` and the `else` region branch back to the parent operation.    if (!point.isParent()) { -    regions.push_back(RegionSuccessor()); +    regions.push_back( +        RegionSuccessor(getOperation(), getOperation()->getResults()));      return;    } @@ -1039,7 +1040,7 @@ void cir::ScopeOp::getSuccessorRegions(      mlir::RegionBranchPoint point, SmallVectorImpl<RegionSuccessor> ®ions) {    // The only region always branch back to the parent operation.    if (!point.isParent()) { -    regions.push_back(RegionSuccessor(getODSResults(0))); +    regions.push_back(RegionSuccessor(getOperation(), getODSResults(0)));      return;    } @@ -1124,7 +1125,8 @@ Block *cir::BrCondOp::getSuccessorForOperands(ArrayRef<Attribute> operands) {  void cir::CaseOp::getSuccessorRegions(      mlir::RegionBranchPoint point, SmallVectorImpl<RegionSuccessor> ®ions) {    if (!point.isParent()) { -    regions.push_back(RegionSuccessor()); +    regions.push_back( +        RegionSuccessor(getOperation(), getOperation()->getResults()));      return;    }    regions.push_back(RegionSuccessor(&getCaseRegion())); @@ -1188,7 +1190,8 @@ static void printSwitchOp(OpAsmPrinter &p, cir::SwitchOp op,  void cir::SwitchOp::getSuccessorRegions(      mlir::RegionBranchPoint point, SmallVectorImpl<RegionSuccessor> ®ion) {    if (!point.isParent()) { -    region.push_back(RegionSuccessor()); +    region.push_back( +        RegionSuccessor(getOperation(), getOperation()->getResults()));      return;    } @@ -1402,7 +1405,8 @@ void cir::GlobalOp::getSuccessorRegions(      mlir::RegionBranchPoint point, SmallVectorImpl<RegionSuccessor> ®ions) {    // The `ctor` and `dtor` regions always branch back to the parent operation.    if (!point.isParent()) { -    regions.push_back(RegionSuccessor()); +    regions.push_back( +        RegionSuccessor(getOperation(), getOperation()->getResults()));      return;    } @@ -1961,7 +1965,7 @@ void cir::TernaryOp::getSuccessorRegions(      mlir::RegionBranchPoint point, SmallVectorImpl<RegionSuccessor> ®ions) {    // The `true` and the `false` region branch back to the parent operation.    if (!point.isParent()) { -    regions.push_back(RegionSuccessor(this->getODSResults(0))); +    regions.push_back(RegionSuccessor(getOperation(), this->getODSResults(0)));      return;    } @@ -2978,7 +2982,8 @@ void cir::TryOp::getSuccessorRegions(      llvm::SmallVectorImpl<mlir::RegionSuccessor> ®ions) {    // The `try` and the `catchers` region branch back to the parent operation.    if (!point.isParent()) { -    regions.push_back(mlir::RegionSuccessor()); +    regions.push_back( +        RegionSuccessor(getOperation(), getOperation()->getResults()));      return;    } | 
