@@ -808,7 +808,7 @@ bool CastOp::areCastCompatible(TypeRange inputs, TypeRange outputs) {
808
808
return false ;
809
809
}
810
810
811
- OpFoldResult CastOp::fold (ArrayRef<Attribute> operands ) {
811
+ OpFoldResult CastOp::fold (FoldAdaptor adaptor ) {
812
812
return succeeded (foldMemRefCast (*this )) ? getResult () : Value ();
813
813
}
814
814
@@ -883,7 +883,7 @@ void CopyOp::getCanonicalizationPatterns(RewritePatternSet &results,
883
883
results.add <FoldCopyOfCast, FoldSelfCopy>(context);
884
884
}
885
885
886
- LogicalResult CopyOp::fold (ArrayRef<Attribute> cstOperands ,
886
+ LogicalResult CopyOp::fold (FoldAdaptor adaptor ,
887
887
SmallVectorImpl<OpFoldResult> &results) {
888
888
// / copy(memrefcast) -> copy
889
889
bool folded = false ;
@@ -902,7 +902,7 @@ LogicalResult CopyOp::fold(ArrayRef<Attribute> cstOperands,
902
902
// DeallocOp
903
903
// ===----------------------------------------------------------------------===//
904
904
905
- LogicalResult DeallocOp::fold (ArrayRef<Attribute> cstOperands ,
905
+ LogicalResult DeallocOp::fold (FoldAdaptor adaptor ,
906
906
SmallVectorImpl<OpFoldResult> &results) {
907
907
// / dealloc(memrefcast) -> dealloc
908
908
return foldMemRefCast (*this );
@@ -1056,9 +1056,9 @@ llvm::SmallBitVector SubViewOp::getDroppedDims() {
1056
1056
return *unusedDims;
1057
1057
}
1058
1058
1059
- OpFoldResult DimOp::fold (ArrayRef<Attribute> operands ) {
1059
+ OpFoldResult DimOp::fold (FoldAdaptor adaptor ) {
1060
1060
// All forms of folding require a known index.
1061
- auto index = operands[ 1 ] .dyn_cast_or_null <IntegerAttr>();
1061
+ auto index = adaptor. getIndex () .dyn_cast_or_null <IntegerAttr>();
1062
1062
if (!index)
1063
1063
return {};
1064
1064
@@ -1322,7 +1322,7 @@ LogicalResult DmaStartOp::verify() {
1322
1322
return success ();
1323
1323
}
1324
1324
1325
- LogicalResult DmaStartOp::fold (ArrayRef<Attribute> cstOperands ,
1325
+ LogicalResult DmaStartOp::fold (FoldAdaptor adaptor ,
1326
1326
SmallVectorImpl<OpFoldResult> &results) {
1327
1327
// / dma_start(memrefcast) -> dma_start
1328
1328
return foldMemRefCast (*this );
@@ -1332,7 +1332,7 @@ LogicalResult DmaStartOp::fold(ArrayRef<Attribute> cstOperands,
1332
1332
// DmaWaitOp
1333
1333
// ---------------------------------------------------------------------------
1334
1334
1335
- LogicalResult DmaWaitOp::fold (ArrayRef<Attribute> cstOperands ,
1335
+ LogicalResult DmaWaitOp::fold (FoldAdaptor adaptor ,
1336
1336
SmallVectorImpl<OpFoldResult> &results) {
1337
1337
// / dma_wait(memrefcast) -> dma_wait
1338
1338
return foldMemRefCast (*this );
@@ -1433,7 +1433,7 @@ static bool replaceConstantUsesOf(OpBuilder &rewriter, Location loc,
1433
1433
}
1434
1434
1435
1435
LogicalResult
1436
- ExtractStridedMetadataOp::fold (ArrayRef<Attribute> cstOperands ,
1436
+ ExtractStridedMetadataOp::fold (FoldAdaptor adaptor ,
1437
1437
SmallVectorImpl<OpFoldResult> &results) {
1438
1438
OpBuilder builder (*this );
1439
1439
@@ -1677,7 +1677,7 @@ LogicalResult LoadOp::verify() {
1677
1677
return success ();
1678
1678
}
1679
1679
1680
- OpFoldResult LoadOp::fold (ArrayRef<Attribute> cstOperands ) {
1680
+ OpFoldResult LoadOp::fold (FoldAdaptor adaptor ) {
1681
1681
// / load(memrefcast) -> load
1682
1682
if (succeeded (foldMemRefCast (*this )))
1683
1683
return getResult ();
@@ -1747,7 +1747,7 @@ LogicalResult PrefetchOp::verify() {
1747
1747
return success ();
1748
1748
}
1749
1749
1750
- LogicalResult PrefetchOp::fold (ArrayRef<Attribute> cstOperands ,
1750
+ LogicalResult PrefetchOp::fold (FoldAdaptor adaptor ,
1751
1751
SmallVectorImpl<OpFoldResult> &results) {
1752
1752
// prefetch(memrefcast) -> prefetch
1753
1753
return foldMemRefCast (*this );
@@ -1757,7 +1757,7 @@ LogicalResult PrefetchOp::fold(ArrayRef<Attribute> cstOperands,
1757
1757
// RankOp
1758
1758
// ===----------------------------------------------------------------------===//
1759
1759
1760
- OpFoldResult RankOp::fold (ArrayRef<Attribute> operands ) {
1760
+ OpFoldResult RankOp::fold (FoldAdaptor adaptor ) {
1761
1761
// Constant fold rank when the rank of the operand is known.
1762
1762
auto type = getOperand ().getType ();
1763
1763
auto shapedType = type.dyn_cast <ShapedType>();
@@ -1881,7 +1881,7 @@ LogicalResult ReinterpretCastOp::verify() {
1881
1881
return success ();
1882
1882
}
1883
1883
1884
- OpFoldResult ReinterpretCastOp::fold (ArrayRef<Attribute> /* operands*/ ) {
1884
+ OpFoldResult ReinterpretCastOp::fold (FoldAdaptor /* operands*/ ) {
1885
1885
Value src = getSource ();
1886
1886
auto getPrevSrc = [&]() -> Value {
1887
1887
// reinterpret_cast(reinterpret_cast(x)) -> reinterpret_cast(x).
@@ -2465,12 +2465,14 @@ void CollapseShapeOp::getCanonicalizationPatterns(RewritePatternSet &results,
2465
2465
CollapseShapeOpMemRefCastFolder>(context);
2466
2466
}
2467
2467
2468
- OpFoldResult ExpandShapeOp::fold (ArrayRef<Attribute> operands) {
2469
- return foldReshapeOp<ExpandShapeOp, CollapseShapeOp>(*this , operands);
2468
+ OpFoldResult ExpandShapeOp::fold (FoldAdaptor adaptor) {
2469
+ return foldReshapeOp<ExpandShapeOp, CollapseShapeOp>(*this ,
2470
+ adaptor.getOperands ());
2470
2471
}
2471
2472
2472
- OpFoldResult CollapseShapeOp::fold (ArrayRef<Attribute> operands) {
2473
- return foldReshapeOp<CollapseShapeOp, ExpandShapeOp>(*this , operands);
2473
+ OpFoldResult CollapseShapeOp::fold (FoldAdaptor adaptor) {
2474
+ return foldReshapeOp<CollapseShapeOp, ExpandShapeOp>(*this ,
2475
+ adaptor.getOperands ());
2474
2476
}
2475
2477
2476
2478
// ===----------------------------------------------------------------------===//
@@ -2522,7 +2524,7 @@ LogicalResult StoreOp::verify() {
2522
2524
return success ();
2523
2525
}
2524
2526
2525
- LogicalResult StoreOp::fold (ArrayRef<Attribute> cstOperands ,
2527
+ LogicalResult StoreOp::fold (FoldAdaptor adaptor ,
2526
2528
SmallVectorImpl<OpFoldResult> &results) {
2527
2529
// / store(memrefcast) -> store
2528
2530
return foldMemRefCast (*this , getValueToStore ());
@@ -3101,7 +3103,7 @@ void SubViewOp::getCanonicalizationPatterns(RewritePatternSet &results,
3101
3103
SubViewOpMemRefCastFolder, TrivialSubViewOpFolder>(context);
3102
3104
}
3103
3105
3104
- OpFoldResult SubViewOp::fold (ArrayRef<Attribute> operands ) {
3106
+ OpFoldResult SubViewOp::fold (FoldAdaptor adaptor ) {
3105
3107
auto resultShapedType = getResult ().getType ().cast <ShapedType>();
3106
3108
auto sourceShapedType = getSource ().getType ().cast <ShapedType>();
3107
3109
@@ -3217,7 +3219,7 @@ LogicalResult TransposeOp::verify() {
3217
3219
return success ();
3218
3220
}
3219
3221
3220
- OpFoldResult TransposeOp::fold (ArrayRef<Attribute> ) {
3222
+ OpFoldResult TransposeOp::fold (FoldAdaptor ) {
3221
3223
if (succeeded (foldMemRefCast (*this )))
3222
3224
return getResult ();
3223
3225
return {};
@@ -3393,7 +3395,7 @@ LogicalResult AtomicRMWOp::verify() {
3393
3395
return success ();
3394
3396
}
3395
3397
3396
- OpFoldResult AtomicRMWOp::fold (ArrayRef<Attribute> operands ) {
3398
+ OpFoldResult AtomicRMWOp::fold (FoldAdaptor adaptor ) {
3397
3399
// / atomicrmw(memrefcast) -> atomicrmw
3398
3400
if (succeeded (foldMemRefCast (*this , getValue ())))
3399
3401
return getResult ();
0 commit comments