mlir
mlir copied to clipboard
"Multi-Level Intermediate Representation" Compiler Infrastructure
The current loop-invariant code motion pass does not consider trip counts when optimizing loops. This should be added to avoid hoisting code out of loops that actually never execute and...
When I run Tutorial Toy Chapter 1, I realized there are two differences from the description. Should we address these differences? Or, is MLIR specification changed? 1. Loc of BinOp...
I wasn't expecting this code to pass verification but it does. (The return op's operand type isn't the same as the function's return type here.) ``` func @foo(%arg0: !llvm) ->...
Hello MLIR developers, I noticed that MLIR Value (declared as in [here](https://github.com/tensorflow/mlir/blob/70e6056497144c1ec89b3584d5e9a57ffb16b020/include/mlir/IR/Value.h)) does not seem to have a mechanism to have custom names. So right now, it seems like IR...
$ mlir-opt -affine-dma-generate -lower-affine -lower-to-llvm nest_3d.mlir yields the assertion below. I was expecting an error (emitError) if something wasn't supported. Input file appended below. mlir-opt: /home/uday/llvm-project/llvm/projects/mlir/include/mlir/IR/Types.h:277: U mlir::Type::cast() const [with...
Is there a plan to extend the python API? Specifically, adding builders for loop dialect ops - *loop.for* and *loop.if* Or even better - is there a way to extend...
If a composite type is used for global variables in `StorageBuffer`/`Uniform`/`PushConstant` storage class, then it must be explicitly [laid out](https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#_a_id_shadervalidation_a_validation_rules_for_shader_a_href_capability_capabilities_a). Right now lowering passes need to make sure the generated...
Trying to run a pass (via the pass manager as described in https://github.com/tensorflow/mlir/blob/master/g3doc/WritingAPass.md ) from inside another pass leads to all kinds of crashes and weird behavior, and this is...
AffineApplyNormalizer::renumber isn't a publicly exposed method - it however generates invalid maps in some cases. Reproduce with two normalizers created with the maps below: ( )[s0] -> (s0) (%v1) (...
Hello, I am trying to lower the following code to llvm: func @load_store() { ^bb0: // CHECK: %0 = alloc() : memref %0 = alloc() : memref (d0, d1), 1>...