[Ada] CCG: reduce generated temporaries
authorArnaud Charlet <charlet@adacore.com>
Thu, 4 Jul 2019 08:05:31 +0000 (08:05 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Thu, 4 Jul 2019 08:05:31 +0000 (08:05 +0000)
commit4ff5aa0c05b3a42a454d76275cf7e1f17cbb7412
treee9397beeccbdd5165514d77a067bd2c712a74efa
parentd8be36d2873dd1cf9586790ff6c91dc17f37daa6
[Ada] CCG: reduce generated temporaries

2019-07-04  Arnaud Charlet  <charlet@adacore.com>

gcc/ada/

* exp_aggr.adb (In_Place_Assign_OK): Moved to top level and add
support for record aggregates.
(Component_Check): Use Is_CCG_Supported_Aggregate instead of a
similar local predicate.
(Convert_To_Assignments): Take advantage of In_Place_Assign_OK
predicate when possible.
(Is_CCG_Supported_Aggregate): Return False for records with
representation clauses and fix the logic for dealing with nested
aggregates.

From-SVN: r273049
gcc/ada/ChangeLog
gcc/ada/exp_aggr.adb