The fir.select and fir.select_rank are lowered to a if-then-else
ladder.
This patch is part of the upstreaming effort from fir-dev branch.
Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Paths
| Differential D113089
[fir] Add fir.select and fir.select_rank FIR to LLVM IR conversion patterns ClosedPublic Authored by clementval on Nov 3 2021, 1:47 AM.
Details Summary The fir.select and fir.select_rank are lowered to a if-then-else This patch is part of the upstreaming effort from fir-dev branch. Co-authored-by: Jean Perier <jperier@nvidia.com>
Diff Detail
Event Timeline
mehdi_amini added inline comments.
This revision is now accepted and ready to land.Nov 4 2021, 6:08 PM Closed by commit rG8c239909495e: [fir] Add fir.select and fir.select_rank FIR to LLVM IR conversion patterns (authored by clementval). · Explain WhyNov 5 2021, 4:55 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 385029 flang/include/flang/Optimizer/Dialect/FIROps.td
flang/lib/Optimizer/CodeGen/CodeGen.cpp
flang/lib/Optimizer/Dialect/FIROps.cpp
flang/test/Fir/convert-to-llvm.fir
|
If this is just about having a get prepended, there is an option in ODS to do this universally (since https://reviews.llvm.org/D111033 ).
I don't think it is scalable to just alias manually every possible accessor.
You can just add let emitAccessorPrefix = kEmitAccessorPrefix_Both; in the Dialect ODS definition to get both forms generated.