[Ada] Improve efficiency of copying bit-packed slices
authorBob Duff <duff@adacore.com>
Wed, 18 Sep 2019 08:32:51 +0000 (08:32 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Wed, 18 Sep 2019 08:32:51 +0000 (08:32 +0000)
commit0af16535246ef8a9a814da6a3ae7a5bcae89dc30
tree6ac47113e2f600748107d7998842aa37d6447279
parenta6d677c65b999fd44446592cde9282b65772095a
[Ada] Improve efficiency of copying bit-packed slices

This patch substantially improves the efficiency of copying large slices
of bit-packed arrays, by copying 32 bits at a time instead of 1 at a
time.

2019-09-18  Bob Duff  <duff@adacore.com>

gcc/ada/

* exp_ch5.adb (Expand_Assign_Array_Loop_Or_Bitfield): The call
to Copy_Bitfield is now enabled.
(Expand_Assign_Array_Bitfield): Multiply 'Length times
'Component_Size "by hand" instead of using 'Size.

From-SVN: r275855
gcc/ada/ChangeLog
gcc/ada/exp_ch5.adb