diff options
author | Mehdi Amini <joker.eph@gmail.com> | 2020-09-22 00:51:27 +0000 |
---|---|---|
committer | Mehdi Amini <joker.eph@gmail.com> | 2020-09-22 18:51:54 +0000 |
commit | fb1de7ed921c3c1531c0cb28b9603af22ecd0529 (patch) | |
tree | 8b69f18f9b12fb31fa02d155aaf5ddba3dcb3792 /llvm/lib/Transforms/Utils/LoopVersioning.cpp | |
parent | b289dc530632613edb3eb067895c1981cb77ccd0 (diff) | |
download | llvm-fb1de7ed921c3c1531c0cb28b9603af22ecd0529.zip llvm-fb1de7ed921c3c1531c0cb28b9603af22ecd0529.tar.gz llvm-fb1de7ed921c3c1531c0cb28b9603af22ecd0529.tar.bz2 |
Implement a new kind of Pass: dynamic pass pipeline
Instead of performing a transformation, such pass yields a new pass pipeline
to run on the currently visited operation.
This feature can be used for example to implement a sub-pipeline that
would run only on an operation with specific attributes. Another example
would be to compute a cost model and dynamic schedule a pipeline based
on the result of this analysis.
Discussion: https://llvm.discourse.group/t/rfc-dynamic-pass-pipeline/1637
Recommit after fixing an ASAN issue: the callback lambda needs to be
allocated to a temporary to have its lifetime extended to the end of the
current block instead of just the current call expression.
Reviewed By: silvas
Differential Revision: https://reviews.llvm.org/D86392
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopVersioning.cpp')
0 files changed, 0 insertions, 0 deletions