aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/AST/ByteCode/InterpBuiltin.cpp
diff options
context:
space:
mode:
authorMehdi Amini <joker.eph@gmail.com>2025-08-18 11:07:19 +0200
committerGitHub <noreply@github.com>2025-08-18 09:07:19 +0000
commit16aa283344d3fec9467e6adb7ea511c0a88afacc (patch)
tree3b9294cbeea4ba827caceaf330c4bd147eba06a5 /clang/lib/AST/ByteCode/InterpBuiltin.cpp
parenta0f325bd41c931e4584feeb592987338c5b67d80 (diff)
downloadllvm-16aa283344d3fec9467e6adb7ea511c0a88afacc.zip
llvm-16aa283344d3fec9467e6adb7ea511c0a88afacc.tar.gz
llvm-16aa283344d3fec9467e6adb7ea511c0a88afacc.tar.bz2
[MLIR] Refactor the walkAndApplyPatterns driver to remove the recursion (#154037)
This is in preparation of a follow-up change to stop traversing unreachable blocks. This is not NFC because of a subtlety of the early_inc. On a test case like: ``` scf.if %cond { "test.move_after_parent_op"() ({ "test.any_attr_of_i32_str"() {attr = 0 : i32} : () -> () }) : () -> () } ``` We recursively traverse the nested regions, and process an op when the region is done (post-order). We need to pre-increment the iterator before processing an operation in case it gets deleted. However we can do this before or after processing the nested region. This implementation does the latter.
Diffstat (limited to 'clang/lib/AST/ByteCode/InterpBuiltin.cpp')
0 files changed, 0 insertions, 0 deletions