OSDN Git Service

2002-09-09 Jan Hubicka <jh@suse.cz>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 55109db..be66367 100644 (file)
+2002-09-09  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (index_register_operand): New.
+       * i386.h (predicate_codes): Add new predicate.
+       * i386.md (lea_general_*): Use index_regsiter_operand
+       (ashift to lea splitter): Do not produce invalid leas
+       (ashift to mov+ashift split): New.
+
+2002-09-09  Nick Clifton  <nickc@redhat.com>
+
+       * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
+       Fix folding marks.
+
+2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+            J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
+
+2002-09-09  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
+       (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
+       attributes.
+
+2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
+
+2002-09-08  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
+       (DW_OP_GNU_push_tls_address): New.
+       (DW_OP_lo_user): Fix.
+       * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
+       (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
+       (size_of_loc_descr): Likewise.
+       (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
+       (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
+       (loc_descriptor_from_tree): Handle TLS variables.
+       (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
+       (add_location_or_const_value_attribute): ... not here.  Defer
+       to loc_descriptor_from_tree for TLS variables.
+
+       * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
+       * config/i386/i386.c (i386_output_dwarf_dtprel): New.
+       * config/i386/i386-protos.h: Update.
+
+2002-09-08  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/6405
+       * unroll.c (loop_iterations): last_loop_insn should be the previous
+       non-note instruction before loop->end.
+       * loop.c (strength_reduce): The conditional jump is the last
+       non-note instruction before loop->end (as above).
+
+2002-09-08  Roger Sayle  <roger@eyesopen.com>
+
+       * combine.c (try_combine): Handle the case that undobuf.other_insn
+       has been turned into a return or unconditional jump, by inserting
+       a BARRIER if necessary.
+       (simplify_set):  Test if a condition code setter has a constant
+       comparison at compile time, if so convert this insn to a no-op move
+       and update/simplify the condition code user (undobuf.other_insn).
+
+2002-09-08  Krister Walfridsson  <cato@df.lth.se>
+
+       * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
+       (CLEAR_INSN_CACHE): Define.
+
+2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * basic-block.h: Fix comment formatting.
+       * c-common.c: Likewise.
+       * c-common.h: Likewise.
+       * c-lex.c: Likewise.
+       * c-pretty-print.c: Likewise.
+       * cfglayout.c: Likewise.
+       * cfgloop.c: Likewise.
+       * defaults.h: Likewise.
+       * et-forest.c: Likewise.
+       * explow.c: Likewise.
+       * function.h: Likewise.
+       * gcov.c: Likewise.
+       * genattrtab.c: Likewise.
+       * gengtype.c: Likewise.
+       * ifcvt.c: Likewise.
+       * libgcc2.c: Likewise.
+       * loop.c: Likewise.
+       * profile.c: Likewise.
+       * ra-build.c: Likewise.
+       * real.c: Likewise.
+       * rtl.h: Likewise.
+       * tracer.c: Likewise.
+       * tree-inline.c: Likewise.
+       * varasm.c: Likewise.
+
+2002-09-08  Jan Hubicka  <jh@suse.cz>
+
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
+       handling.
+
+       * loop.c (loop_gics_reduce):  Emit addition after.
+
+2002-09-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * varasm.c (default_assemble_visibility): Rename from
+       assemble_visibility.
+       * output.h: Here too.
+       * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
+       * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
+
+2002-09-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * reload.c (find_reloads <p constraint>): Pass operand_mode to
+       find_reloads_address.
+
+2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
+       (anonymous pattern): Likewise.
+
+2002-09-07  Scott Snyder  <snyder@fnal.gov>
+
+       PR target/7374
+       * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
+
+2002-09-07  Roger Sayle  <roger@eyesopen.com>
+
+       * basic-block.h (struct loop): Remove unused cont_dominator field.
+
+2002-09-07  Igor Shevlyakov <igor@microunity.com>
+
+        * varasm.c (decode_rtx_const): Don't check undefined field for
+       CONST_VECTOR.
+
+2002-09-07  Glen Nakamura  <glen@imodulo.com>
+
+       PR opt/7814
+       * sched-deps.c (sched_analyze_insn): Make sure to add insn
+       to reg_last->sets after flushing the dependency lists to guarantee
+       that subsequent clobbers will be dependent on it.
+
+2002-09-07  Igor Shevlyakov <igor@microunity.com>
+
+       * combine.c (simplify_shift_const): Calculate rotate count
+       correctly for vector operands.
+
+2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
+
+       * c-typeck.c (c_tree_expr_nonnegative_p): New function.
+       (build_binary_op): Call c_tree_expr_nonnegative_p rather than
+       tree_expr_nonnegative_p.
+       (build_conditional_expr): Likewise.
+       * c-tree.h (c_tree_expr_nonnegative_p): Declare.
+
+2002-09-07  Richard Henderson  <rth@redhat.com>
+
+       * builtins.def (inf, inff, infl): Mark const.
+       (huge_val, huge_valf, huge_vall): Likewise.
+       (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
+
+       * real.c (ereal_inf): Clear E before use.
+
+2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (udivmodqi4): Split the pattern into
+       an expander and an anonymous pattern.  Zero out the upper half
+       of the dividend in the expander.
+       (udivmodqi4): Likewise.
+
+2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c: Fix formatting.
+       * config/h8300/h8300.h: Likewise.
+       * config/h8300/h8300.md: Likewise.
+
+2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
+       information.
+
+2002-09-07  Graham Stott  <graham.stott@btinternet.con>
+
+       * rtlanal.c (dead_or_set_regno_p): Fix typo.
+
+2002-09-07  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+
+       * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
+       * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
+       (TARGET_ASM_OUT): Add the above here.
+       * target.h (struct gcc_target): Add "visibility" field.
+       * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
+       * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
+       (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
+       (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
+
+2002-09-06  Ziemowit Laski <zlaski@apple.com>
+
+       * c-lang.c (objc_is_id): New stub.
+       * c-tree.h (objc_is_id): New forward declaration.
+       * c-typeck.c (build_c_cast): Do not strip protocol
+       qualifiers from 'id' type.
+       * objc/objc-act.c (objc_comptypes): Correct handling
+       of protocol qualifiers.
+       (objc_is_id): New.
+
+Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
+
+       * pentium.md (pentium-firstvboth): Fix typo.
+
+2002-09-06     Dhananjay Deshpande <dhananjayd@kpit.com>
+
+       * h8300.c (enum shift_alg): Move to earlier in h8300.c.
+       (enum shift_type, enum h8_cpu): Likewise.
+       (INL, ROT, LOP, SPC macros): Likewise.
+       (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
+       const designator.
+       (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
+       space efficient algorithms when optimize for codesize.
+
+Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+
+       Fix PR/1727 and long-standing failing testcase
+       objc/formal-protocol-6.m.
+       * objc-act.c (build_protocol_expr): If compiling for the GNU
+       runtime, create a list of Protocol statically allocated instances
+       if it doesn't exist, then add the Protocol object to this same
+       list.
+       (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
+       instead of TREE_CHAIN.
+
+Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+
+       * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
+       10k.  Fixed category dumping - print out category names with the
+       proper syntax.  Print '@end\n' and not '\n@end' at the end of the
+       interface.
+       (finish_objc): Fixed the -gen-decls option.  It was printing out
+       only the last class.  Dump an interface declaration of all classes
+       being compiled instead.
+
+2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
+       prototype.
+       * config/arm/arm.c (arm_gen_return_addr_mask): New function.
+       * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
+       if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
+       rather than GEN_INT.
+       * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
+       (return_addr_mask, *check_arch2): New.
+
+2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
+       "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
+       "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
+       "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
+       "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
+       "adddf3", "*adddf3", "*adddf3_ibm",
+       "addsf3", "*addsf3", "*addsf3_ibm",
+       "muldi3", "mulsi3", "mulsidi3",
+       "muldf3", "*muldf3", "*muldf3_ibm",
+       "mulsf3", "*mulsf3", "*mulsf3_ibm",
+       "*anddi3_cc", "*anddi3_cconly", "anddi3",
+       "*andsi3_cc", "*andsi3_cconly", "andsi3",
+       "*iordi3_cc", "*iordi3_cconly", "iordi3",
+       "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
+       "*xordi3_cc", "*xordi3_cconly", "xordi3",
+       "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
+       instead of "register_operand" as predicate for "%0" operand.
+
+2002-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
+       unconditionally when gcc_cv_as_flags64 checks are gone.
+       * configure: Rebuilt.
+
+2002-09-06  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
+       2002-07-26 change.  Comment.
+
+2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * frv.c (frv_unique_section, frv_select_section,
+       frv_select_rtx_section): Delete.
+       (frv_in_small_data_p): New.
+       (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
+       TARGET_ASM_SELECT_RTX_SECTION): Delete.
+       (TARGET_IN_SMALL_DATA_P): Define.
+
+2002-09-05  Dale Johannesen  <dalej@apple.com>
+
+       * reload1.c (reload):  Retain only those memory clobbers
+       added for variable-array handling.
+
+2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
+       return-in-memory rules.
+       * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
+
+2002-09-05  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
+       (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
+
+2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
+       not a compile-time constant for the non-IBM case.
+       * config/arm/arm-protos.h (arm_float_words_big_endian): New
+       prototype.
+       * config/arm/arm.c (arm_float_words_big_endian): New function.
+       * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
+       if TARGET_VFP  and not TARGET_HARD_FLOAT.
+       (ARM_FLAG_VFP, TARGET_VFP): Define.
+       (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
+
+2002-09-05  David Edelsohn  <edelsohn@gnu.org>
+
+       * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
+       URLs.  Fix AIX wording.
+
+2002-09-05  Stan Shebs  <shebs@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
+       -fPIC equivalent on Darwin.
+
+Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.c (sh_expand_builtin): Return early if encountering an
+       error_mark for a type.
+
 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * config/s390/s390.c (s390_expand_plus_operand): Do not require
        double-word scratch register.
        config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
 
-       ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem", 
+       ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
        "*cli"): Replace s_operand by memory_operand.
        ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
 
        * config/h8300/h8300.c (asm_file_start): Add a missing
        semicolon.
 
+2002-09-04  Krister Walfridsson  <cato@df.lth.se>
+
+       * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
+       * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
+       (ix86_output_addr_diff_elt) Likewise.
+       (x86_output_mi_thunk) Likewise.
+       * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
+
 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * frv.c (frv_encode_section_info): Fix error in last change.
@@ -171,7 +516,7 @@ Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
        * config/m68hc11/m68hc11.c (print_operand): Likewise.
        * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
        ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
-       * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND, 
+       * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
        ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
        * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
        ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
@@ -298,8 +643,8 @@ Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
        * config/s390/s390.md ("movti"): Add Q->Q alternative.
        ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
        "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
-       
-       ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss", 
+
+       ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
        "*movsf_ss"): Remove.
 
 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
@@ -334,8 +679,8 @@ Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
 
        PR objc/5956:
        * objc/objc-act.c (build_typed_selector_reference): Fix typo which
-       was causing the new selector never to match the existing ones 
-        (Patch by Alexander Malmberg <alexander@malmberg.org>). 
+       was causing the new selector never to match the existing ones
+       (Patch by Alexander Malmberg <alexander@malmberg.org>).
 
 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
 
@@ -388,7 +733,7 @@ Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
        stuff.
        (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
        CONST_DOUBLE constants.
-       
+
 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
@@ -550,7 +895,7 @@ Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
        (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
        (TARGET_SWITCHES):  Add strict-align.
        (TARGET_STRICT_ALIGN): New.
-       (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.    
+       (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
        * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
        Define.
        (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
@@ -631,7 +976,7 @@ Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
        * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
        (c_common_decode_option): Handle it.
        * doc/invoke.texi: Document -Wabi.
-       
+
 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
 
        * c-common.c (warn_undeclared_selector): New variable.
@@ -644,17 +989,17 @@ Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
        already been defined, and emit a warning if not.
 
 2002-08-27  Nick Clifton  <nickc@redhat.com>
-            Catherine Moore  <clm@redhat.com>
-            Jim Wilson  <wilson@cygnus.com>
-
-        * config.gcc: Add v850e-*-* target.
-        Add --with-cpu= support for v850.
-        * config/v850/lib1funcs.asm: Add v850e callt functions.
-        * config/v850/v850.h: Add support for v850e target.
-        * config/v850/v850.c: Add functions to support v850e target.
-        * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
-        * config/v850/v850.md: Add patterns for v850e instructions.
-        * doc/invoke.texi: Document new v850e command line switches.
+           Catherine Moore  <clm@redhat.com>
+           Jim Wilson  <wilson@cygnus.com>
+
+       * config.gcc: Add v850e-*-* target.
+       Add --with-cpu= support for v850.
+       * config/v850/lib1funcs.asm: Add v850e callt functions.
+       * config/v850/v850.h: Add support for v850e target.
+       * config/v850/v850.c: Add functions to support v850e target.
+       * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
+       * config/v850/v850.md: Add patterns for v850e instructions.
+       * doc/invoke.texi: Document new v850e command line switches.
 
 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
                          Aldy Hernandez <aldyh at redhat dot com>
@@ -746,7 +1091,7 @@ Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
 
        * doc/cpp.texi (Common Predefined Macros): Don't mess with table
-       delimiter. 
+       delimiter.
 
 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
@@ -768,7 +1113,7 @@ Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
 
 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
 
-       * config/s390/s390-protos.h (s390_function_prologue, 
+       * config/s390/s390-protos.h (s390_function_prologue,
        s390_function_epilogue): Remove.
        config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
        TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
@@ -779,7 +1124,7 @@ Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
        config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
        to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
 
-       config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always 
+       config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
        assume BASE_REGISTER and RETURN_REGNUM need to be saved.
        (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
        function is not a leaf function.  Use save_gprs and restore_gprs.