diff options
author | Igor Kirillov <igor.kirillov@arm.com> | 2023-07-06 12:04:42 +0000 |
---|---|---|
committer | Igor Kirillov <igor.kirillov@arm.com> | 2023-07-10 12:54:38 +0000 |
commit | 0aecf7ff0d81930d3d46daf1c0552441b793d904 (patch) | |
tree | bab7c749d7714f605f3b239a7aa41c63cd7a126d /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 4c6f95be29c6ce0f89663a5103c58ee63d76cda3 (diff) | |
download | llvm-0aecf7ff0d81930d3d46daf1c0552441b793d904.zip llvm-0aecf7ff0d81930d3d46daf1c0552441b793d904.tar.gz llvm-0aecf7ff0d81930d3d46daf1c0552441b793d904.tar.bz2 |
[CodeGen] Fix incorrectly detected reduction bug in ComplexDeinterleaving pass
Using ACLE intrinsics, it is possible to create a loop that the
deinterleaving pass incorrectly classified as a reduction loop.
For example, for fixed-width vectors the loop was like below:
vector.body:
%a = phi <4 x float> [ %init.a, %entry ], [ %updated.a, %vector.body ]
%b = phi <4 x float> [ %init.b, %entry ], [ %updated.b, %vector.body ]
...
; Does not depend on %a or %b:
%updated.a = ...
%updated.b = ...
Differential Revision: https://reviews.llvm.org/D154598
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions