Lines Matching defs:adaptor

225 OpFoldResult AnyOp::fold(FoldAdaptor adaptor) {
227 if (adaptor.getInputs().back())
228 return adaptor.getInputs().back();
402 AddOp::Adaptor adaptor, SmallVectorImpl<Type> &inferredReturnTypes) {
403 if (llvm::isa<SizeType>(adaptor.getLhs().getType()) ||
404 llvm::isa<SizeType>(adaptor.getRhs().getType()))
416 OpFoldResult mlir::shape::AddOp::fold(FoldAdaptor adaptor) {
422 adaptor.getOperands(),
611 OpFoldResult AssumingAllOp::fold(FoldAdaptor adaptor) {
614 for (int idx = adaptor.getInputs().size() - 1; idx >= 0; idx--) {
615 Attribute a = adaptor.getInputs()[idx];
644 OpFoldResult BroadcastOp::fold(FoldAdaptor adaptor) {
656 if (!adaptor.getShapes()[0] || !adaptor.getShapes()[1])
659 llvm::cast<DenseIntElementsAttr>(adaptor.getShapes()[0])
662 llvm::cast<DenseIntElementsAttr>(adaptor.getShapes()[1])
866 OpFoldResult ConcatOp::fold(FoldAdaptor adaptor) {
867 if (!adaptor.getLhs() || !adaptor.getRhs())
870 llvm::cast<DenseIntElementsAttr>(adaptor.getLhs()).getValues<int64_t>());
872 llvm::cast<DenseIntElementsAttr>(adaptor.getRhs()).getValues<int64_t>());
931 ConstShapeOp::Adaptor adaptor, SmallVectorImpl<Type> &inferredReturnTypes) {
933 const Properties prop = adaptor.getProperties();
982 OpFoldResult CstrBroadcastableOp::fold(FoldAdaptor adaptor) {
984 if (hasAtMostSingleNonScalar(adaptor.getShapes()))
989 for (const auto &operand : adaptor.getShapes()) {
1034 OpFoldResult CstrEqOp::fold(FoldAdaptor adaptor) {
1035 if (llvm::all_of(adaptor.getShapes(), [&](Attribute a) {
1036 return a && a == adaptor.getShapes().front();
1075 OpFoldResult CstrRequireOp::fold(FoldAdaptor adaptor) {
1076 return adaptor.getPred();
1091 OpFoldResult DimOp::fold(FoldAdaptor adaptor) {
1109 DimOp::Adaptor adaptor, SmallVectorImpl<Type> &inferredReturnTypes) {
1110 inferredReturnTypes.assign({adaptor.getIndex().getType()});
1122 OpFoldResult DivOp::fold(FoldAdaptor adaptor) {
1123 auto lhs = llvm::dyn_cast_if_present<IntegerAttr>(adaptor.getLhs());
1126 auto rhs = llvm::dyn_cast_if_present<IntegerAttr>(adaptor.getRhs());
1144 DivOp::Adaptor adaptor, SmallVectorImpl<Type> &inferredReturnTypes) {
1145 if (llvm::isa<SizeType>(adaptor.getLhs().getType()) ||
1146 llvm::isa<SizeType>(adaptor.getRhs().getType()))
1164 OpFoldResult ShapeEqOp::fold(FoldAdaptor adaptor) {
1166 if (!adaptor.getShapes().empty() && !adaptor.getShapes().front())
1168 for (Attribute operand : adaptor.getShapes().drop_front()) {
1171 allSame = allSame && operand == adaptor.getShapes().front();
1180 OpFoldResult IndexToSizeOp::fold(FoldAdaptor adaptor) {
1183 if (Attribute arg = adaptor.getArg())
1197 OpFoldResult FromExtentsOp::fold(FoldAdaptor adaptor) {
1198 if (llvm::any_of(adaptor.getExtents(), [](Attribute a) { return !a; }))
1201 for (auto attr : adaptor.getExtents())
1335 OpFoldResult GetExtentOp::fold(FoldAdaptor adaptor) {
1336 auto elements = llvm::dyn_cast_if_present<DenseIntElementsAttr>(adaptor.getShape());
1363 GetExtentOp::Adaptor adaptor, SmallVectorImpl<Type> &inferredReturnTypes) {
1385 OpFoldResult IsBroadcastableOp::fold(FoldAdaptor adaptor) {
1387 if (adaptor.getShapes().size() < 2) {
1400 MeetOp::Adaptor adaptor, SmallVectorImpl<Type> &inferredReturnTypes) {
1401 if (adaptor.getOperands().empty())
1410 ValueRange::type_range types = adaptor.getOperands().getTypes();
1477 OpFoldResult shape::RankOp::fold(FoldAdaptor adaptor) {
1478 auto shape = llvm::dyn_cast_if_present<DenseIntElementsAttr>(adaptor.getShape());
1535 RankOp::Adaptor adaptor, SmallVectorImpl<Type> &inferredReturnTypes) {
1536 if (llvm::isa<ShapeType>(adaptor.getShape().getType()))
1554 OpFoldResult NumElementsOp::fold(FoldAdaptor adaptor) {
1557 Attribute shape = adaptor.getShape();
1570 NumElementsOp::Adaptor adaptor,
1572 if (llvm::isa<ShapeType>(adaptor.getShape().getType()))
1593 OpFoldResult MaxOp::fold(FoldAdaptor adaptor) {
1602 MaxOp::Adaptor adaptor, SmallVectorImpl<Type> &inferredReturnTypes) {
1603 if (adaptor.getLhs().getType() == adaptor.getRhs().getType())
1604 inferredReturnTypes.assign({adaptor.getLhs().getType()});
1624 OpFoldResult MinOp::fold(FoldAdaptor adaptor) {
1633 MinOp::Adaptor adaptor, SmallVectorImpl<Type> &inferredReturnTypes) {
1634 if (adaptor.getLhs().getType() == adaptor.getRhs().getType())
1635 inferredReturnTypes.assign({adaptor.getLhs().getType()});
1655 OpFoldResult MulOp::fold(FoldAdaptor adaptor) {
1656 auto lhs = llvm::dyn_cast_if_present<IntegerAttr>(adaptor.getLhs());
1659 auto rhs = llvm::dyn_cast_if_present<IntegerAttr>(adaptor.getRhs());
1669 MulOp::Adaptor adaptor, SmallVectorImpl<Type> &inferredReturnTypes) {
1670 if (llvm::isa<SizeType>(adaptor.getLhs().getType()) ||
1671 llvm::isa<SizeType>(adaptor.getRhs().getType()))
1789 ShapeOfOp::Adaptor adaptor, SmallVectorImpl<Type> &inferredReturnTypes) {
1790 if (llvm::isa<ValueShapeType>(adaptor.getArg().getType()))
1793 auto shapedTy = llvm::cast<ShapedType>(adaptor.getArg().getType());
1833 OpFoldResult SizeToIndexOp::fold(FoldAdaptor adaptor) {
1836 if (Attribute arg = adaptor.getArg())
1876 LogicalResult SplitAtOp::fold(FoldAdaptor adaptor,
1878 if (!adaptor.getOperand() || !adaptor.getIndex())
1881 llvm::cast<DenseIntElementsAttr>(adaptor.getOperand()).getValues<int64_t>());
1883 auto splitPoint = llvm::cast<IntegerAttr>(adaptor.getIndex()).getInt();
1891 Builder builder(adaptor.getOperand().getContext());
1901 OpFoldResult ToExtentTensorOp::fold(FoldAdaptor adaptor) {
1902 if (!adaptor.getInput())
1906 llvm::cast<DenseIntElementsAttr>(adaptor.getInput()).getValues<int64_t>());