OSDN Git Service

2001-02-20 Joel Sherrill <joel@OARcorp.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index c4cab2d..d676016 100644 (file)
@@ -1,3 +1,328 @@
+2001-02-20     Joel Sherrill <joel@OARcorp.com>
+
+       * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
+       config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
+       Also done for -Acpu and -Amachine.
+
+2002-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppinit.c (init_dependency_output): Take deps output file
+       from -o if none given with -MF.  Suppress normal output.
+       * gcc.c (cpp_unique_options): Have -M and -MM imply -E. 
+       * doc/cpp.texi, doc/invoke.texi: Update.
+
+2002-02-19  Zack Weinberg  <zack@codesourcery.com>
+
+       * toplev.c (output_quoted_string): Write unprintable
+       characters with octal escapes.
+
+2002-02-19  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
+       really_call_used[VRSAVE_REGNO] if not Altivec.
+
+2002-02-19  Alan Modra  <amodra@bigpond.net.au>
+       
+       * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
+       MODE_MASK.
+       (constant_pool_expr_1): Fix formatting.
+       (rs6000_legitimize_reload_address): Likewise.
+
+Tue Feb 19 20:13:57 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
+       now that we have one.
+
+2002-02-19  Zack Weinberg  <zack@codesourcery.com>
+
+       * tree.h (struct tree_common): Remove aux.  Add unused_0 at
+       end of first block of bitfields (which was only seven bits);
+       rename dummy to unused_1; remove comment which is no longer true.
+
+2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
+
+       * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
+
+2002-02-19  Philip Blundell  <pb@nexus.co.uk>
+
+       PR 5399
+       * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
+       if generating PIC.
+
+       PR 5054
+       * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
+       arm_is_longcall_p rather than inspecting call-type cookie
+       directly.
+       (call_value_insn) [TARGET_THUMB]: Likewise.
+
+2002-02-19  Graham Stott  <grahams@redhat.com>
+
+       * config/i386/i386.c (ix86_expand_builtin): Fix typo.
+
+2002-02-19  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
+       ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
+       (FP_SAVE_INLINE): Delete.
+
+       * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
+       * config/rs6000/eabi.asm: Remove ABI save restore routines.
+       * config/rs6000/t-ppccomm: Build crtsavres.o.
+       * config/rs6000/crtsavres.asm: New file.
+
+2002-02-19  Philip Blundell  <philb@gnu.org>
+
+       * config/arm/arm.c (use_return_insn): Don't reject interrupt
+       functions.
+       (arm_compute_save_reg_mask): Save LR for interrupt functions too.
+       (output_return_instruction): Allow interrupt functions to return with
+       ldmfd sp!, {... pc}^.  Use LDR to restore any single register.
+       (arm_expand_prologue): Subtract 4 before stacking LR in an
+       interrupt function.
+
+2002-02-19  Philip Blundell  <pb@nexus.co.uk>
+
+       * config/arm/arm.c (arm_encode_call_attribute): Operate on any
+       decl, not just FUNCTION_DECL.
+       (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
+       (arm_assemble_integer): Likewise.
+       * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
+       marked local.
+       
+2002-02-19  matthew green  <mrg@eterna.com.au>
+
+       * config.gcc (sparc-*-netbsdelf*): Enable target.
+       (sparc64-*-netbsd*): New target.
+       * config/sparc/netbsd-elf.h: New file.
+       * config/sparc/t-netbsd64: New file.
+
+2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
+
+       * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
+
+2002-02-19  Ryan T. Sammartino <ryants@shaw.ca>
+
+       * doc/invoke.texi: explicitly list the style guidelines that
+       -Weffc++ checks for.
+
+Tue Feb 19 12:37:23 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * regmove.c (regmove_optimize): Avoid increasing of register pressure.
+
+2002-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       PR other/5718
+       * gcc.c (cpp_unique_options): Treat -o as indicating object file
+       only if not -E.  If -E, pass -o through to the preprocessor.
+
+2002-02-19  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
+       register number with an appropriate macro.
+
+2002-02-19  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * doc/rtl.texi (Constants): Close @code tag.
+
+2002-02-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
+       ("mmx_uavgv4hi3"): Same.
+       ("pmulhrwv4hi3"): Same.
+
+       * tree-inline.c (walk_tree): Handle vectors.
+
+       * c-common.c (constant_expression_warning): Handle vectors.
+       (overflow_warning): Same.
+
+       * sched-deps.c (sched_analyze_2): Handle vectors.
+
+       * rtlanal.c (rtx_unstable_p): Handle vectors.
+       (rtx_varies_p): Same.
+       (count_occurrences): Same.
+       (regs_set_between_p): Same.
+       (modified_between_p): Same.
+       (modified_in_p): Same.
+       (volatile_insn_p): Same.
+       (volatile_refs_p): Same.
+       (side_effects_p): Same.
+       (may_trap_p): Same.
+       (inequality_comparisons_p): Same.
+       (replace_regs): Same.
+       (computed_jump_p_1): Same.
+
+       * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
+       argument.
+       (inner_mode_array): New.
+       (copy_rtx): Handle vectors.
+       (copy_most_rtx): Same.
+       (rtx_equal_p): Same.
+       (get_mode_alignment): Adjust for vectors.
+
+       * resource.c (mark_referenced_resources): Handle vectors.
+       (mark_set_resources): Same.
+
+       * reload1.c (eliminate_regs): Handle vectors.
+       (elimination_effects): Same.
+       (scan_paradoxical_subregs): Same.
+
+       * reload.c (subst_reg_equivs): Handle vectors.
+
+       * regrename.c (scan_rtx): Handle vectors.
+
+       * regclass.c (reg_scan_mark_refs): Handle vectors.
+
+       * recog.c (find_single_use_1): Handle vectors.
+
+       * local-alloc.c (equiv_init_varies_p): Handle vectors.
+       (contains_replace_regs): Same.
+       (memref_referenced_p): Same.
+
+       * integrate.c (copy_rtx_and_substitute): Handle vectors.
+       (subst_constants): Same.
+
+       * genattrtab.c (attr_copy_rtx): Handle vectors.
+       (encode_units_mask): Same.
+       (clear_struct_flag): Same.
+       (count_sub_rtxs): Same.
+
+       * gcse.c (want_to_gcse_p): Handle vectors.
+       (oprs_unchanged_p): Same.
+       (hash_expr_1): Same.
+       (oprs_not_set_p): Same.
+       (expr_killed_p): Same.
+       (compute_transp): Same.
+       (store_ops_ok): Same.
+
+       * function.c (purge_addressof_1): Do not allow paradoxical subregs
+       of vectors.
+       (fixup_var_refs_1): Same.
+       (instantiate_virtual_regs_1): Same.
+
+       * fold-const.c (operand_equal_p): Handle vectors.
+       (fold): Same.
+       (rtl_expr_nonnegative_p): Same.
+
+       * flow.c (mark_used_regs): Handle vectors.
+
+       * df.c (df_uses_record): Handle vectors.
+
+       * cselib.c (cselib_subst_to_values): Handle vectors.
+       (cselib_mem_conflict_p): Same.
+       (hash_rtx): Same.
+
+       * cse.c (canon_reg): Handle vectors.
+       (fold_rt): Same.
+       (cse_process_notes): Same.
+       (count_reg_usage): Same.
+       (canon_hash): Same.
+
+       * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
+
+       * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
+
+       * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
+       (gen_rtx): Handle CONST_VECTOR.
+       (gen_const_vector_0): New.
+       (copy_rtx_if_shared): CONST_VECTORs can be shared.
+       (reset_used_flags): Same.
+       (copy_insn_1): Same.
+       (initializer_constant_valid_p): Handle VECTOR_CST.
+
+       * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
+
+       * doc/rtl.texi (Constants): Document const_vector.
+       (CONST0_RTX): Update for vectors.
+       (RTL sharing): Same.
+
+       * print-tree.c (print_node): Add case for VECTOR_CST.
+
+       * tree.h (TREE_VECTOR_CST_ELTS): New.
+       (struct tree_vector): New.
+       (union tree_node): Add vector node.
+       (build_vector): Add prototype.
+
+       * tree.def (VECTOR_CST): New.
+
+       * tree.c (build_vector): New.
+
+       * expmed.c (make_tree): Handle CONST_VECTOR.
+
+       * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
+       (CONST_VECTOR_ELT): New.
+       (CONST_VECTOR_NUNITS): New.
+
+       * machmode.h (GET_MODE_INNER): New.
+       (DEF_MACHMODE): Accept 8th arg.
+
+       * machmode.def: Add 8th argument for vector inner mode.
+       Add inner vector modes for vectors.
+
+       * rtl.def (VEC_CONST): Remove.
+       (CONST_VECTOR): New.
+
+       * expr.c (clear_storage): Allow vectors.
+       (is_zeros_p): Handle VECTOR_CST.
+
+       * varasm.c (output_constant_pool): Handle vectors.
+       (rtx_const): Add veclo and vechi fields.
+       (kind): Add RTX_VECTOR.
+       (decode_rtx_const): Add case for vector.
+
+       * config/rs6000/rs6000-protos.h: Add zero_constant.
+       
+       * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
+       constants.  Force easy vector constants into memory.
+       (easy_vector_constant): New.
+       (emit_easy_vector_constant): New.
+       (rs6000_legitimize_reload_address): Do not generate bad reloads on
+       darwin.
+
+       * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
+       instruction does.
+       ("altivec_lvxl"): Same.
+       (altivec_lvebx): Same.
+       (altivec_lvehx): Same.
+       (altivec_lvewx): Same.
+       ("*movv4si_const0"): New.
+       ("*movv4sf_const0"): New.
+       ("*movv8hi_const0"): New.
+       ("*movv16qi_const0"): New.
+
+2002-02-18  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.c (notice_update_cc): Use
+       cc_status.value2.
+
+2002-02-18  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.md (divmod patterns): Change the
+       constraints for operands[1] to register_operand.
+
+2002-02-18  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300-protos.h: Remove the prototype for
+       p_operand.
+       * config/h8300/h8300.c (p_operand): Remove.
+       * config/h8300/h8300.md: Replace p_operand with
+       const_int_operand.
+
+2002-02-18 Philip Blundell <pb@nexus.co.uk>
+
+       * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
+       comment.
+       (output_return_instruction): Allow use of LDR to unstack
+       return addresss even for interrupt handlers or when
+       interworking.  If compiling for ARMv5, use interworking-safe
+       return instructions by default.  Remove duplicated code and
+       lengthy "strcat" sequences.
+
+2002-02-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
+       (LINK_EH_SPEC): Define.
+       * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
+
 2002-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * config/s390/s390.c (s390_emit_prologue): Do not set the
@@ -442,17 +767,17 @@ Tue Feb 12 10:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
 2002-02-11  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/rs6000.c (altivec_init_builtins): Handle
-        __builtin_altivec_abs*.
-        (bdesc_abs): New.
+       * config/rs6000/rs6000.c (altivec_init_builtins): Handle
+       __builtin_altivec_abs*.
+       (bdesc_abs): New.
 
-        * config/rs6000/rs6000.h (rs6000_builtins): Add
-        ALTIVEC_BUILTIN_ABS*.
+       * config/rs6000/rs6000.h (rs6000_builtins): Add
+       ALTIVEC_BUILTIN_ABS*.
 
-        * config/rs6000/altivec.h: Use const char for builtins expecting
-        literals.
-        (vec_abs): New versions for C and C++.
-        (vec_abss): Same.
+       * config/rs6000/altivec.h: Use const char for builtins expecting
+       literals.
+       (vec_abs): New versions for C and C++.
+       (vec_abss): Same.
 
 2002-02-10  Kazu Hirata  <kazu@hxi.com>
 
@@ -1719,20 +2044,6 @@ Thu Feb  7 12:14:17 CET 2002  Jan Hubicka  <jh@suse.cz>
 
 2002-02-05  Jason Merrill  <jason@redhat.com>
 
-       * c-typeck.c (convert_for_assignment): Don't allow conversions
-       between pointers and references.  Only allow lvalues to convert to
-       reference.
-
-       * c-decl.c (finish_function): Warn about a non-void function with
-       no return statement and no abnormal exit.
-       (current_function_returns_abnormally): New variable.
-       (start_function): Clear it.
-       (struct c_language_function): Add returns_abnormally.
-       (push_c_function_context): Save it.
-       (pop_c_function_context): Restore it.
-       * c-tree.h: Declare current_function_returns_abnormally.
-       * c-typeck.c (build_function_call): Set it.
-
        * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
 
 2002-02-05  Andreas Jaeger  <aj@suse.de>