Skip to content

Commit ae07b7b

Browse files
Integration fixes for llvm/llvm-project#66754 (#2338)
llvm/llvm-project#66754 extends the `LoopLikeOpInterface`: the signature of `getLoopBody` has changed. `ForOp::getRegion` can be used instead. This change works with and without llvm/llvm-project#66754.
1 parent 8e75e39 commit ae07b7b

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

lib/Conversion/TritonToTritonGPU/TritonToTritonGPUPass.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -729,8 +729,8 @@ struct SCFForPattern : public OpConversionPattern<scf::ForOp> {
729729
ConversionPatternRewriter &rewriter) const override {
730730
auto newOp =
731731
cast<scf::ForOp>(rewriter.cloneWithoutRegions(*op.getOperation()));
732-
rewriter.inlineRegionBefore(op.getLoopBody(), newOp.getLoopBody(),
733-
newOp.getLoopBody().end());
732+
rewriter.inlineRegionBefore(op.getRegion(), newOp.getRegion(),
733+
newOp.getRegion().end());
734734

735735
// Now, update all the types.
736736

@@ -739,7 +739,7 @@ struct SCFForPattern : public OpConversionPattern<scf::ForOp> {
739739
// The entry block may have a special conversion if `entryConversion` is
740740
// provided. On success, the new entry block to the region is returned for
741741
// convenience. Otherwise, failure is returned.
742-
if (failed(rewriter.convertRegionTypes(&newOp.getLoopBody(),
742+
if (failed(rewriter.convertRegionTypes(&newOp.getRegion(),
743743
*getTypeConverter()))) {
744744
return rewriter.notifyMatchFailure(op, "could not convert body types");
745745
}

lib/Dialect/TritonGPU/Transforms/Pipeline.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ LogicalResult LoopPipeliner::collectOps(SetVector<Operation *> &ops) {
347347
void LoopPipeliner::collectValueDep(Value v, int stage,
348348
SetVector<Value> &deps) {
349349
// Loop-invariant value, skip
350-
if (v.getParentRegion() != &forOp.getLoopBody())
350+
if (v.getParentRegion() != &forOp.getRegion())
351351
return;
352352

353353
// Since we only need to peel the loop numStages-1 times, don't worry
@@ -671,7 +671,7 @@ void LoopPipeliner::createBufferTypes() {
671671
}
672672

673673
void LoopPipeliner::createOrderedDeps() {
674-
for (Operation &op : forOp.getLoopBody().front()) {
674+
for (Operation &op : *forOp.getBody()) {
675675
if (depOps.contains(&op))
676676
orderedDeps.push_back(&op);
677677
else if (op.getNumResults() > 0 && validLoads.contains(op.getResult(0)))

0 commit comments

Comments
 (0)