diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2024-04-20 10:53:16 +0200 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2024-06-10 11:04:01 +0200 |
commit | 627244477949da068456dc195a88be5437e11d02 (patch) | |
tree | 55ebb05fb990254cb563ca5c665335409e193aa9 /gcc/tree-vect-loop.cc | |
parent | add6d89eaed4070803882b9a0b643d963ca8d80a (diff) | |
download | gcc-627244477949da068456dc195a88be5437e11d02.zip gcc-627244477949da068456dc195a88be5437e11d02.tar.gz gcc-627244477949da068456dc195a88be5437e11d02.tar.bz2 |
ada: Add support for No_Implicit_Conditionals to nonbinary modular types
The expansion of additive operations for nonbinary modular types implemented
in the front-end and its counterpart in code generators may create branches,
which is not allowed when restriction No_Implicit_Conditionals is in effect.
This changes it to use an explicit Mod operation when the restriction is in
effect, which is assumed not to create such branches.
gcc/ada/
* exp_ch4.adb (Expand_Nonbinary_Modular_Op): Create an explicit Mod
for additive operations if No_Implicit_Conditionals is in effect.
(Expand_Modular_Addition): Likewise.
(Expand_Modular_Subtraction): Likewise.
(Expand_Modular_Op): Always use an unsigned type obtained by calling
Small_Integer_Type_For on the required size.
Diffstat (limited to 'gcc/tree-vect-loop.cc')
0 files changed, 0 insertions, 0 deletions