aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
diff options
context:
space:
mode:
authorSteven Varoumas <steven.varoumas1@huawei.com>2024-04-22 13:54:01 +0100
committerGitHub <noreply@github.com>2024-04-22 14:54:01 +0200
commit35b292efc6fc31b884255d7cb46db7d6346c6f46 (patch)
tree79150ddf0235a35cda91af7e1a74597b968adf79 /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
parente8b31fb39d9728e7505dfee7630158f14bc224de (diff)
downloadllvm-35b292efc6fc31b884255d7cb46db7d6346c6f46.zip
llvm-35b292efc6fc31b884255d7cb46db7d6346c6f46.tar.gz
llvm-35b292efc6fc31b884255d7cb46db7d6346c6f46.tar.bz2
[mlir][Hoisting] Hoisting vector.extract/vector.broadcast pairs (#86108)
This transformation, inspired by what is done in hoist_redundant_transfers, hoists pairs of extract/broadcast operations out of scf.for loops. It changes a loop of the form: ``` %res = scf.for _ = _ to _ step _ iter_args(%iarg = %v) -> (t1) { %e = vector.extract %iarg : t1 to t2 %u = "some_use"(%e) : (t2) -> t2 %b = vector.broadcast %u : t2 to t1 scf.yield %b : t1 } ``` into the following: ``` %e = vector.extract %v: t1 to t2 %res' = scf.for _ = _ to _ step _ iter_args(%iarg = %e) -> (t2) { %u' = "some_use"(%iarg) : (t2) -> t2 scf.yield %u' : t2 } %res = vector.broadcast %res' : t2 to t1 ```
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp')
0 files changed, 0 insertions, 0 deletions