|
| TransposeOpConversion (MLIRContext *context, LLVMTypeConverter &lowering_) |
|
PatternMatchResult | matchAndRewrite (Operation *op, ArrayRef< Value > operands, ConversionPatternRewriter &rewriter) const override |
|
| LLVMOpLowering (StringRef rootOpName, MLIRContext *context, LLVMTypeConverter &lowering, PatternBenefit benefit=1) |
|
| ConversionPattern (StringRef rootName, PatternBenefit benefit, MLIRContext *ctx) |
|
virtual void | rewrite (Operation *op, ArrayRef< Value > operands, ConversionPatternRewriter &rewriter) const |
|
virtual void | rewrite (Operation *op, ArrayRef< Value > properOperands, ArrayRef< Block *> destinations, ArrayRef< ArrayRef< Value >> operands, ConversionPatternRewriter &rewriter) const |
|
virtual PatternMatchResult | matchAndRewrite (Operation *op, ArrayRef< Value > properOperands, ArrayRef< Block *> destinations, ArrayRef< ArrayRef< Value >> operands, ConversionPatternRewriter &rewriter) const |
| Hook for derived classes to implement combined matching and rewriting. More...
|
|
virtual PatternMatchResult | matchAndRewrite (Operation *op, ArrayRef< Value > operands, ConversionPatternRewriter &rewriter) const |
| Hook for derived classes to implement combined matching and rewriting. More...
|
|
PatternMatchResult | matchAndRewrite (Operation *op, PatternRewriter &rewriter) const final |
| Attempt to match and rewrite the IR root at the specified operation. More...
|
|
virtual void | rewrite (Operation *op, std::unique_ptr< PatternState > state, PatternRewriter &rewriter) const |
|
virtual void | rewrite (Operation *op, PatternRewriter &rewriter) const |
|
PatternMatchResult | match (Operation *op) const override |
|
ArrayRef< OperationName > | getGeneratedOps () const |
|
PatternBenefit | getBenefit () const |
|
OperationName | getRootKind () const |
|
virtual | ~Pattern () |
|
PatternMatchResult | matchSuccess (std::unique_ptr< PatternState > state={}) const |
| This method indicates that a match was found and has the specified cost. More...
|
|
Conversion pattern that transforms a linalg.transpose op into:
- A function entry
alloca
operation to allocate a ViewDescriptor.
- A load of the ViewDescriptor from the pointer allocated in 1.
- Updates to the ViewDescriptor to introduce the data ptr, offset, size and stride. Size and stride are permutations of the original values.
- A store of the resulting ViewDescriptor to the alloca'ed pointer. The linalg.transpose op is replaced by the alloca'ed pointer.