aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorMatthias Springer <me@m-sp.org>2023-09-14 16:34:32 +0200
committerGitHub <noreply@github.com>2023-09-14 16:34:32 +0200
commitaca9019be0460a3823e22a52f1cf9c18a965a5fb (patch)
treee3de13a9ca9234b5a016b4a45d384d7bccec676f /clang/lib/Frontend/CompilerInvocation.cpp
parent66aa9a251798da1ec5c441e6ad6373dc18685917 (diff)
downloadllvm-aca9019be0460a3823e22a52f1cf9c18a965a5fb.zip
llvm-aca9019be0460a3823e22a52f1cf9c18a965a5fb.tar.gz
llvm-aca9019be0460a3823e22a52f1cf9c18a965a5fb.tar.bz2
[mlir][transform] Check for invalidated iterators on payload IR mappings (#66369)
Add extra error checking (in debug mode) to detect cases where an iterator on "direct" payload IR mappings is invalidated (due to elements being removed). Such errors are hard to debug: they are often non-deterministic; sometimes the program crashes, sometimes it produces wrong results. Even when it crashes, the stack trace often points to completely unrelated code locations. Store a timestamp with each "direct" mapping. The timestamp is increased whenever an operation is performed that invaldiates an iterator on that mapping. A debug iterator is added that checks the timestamp as payload IR is enumerated.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions