aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcov.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2020-04-10 23:03:18 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-17 04:14:02 -0400
commitac8806c4c5dad67648be37fda737a664961c1cf1 (patch)
treeb56ea64b687e7e1b195cc9f07e5ea1f3a65ec53f /gcc/gcov.c
parent137adce3902d54bce9a21add8a9a898ec067deca (diff)
downloadgcc-ac8806c4c5dad67648be37fda737a664961c1cf1.zip
gcc-ac8806c4c5dad67648be37fda737a664961c1cf1.tar.gz
gcc-ac8806c4c5dad67648be37fda737a664961c1cf1.tar.bz2
[Ada] Optimize length checks generated for slice assignments
2020-06-17 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>: Replace it with a direct reference to an entity which is not a discriminant for constrained array types. Add same condition for scalar types. <Attribute_Last>: Merge with above implementation. * exp_ch4.adb (Optimize_Length_Comparison): Be prepared for a second entity whose length is compared. Rename Prepare_64 to Convert_To_Long_Long_Integer. If the second entity is present, compute the difference of the 'First attributes and compare the sum of 'Last of the second entity with this difference against 'Last of the first entity. Add a special case when the 'First attributes are equal. Suppress overflow checks in all cases.
Diffstat (limited to 'gcc/gcov.c')
0 files changed, 0 insertions, 0 deletions