[PATCH] D78327: [mlir][Linalg] Create a named batchmatmul op and pipe it through.

Uday Bondhugula via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 17 08:38:42 PDT 2020


bondhugula added a comment.

In D78327#1988920 <https://reviews.llvm.org/D78327#1988920>, @nicolasvasilache wrote:

> > I now see the relevant method. But to use the builder, you only need a block or a region, and not an op(?). You could do an addRegion(), followed by pushing a new block into it, and then create the builder to insert. Am I missing something?
>
> This is what I started with but along the line I realized that `region.getContext()` requires `region` to be attached to a `Operation*`.
>  See: https://github.com/llvm/llvm-project/blob/master/mlir/include/mlir/IR/Region.h#L31
>
> However this was a red herring only due to the fact that I was constructing `OpBuilder` from `region`.
>  I.e. this fails:
>
>   Region *region = result.addRegion();
>   OpBuilder opBuilder(region);
>   
>
> This works fine:
>
>   Region *region = result.addRegion();
>   OpBuilder opBuilder(context);
>   opBuilder.setInsertionPoint(&region.front(), region.front().begin());
>   
>
> Thanks for noting!


That's great. In fact, the following is less verbose and should work:

  auto opBuilder = OpBuilder::atBlockBegin(&region.front());


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78327/new/

https://reviews.llvm.org/D78327





More information about the llvm-commits mailing list