diff options
author | River Riddle <riddleriver@gmail.com> | 2020-03-17 20:10:27 -0700 |
---|---|---|
committer | River Riddle <riddleriver@gmail.com> | 2020-03-17 20:22:00 -0700 |
commit | bd0ca2627cfa1acde2a272347ed55d88a9751869 (patch) | |
tree | f4d165dbad0d27122585d1ee0e53e8d783559bcb /llvm/lib/CodeGen/MachineFrameInfo.cpp | |
parent | 3145427dd73f0ee16dac4044890e2e2d2cae5040 (diff) | |
download | llvm-bd0ca2627cfa1acde2a272347ed55d88a9751869.zip llvm-bd0ca2627cfa1acde2a272347ed55d88a9751869.tar.gz llvm-bd0ca2627cfa1acde2a272347ed55d88a9751869.tar.bz2 |
[mlir] Update DRR patterns to notify the rewriter why a pattern fails to match.
Summary:
This adds support in RewriterGen for calling into the new `PatternRewriter::notifyMatchFailure` hook. This lets derived pattern rewriters display this information to users, an example from DialectConversion is shown below:
```
Legalizing operation : 'std.and'(0x60e0000066a0) {
* Fold {
} -> FAILURE : unable to fold
* Pattern : 'std.and -> (spv.BitwiseAnd)' {
** Failure : operand 0 of op 'std.and' failed to satisfy constraint: '8/16/32/64-bit integer or vector of 8/16/32/64-bit integer values of length 2/3/4'
} -> FAILURE : pattern failed to match
* Pattern : 'std.and -> (spv.LogicalAnd)' {
** Failure : operand 0 of op 'std.and' failed to satisfy constraint: 'bool or vector of bool values of length 2/3/4'
} -> FAILURE : pattern failed to match
} -> FAILURE : no matched legalization pattern
```
Differential Revision: https://reviews.llvm.org/D76335
Diffstat (limited to 'llvm/lib/CodeGen/MachineFrameInfo.cpp')
0 files changed, 0 insertions, 0 deletions