diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2017-08-30 11:13:02 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2017-08-30 11:13:02 +0000 |
commit | e72b0ef4b787599b87cd16b0d929d5d75c6da6bc (patch) | |
tree | a9063034435caa463ed4649ec7f0cd66b018e15f /gcc/machmode.h | |
parent | e05c94bad29dd443cc28ae314e2874992afce348 (diff) | |
download | gcc-e72b0ef4b787599b87cd16b0d929d5d75c6da6bc.zip gcc-e72b0ef4b787599b87cd16b0d929d5d75c6da6bc.tar.gz gcc-e72b0ef4b787599b87cd16b0d929d5d75c6da6bc.tar.bz2 |
[33/77] Add a NARROWEST_INT_MODE macro
This patch replaces uses of GET_CLASS_NARROWEST_MODE (MODE_INT) with a
new NARROWEST_INT_MODE macro, which has type scalar_int_mode.
2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
gcc/
* machmode.h (NARROWEST_INT_MODE): New macro.
* expr.c (alignment_for_piecewise_move): Use it instead of
GET_CLASS_NARROWEST_MODE (MODE_INT).
(push_block): Likewise.
* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
Likewise.
* tree-vrp.c (simplify_float_conversion_using_ranges): Likewise.
gcc/ada/
* gcc-interface/decl.c (validate_size): Use NARROWEST_INT_MODE
instead of GET_CLASS_NARROWEST_MODE (MODE_INT).
Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r251485
Diffstat (limited to 'gcc/machmode.h')
-rw-r--r-- | gcc/machmode.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/machmode.h b/gcc/machmode.h index 497b0fb..a9fc93a 100644 --- a/gcc/machmode.h +++ b/gcc/machmode.h @@ -655,6 +655,12 @@ extern const unsigned char class_narrowest_mode[MAX_MODE_CLASS]; #define GET_CLASS_NARROWEST_MODE(CLASS) \ ((machine_mode) class_narrowest_mode[CLASS]) +/* The narrowest full integer mode available on the target. */ + +#define NARROWEST_INT_MODE \ + (scalar_int_mode \ + (scalar_int_mode::from_int (class_narrowest_mode[MODE_INT]))) + /* Return the narrowest mode in T's class. */ template<typename T> |