diff options
author | Bob Duff <duff@adacore.com> | 2022-09-20 14:43:49 -0400 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2022-09-29 11:08:46 +0200 |
commit | 9ebc54a8c472e19d81e23ee4094f619e0437e673 (patch) | |
tree | 2206b4ba85bbb92879881280c8788e15fb6cd1aa /gcc/cppdefault.cc | |
parent | 01ea0437ead0dda3acd51cfb80a01de5feb56929 (diff) | |
download | gcc-9ebc54a8c472e19d81e23ee4094f619e0437e673.zip gcc-9ebc54a8c472e19d81e23ee4094f619e0437e673.tar.gz gcc-9ebc54a8c472e19d81e23ee4094f619e0437e673.tar.bz2 |
ada: Improve efficiency of slice-of-component assignment
This patch improves the efficiency of slice assignment when the left- or
right-hand side is a slice of a component or a slice of a slice.
Previously, the optimization was disabled in these cases, just in
case there might be a volatile or independent component lurking.
Now we explicitly check all the relevant subcomponents of
the prefix.
The previous version said (in exp_ch5.adb):
-- ...We could
-- complicate this code by actually looking for such volatile and
-- independent components.
and that's exactly what we are doing here.
gcc/ada/
* exp_ch5.adb
(Expand_Assign_Array_Loop_Or_Bitfield): Make the checks for
volatile and independent objects more precise.
Diffstat (limited to 'gcc/cppdefault.cc')
0 files changed, 0 insertions, 0 deletions