aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
diff options
context:
space:
mode:
authorMatthias Springer <me@m-sp.org>2023-12-14 08:54:39 +0900
committerGitHub <noreply@github.com>2023-12-14 08:54:39 +0900
commit6d3ebd831c31d473acb18511949d04038115864a (patch)
tree24b6c276cf0ad1f31c905d7bb45a125f7ae2e461 /llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
parent590001431b44ec4f3209db5a4d50cc8ebc959a93 (diff)
downloadllvm-6d3ebd831c31d473acb18511949d04038115864a.zip
llvm-6d3ebd831c31d473acb18511949d04038115864a.tar.gz
llvm-6d3ebd831c31d473acb18511949d04038115864a.tar.bz2
[mlir][affine] Allow `memref.cast` in `isDimOpValidSymbol` (#74401)
`isDimOpValidSymbol` is used during the verification of `affine.for` ops. It is used to check if LB/UB values are valid symbols. This change adds support for `memref.cast`, which can be skipped over if it is a ranked -> ranked cast. This change fixes `mlir/test/Transforms/canonicalize.mlir`, which used to fail when verifying the IR after each pattern application (#74270). In this test case, a pattern that folds dynamic offsets/sizes/strides to static ones is applied. This pattern inserts a trivial `memref.cast` that can be folded away. This folding happens after the pattern application, so the IR fails to verify after applying the offsets/sizes/strides canonicalization pattern. Note: The verifier of `affine.for` violates MLIR guidelines. Only local properties of an op should be verified. The verifier should not inspect the defining ops of operands. (This would mean that constraints such as "operand is a valid affine symbol" cannot be verified.)
Diffstat (limited to 'llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp')
0 files changed, 0 insertions, 0 deletions