diff options
Diffstat (limited to 'gcc/config/s390/s390.c')
-rw-r--r-- | gcc/config/s390/s390.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index fb6913f2d60..7ff8cb870cd 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -1453,7 +1453,7 @@ s390_narrow_logical_operator (enum rtx_code code, rtx *memop, rtx *immop) static struct machine_function * s390_init_machine_status (void) { - return GGC_CNEW (struct machine_function); + return ggc_alloc_cleared_machine_function (); } /* Change optimizations to be performed, depending on the @@ -2957,10 +2957,12 @@ s390_reload_symref_address (rtx reg, rtx mem, rtx scratch, bool tomem) RCLASS requires an extra scratch or immediate register. Return the class needed for the immediate register. */ -static enum reg_class -s390_secondary_reload (bool in_p, rtx x, enum reg_class rclass, +static reg_class_t +s390_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i, enum machine_mode mode, secondary_reload_info *sri) { + enum reg_class rclass = (enum reg_class) rclass_i; + /* Intermediate register needed. */ if (reg_classes_intersect_p (CC_REGS, rclass)) return GENERAL_REGS; |