| 140 | transpose_op.getOutput().getType().cast<ShapedType>().getDimSize(3)); |
| 141 | } |
| 142 | NamedAttrList GetUserOpCommonAttrs(MLIRContext* ctx, const std::string& op_name) { |
| 143 | NamedAttrList attrs; |
| 144 | attrs.set(OpTrait::IsOpConfCompatible<void>::getOpNameAttr(), StringAttr::get(ctx, op_name)); |
| 145 | attrs.set(OpTrait::IsOpConfCompatible<void>::getDeviceTagAttr(), StringAttr::get(ctx, "cpu")); |
| 146 | attrs.set(OpTrait::IsOpConfCompatible<void>::getDeviceNameAttr(), |
| 147 | ArrayAttr::get(ctx, llvm::to_vector<8>(llvm::map_range(ArrayRef<StringRef>({"@0:0"}), |
| 148 | [&](StringRef v) -> Attribute { |
| 149 | return StringAttr::get(ctx, v); |
| 150 | })))); |
| 151 | return attrs; |
| 152 | } |
| 153 | static Operation* CreateConv2DBatchNorm(PatternRewriter& rewriter, Attribute epsilon, |
| 154 | Operation* conv, Operation* bn) { |
| 155 | auto conv_op = llvm::dyn_cast<oneflow::Conv2DOp>(conv); |
no test coverage detected