aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorJ"orn Rennecke <joern.rennecke@superh.com>2003-07-11 14:09:29 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2003-07-11 15:09:29 +0100
commitfee226d25fc4af5f577cb05386e44e2dd0aa8fc6 (patch)
tree8b1d45a97235af5156928b537957c4c0a404a581 /gcc/dwarf2out.c
parent7efa3e22e56fdd56b73deb940c47a5beac0b866e (diff)
downloadgcc-fee226d25fc4af5f577cb05386e44e2dd0aa8fc6.zip
gcc-fee226d25fc4af5f577cb05386e44e2dd0aa8fc6.tar.gz
gcc-fee226d25fc4af5f577cb05386e44e2dd0aa8fc6.tar.bz2
regclass.c (choose_hard_reg_mode): Add third argument.
* regclass.c (choose_hard_reg_mode): Add third argument. Changed all callers. * rtl.h (choose_hard_reg_mode): Update declaration. * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Take HARD_REGNO_CALL_PART_CLOBBERED into account. From-SVN: r69234
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 7537dd1..5ad605d 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -448,8 +448,12 @@ expand_builtin_init_dwarf_reg_sizes (tree address)
if (DWARF_FRAME_REGNUM (i) < DWARF_FRAME_REGISTERS)
{
HOST_WIDE_INT offset = DWARF_FRAME_REGNUM (i) * GET_MODE_SIZE (mode);
- HOST_WIDE_INT size = GET_MODE_SIZE (reg_raw_mode[i]);
+ enum machine_mode save_mode = reg_raw_mode[i];
+ HOST_WIDE_INT size;
+ if (HARD_REGNO_CALL_PART_CLOBBERED (i, save_mode))
+ save_mode = choose_hard_reg_mode (i, 1, true);
+ size = GET_MODE_SIZE (save_mode);
if (offset < 0)
continue;