[flang] Upstream lowering of real control loops
authorDiana Picus <diana.picus@linaro.org>
Tue, 31 May 2022 10:55:56 +0000 (10:55 +0000)
committerDiana Picus <diana.picus@linaro.org>
Wed, 1 Jun 2022 08:00:45 +0000 (08:00 +0000)
commita159128811ae1d0a781dbc8590fa1e0f26642f82
tree2f4d98e9052dbd9d1b3291ed98d1a3b32fc0715e
parentd597a461e0f5b1d7508983878bc5a38326cffd14
[flang] Upstream lowering of real control loops

Upstream the code for handling loops with real control variables from
the fir-dev branch at
https://github.com/flang-compiler/f18-llvm-project/tree/fir-dev/

Also add a test.

Loops with real-valued control variables are always lowered to
unstructured loops. The real-valued control variables are handled the
same as integer ones, the only difference is that they need to use
floating point instructions instead of the integer equivalents.

Co-authored-by: V Donaldson <vdonaldson@nvidia.com>
flang/lib/Lower/Bridge.cpp
flang/test/Lower/do_loop.f90