diff options
author | lorenzo chelini <l.chelini@tue.nl> | 2021-03-17 11:32:45 +0000 |
---|---|---|
committer | Nicolas Vasilache <nicolas.vasilache@gmail.com> | 2021-03-17 12:06:17 +0000 |
commit | 0a74a7161baff6365be49217faa419cd41fb930b (patch) | |
tree | 0e50e14e21dc4856c00b59a75bcd4577ee381663 /clang/unittests/Frontend/CompilerInvocationTest.cpp | |
parent | 5837fdc4ccc4d61e9eb7b6d310760c0be2e52124 (diff) | |
download | llvm-0a74a7161baff6365be49217faa419cd41fb930b.zip llvm-0a74a7161baff6365be49217faa419cd41fb930b.tar.gz llvm-0a74a7161baff6365be49217faa419cd41fb930b.tar.bz2 |
[mlir] scf::ForOp: Drop iter arguments (and corresponding result) with no use
'ForOpIterArgsFolder' can now remove iterator arguments (and corresponding
results) with no use.
Example:
```
%cst = constant 32 : i32
%0:2 = scf.for %arg1 = %lb to %ub step %step iter_args(%arg2 = %arg0, %arg3 = %cst)
-> (i32, i32) {
%1 = addu %arg2, %cst : i32
scf.yield %1, %1 : i32, i32
}
use(%0#0)
```
%arg3 is not used in the block, and its corresponding result `%0#1` has no use,
thus remove the iter argument.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D98711
Diffstat (limited to 'clang/unittests/Frontend/CompilerInvocationTest.cpp')
0 files changed, 0 insertions, 0 deletions