[flang] Batch together the changes to the PFT intermediate data
authorEric Schweitz <eschweitz@nvidia.com>
Fri, 22 May 2020 17:18:26 +0000 (10:18 -0700)
committerEric Schweitz <eschweitz@nvidia.com>
Fri, 29 May 2020 22:24:20 +0000 (15:24 -0700)
commitfbac9ce226d7a27e418fdeac72a0b3c9f2c48742
tree1f644cb5f8cbbea125eb6cc82ce887228b9a3ff4
parente4d2037a5ccb76e446dc13803b486e2f9b0c7f29
[flang] Batch together the changes to the PFT intermediate data
structure for upstreaming to llvm-project.

These files have had many changes since they were originally upstreamed.
Some of the changes are cosmetic.  Most of the functional changes were
done to support the lowering of control-flow syntax from the front-end
parse trees to the FIR dialect.

This patch is meant to be a reviewable size. The functionality it
provides will be used by code yet to be upstreamed in lowering.

review comments:

[review D80449][NFC] make PFT ParentVariant a ReferenceVariant

ReferenceVariant had to be slightly updated to also support
non constant references (which is required for ParentType).

[review D80449] extend Variable implementation beyond a comment
flang/include/flang/Lower/PFTBuilder.h
flang/include/flang/Lower/Utils.h [new file with mode: 0644]
flang/include/flang/Semantics/symbol.h
flang/lib/Lower/PFTBuilder.cpp
flang/test/Lower/pre-fir-tree01.f90
flang/test/Lower/pre-fir-tree02.f90
flang/test/Lower/pre-fir-tree03.f90
flang/test/Lower/pre-fir-tree04.f90
flang/tools/f18/f18.cpp