llvm-project
5954e9c1 - [MLIR][Target/Cpp] Fix variable naming conflict for function declarations (#147927)

Commit
153 days ago
[MLIR][Target/Cpp] Fix variable naming conflict for function declarations (#147927) This is a fix for https://github.com/llvm/llvm-project/pull/136102. It missed scoping for `DeclareFuncOps`. In scenarios with multiple function declarations, the `valueMapper` wasn't updated and later uses of values in other functions still used the assigned names in prior functions. This is visible in the reproducer here https://github.com/iree-org/iree/issues/21303: Although the counter for variable enumeration was reset, as it is visible for the local vars, the function arguments were mapped to old names. Due to this mapping, the counter was never increased, and the local variables conflicted with the arguments. This fix adds proper scoping for declarations and a test-case to cover the scenario with multiple `DeclareFuncOps`.
Author
Parents
Loading