aboutsummaryrefslogtreecommitdiff
path: root/gcc/gdbhooks.py
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2017-08-30 11:10:11 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2017-08-30 11:10:11 +0000
commit501623d42404843e3b737db24bbd575db937ce1d (patch)
tree721c0b46dec4b883eb0047dd6aeb86ff1aaf7175 /gcc/gdbhooks.py
parent7c5bd57a753528f8a612d3e63d3cd0d53f99e71d (diff)
downloadgcc-501623d42404843e3b737db24bbd575db937ce1d.zip
gcc-501623d42404843e3b737db24bbd575db937ce1d.tar.gz
gcc-501623d42404843e3b737db24bbd575db937ce1d.tar.bz2
[15/77] Add scalar_int_mode
Similar to the previous scalar_float_mode patch, but for modes that satisfy SCALAR_INT_MODE_P. There are very many uses of scalar integers, so this patch only makes a token change to the types of byte_mode, word_mode, ptr_mode and rs6000_pmode. The next patches in the series gradually replace more uses. The patch also removes and adds casts to some target-specific code due to the new types of SImode, DImode and Pmode. The as_a <scalar_int_mode> goes away in a later patch. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * config/powerpcspe/powerpcspe.h (rs6000_pmode): Change type from machine_mode to scalar_int_mode. * config/powerpcspe/powerpcspe.c (rs6000_pmode): Likewise. (rs6000_option_override_internal): Remove cast to int. * config/rs6000/rs6000.h (rs6000_pmode): Change type from machine_mode to scalar_int_mode. * config/rs6000/rs6000.c (rs6000_pmode): Likewise. (rs6000_option_override_internal): Remove cast to int. * config/s390/s390.h (Pmode): Remove cast to machine_mode. * config/epiphany/epiphany.h (RTX_OK_FOR_OFFSET_P): Add cast to machine_mode. * config/s390/s390.c (s390_expand_builtin): Likewise. * coretypes.h (scalar_int_mode): New type. (opt_scalar_int_mode): New typedef. * machmode.h (scalar_int_mode): New class. (scalar_int_mode::includes_p): New function. (byte_mode): Change type to scalar_int_mode. (word_mode): Likewise. (ptr_mode): Likewise. * emit-rtl.c (byte_mode): Likewise. (word_mode): Likewise. (ptr_mode): Likewise. (init_derived_machine_modes): Update accordingly. * genmodes.c (get_mode_class): Return scalar_int_mode for MODE_INT and MODE_PARTIAL_INT. * gdbhooks.py (build_pretty_printer): Handle scalar_int_mode and opt_scalar_int_mode. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251467
Diffstat (limited to 'gcc/gdbhooks.py')
-rw-r--r--gcc/gdbhooks.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/gdbhooks.py b/gcc/gdbhooks.py
index 8d0c065..782e93f 100644
--- a/gcc/gdbhooks.py
+++ b/gcc/gdbhooks.py
@@ -542,10 +542,11 @@ def build_pretty_printer():
pp.add_printer_for_regex(r'opt_mode<(\S+)>',
'opt_mode', OptMachineModePrinter)
- pp.add_printer_for_types(['opt_scalar_float_mode'],
+ pp.add_printer_for_types(['opt_scalar_int_mode',
+ 'opt_scalar_float_mode'],
'opt_mode', OptMachineModePrinter)
- pp.add_printer_for_types(['scalar_float_mode'],
- 'scalar_float_mode', MachineModePrinter)
+ for mode in 'scalar_int_mode', 'scalar_float_mode':
+ pp.add_printer_for_types([mode], mode, MachineModePrinter)
return pp