OSDN Git Service

* reload1.c (move2add_last_cc0): New.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4457250..df58352 100644 (file)
@@ -1,3 +1,384 @@
+2003-04-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * reload1.c (move2add_last_cc0): New.
+       (reload_cse_move2add): Detect implicit sets.
+       (move2add_note_store): Notice a store into cc0.
+
+2003-04-17  Roger Sayle  <roger@eyesopen.com>
+
+       PR c/10375
+       * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
+       function attributes.
+
+2003-04-17  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/sourcebuild.texi (Test Suites): Document support for testing
+       binary compatibility (moved from testsuite/README.compat).
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
+
+2003-04-17  Simon Law  <sfllaw@engmail.uwaterloo.ca>
+
+        * doc/include/gpl.texi: Fix double-spacing after "MA" to match
+        the one provided by the FSF.
+
+2003-04-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/install.texi (Binaries): Update URL and list of platforms
+       provided by ftp.thewrittenword.com.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
+       (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
+       * config/xtensa/xtensa.md (call, call_value): Likewise.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
+       (print_operand_address): Likewise.
+       (ep_memory_operand): Likewise.
+       (special_symbolref_operand): Likewise.
+       (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
+       (v850_encode_section_info): Call default_encode_section_info.
+       (v850_strip_name_encoding): Remove.
+       * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
+       (ASM_OUTPUT_LABELREF): Remove.
+       (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
+       (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
+       (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
+       (ENCODED_NAME_P): Remove.
+       (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
+       (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
+       (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
+       * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
+       SYMBOL_REF_FUNCTION_P.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/sparc/sparc.c (sparc_encode_section_info): Remove.
+       (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
+       (text_segment_operand): Likewise.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
+       (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
+       (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
+       (sh_encode_section_info): Remove.
+       (sh_strip_name_encoding): Remove.
+       * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
+       (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
+       (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
+       (ASM_OUTPUT_LABELREF): Remove.
+       (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
+       * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
+       (tls_model_chars): Remove.
+       (larl_operand): Use SYMBOL_REF_FLAGS.
+       (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
+       (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P. 
+       (s390_output_mi_thunk): Likewise.
+       (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
+       (s390_function_profiler): Likewise.
+       (s390_encode_section_info): Use default_encode_section_info
+       and SYMBOL_FLAG_ALIGN1.
+       (s390_strip_name_encoding): Remove.
+       * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
+       * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
+       (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
+       (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
+       (print_operand_address): Likewise.
+
+       * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
+       * config/ns32k/ns32k.c (expand_block_move): Don't check
+       flag_unroll_loops.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/mcore/mcore.c (mcore_encode_section_info): Don't set
+       SYMBOL_REF_FLAG.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
+
+       * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
+       (SYMBOL_REF_MODEL): New.
+       (LIT_NAME_P): Move from m32r.h.
+       (m32r_select_section): Remove.
+       (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
+       (m32r_strip_name_encoding): Remove.
+       (m32r_in_small_data_p): New.
+       (small_data_operand): Use SYMBOL_REF_SMALL_P.
+       (addr24_operand): Use SYMBOL_REF_MODEL.
+       (call26_operand): Likewise.
+       (addr32_operand): Tidy.
+       (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
+       * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
+       (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
+       (READONLY_DATA_SECTION_ASM_OP): Remove.
+       (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
+       (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
+       (TARGET_ASM_SELECT_SECTION): Remove.
+       (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
+       (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
+       (LARGE_NAME_P, ENCODED_NAME_P): Remove.
+       (ASM_OUTPUT_LABELREF): Remove.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
+       (encode_section_info): Remove.
+       * config/ip2k/ip2k-protos.h: Update.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * varasm.c (default_encode_section_info): Don't set 
+       SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
+       * config/i370/i370.c (i370_encode_section_info): Remove.
+       * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
+       (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
+       * config/i370/i370.md (movsi): Likewise.
+
+       * config/i370/t-i370: Add missing backslash.
+
+2003-04-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/invoke.texi (inline-limit): Fix pasto.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
+       (small_call_insn_operand): Use it.
+       (SYMBOL_FLAG_EIGHTBIT_DATA): New.
+       (h8300_eightbit_constant_address_p): Use it.
+       (SYMBOL_FLAG_TINY_DATA): New.
+       (h8300_tiny_constant_address_p): Use it.
+       (h8300_encode_label, h8300_strip_name_encoding): Remove.
+       (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
+       * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
+       (ASM_OUTPUT_LABELREF): Remove.
+
+2003-04-16  Richard Henderson  <rth@redhat.com>
+
+       * config/frv/frv.c (symbol_ref_small_data_p): Remove.  Replace
+       all users with SYMBOL_REF_SMALL_P.
+       (const_small_data_p): Use SYMBOL_REF_SMALL_P.
+       (frv_encode_section_info): Remove.
+       (frv_strip_name_encoding): Remove.
+       (frv_in_small_data_p): Merge tests from encode_section_info.
+       (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
+       * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
+       (SDATA_NAME_P): Remove.
+       (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
+       (ASM_OUTPUT_LABELREF): Remove.
+       (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
+
+       * config/frv/frv.c (frv_asm_out_constructor): New.
+       (frv_asm_out_destructor): New.
+       * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
+       (DTORS_SECTION_ASM_OP): New.
+       (ASM_OUTPUT_CONSTRUCTOR): Remove.
+       (ASM_OUTPUT_DESTRUCTOR): Remove.
+
+2003-04-16  Richard Henderson  <rth@redhat.com>
+
+       * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
+       SYMBOL_REF_LOCAL_P; abort if not pic.
+       (cris_encode_section_info): Remove.
+
+2003-04-16  Richard Henderson  <rth@redhat.com>
+
+       * config/c4x/c4x.c (c4x_encode_section_info): Remove.
+       (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
+
+       * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
+       flag_inline_trees.
+
+2003-04-16  Richard Henderson  <rth@redhat.com>
+
+       * config/avr/avr.c (avr_encode_section_info): Remove.
+       (avr_insert_attributes): New.
+       (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
+       (avr_assemble_integer): Likewise.
+
+2003-04-16  Richard Henderson  <rth@redhat.com>
+
+       * arc.c (arc_encode_section_info): Remove.
+       (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.      
+       (arc_print_operand, arc_print_operand_address): Likewise.
+       * arc.h (EXTRA_CONSTRAINT): Likewise.
+
+2003-04-16  Roger Sayle  <roger@eyesopen.com>
+
+       * c-semantics.c (find_reachable_label): New function to find a
+       potentially reachable label in an expression.
+       (expand_unreachable_if_stmt): Similar to expand_if_stmt but
+       assumes the start of the IF_STMT is unreachable (dead) code.
+       (expand_unreachable_stmt): Similar to expand_stmt but assumes
+       the start of the statement list is unreachable (dead) code.
+       (genrtl_if_stmt):  If the controlling expression of the IF
+       is constant, use expand_unreachable_stmt for the THEN or ELSE
+       clause as appropriate.
+       (genrtl_switch_stmt):  Use expand_unreachable_stmt to expand
+       the body of a SWITCH statement.
+       (expand_stmt): The code immediately following a "return",
+       "break", "continue" or "goto" is unreachable.
+       * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
+
+2003-04-16  Richard Henderson  <rth@redhat.com>
+
+       * rtl.h (MEM_ALIAS_SET): Update documentation.
+       * doc/rtl.texi (Special Accessors): New node.
+       (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
+
+2003-04-16  Alexandre Oliva  <aoliva@redhat.com>
+
+       * reload1.c (reload_cse_noop_set_p): Return false if mode of
+       SET_DEST is not the same as that returned by...
+       * cselib.h (cselib_reg_set_mode): ... new function.
+       * cselib.c (cselib_reg_set_mode): Define it.
+       (REG_VALUES): Document semantics of first element as set mode.
+       (cselib_subst_to_values): Skip first element if ELT is NULL.
+       (cselib_lookup): Likewise.  Insert past the first element.
+       (cselib_invalidate_regno): NULLify first element.
+       (cselib_record_set): Set first element.
+
+2003-04-16  Olivier Hainque <hainque@act-europe.fr>
+
+        * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
+        (save_expr): Replace loop by call to skip_simple_arithmetics_at.
+        * tree.h: Add prototypes for the two new functions.
+        * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
+        updates introduced in the previous revision by call to saved_expr_p.
+        * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
+
+        * expr.c (store_field): Force usage of bitfield instructions when
+        the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
+        (expand_expr, case BIT_FIELD_REF): likewise.
+
+2003-04-16  Mark Mitchell  <mark@codesourcery.com>
+
+       PR middle-end/8866
+       * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
+       jumptables.
+
+2003-04-16  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (sdata_symbolic_operand): Use
+       SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
+       (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
+       (function_operand): Use SYMBOL_REF_FUNCTION_P.
+       (ia64_expand_load_address): Likewise.
+       (ia64_assemble_integer): Likewise.
+       (ia64_encode_section_info): Remove.
+       (ia64_strip_name_encoding): Remove.
+       * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
+       * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
+
+2003-04-16  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
+       (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
+       (direct_call_operand): Use SYMBOL_FLAG_NEAR.
+       (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
+       (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
+       (global_symbolic_operand): Similarly.
+       (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
+       (tls_symbolic_operand_type): Likewise.
+       (alpha_encode_section_info): Use default_encode_section_info.
+       (alpha_strip_name_encoding): Remove.
+       (get_tls_get_addr): Split out from ...
+       (alpha_legitimize_address): ... here.
+       (alpha_emit_xfloating_libcall): Use init_one_libfunc.
+       (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
+       (alpha_initialize_trampoline): Use init_one_libfunc.
+       (alpha_setup_incoming_varargs): Mark unused parameters.
+       (alpha_initial_elimination_offset): Likewise.
+       (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
+       (unicosmk_unique_section): Use default_strip_name_encoding.
+       (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
+
+2003-04-16  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config.gcc: Add t-spe for eabispe.
+
+        * config/rs6000/t-spe: New.
+
+2003-04-16  J"orn Rennecke <joern.rennecke@superh.com>
+
+       Re-apply this patch:
+
+       2002-05-16  Dale Johannesen  <dalej@apple.com>
+         * combine.c (cant_combine_insn_p):  Reenable combinations
+         involving hard regs unless CLASS_LIKELY_SPILLED_P.
+
+2003-04-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR/10271
+       * pa-protos.h (function_arg): Remove last argument.
+       * pa.c (function_arg): Likewise.  Use CUMULATIVE_ARGS struct instead.
+       * pa.h (struct hppa_args): Add member incoming. 
+       (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
+       member incoming.
+       (FUNCTION_ARG): Revise call to function_arg.
+       (FUNCTION_INCOMING_ARG): Delete.
+
+2003-04-15  Zack Weinberg  <zack@codesourcery.com>
+
+       * configure.in: Unify the code which creates symlinks to a
+       just-built as, ld, objdump, and nm with the code that detects
+       their presence for purposes of feature tests.
+       * configure: Regenerate.
+
+2003-04-15  Zack Weinberg  <zack@codesourcery.com>
+
+       * varasm.c (output_constant_def): Do not consult
+       CONSTANT_AFTER_FUNCTION_P.  Remove all code predicated on it.
+       (after_function_constants, output_after_function_constants): Delete.
+       * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
+       * config/mips/mips-protos.h, config/mips/mips.c
+       (mips16_constant_after_function_p): Delete.
+       * config/mips/mips.h: Delete #if-0-ed definition of
+       CONSTANT_AFTER_FUNCTION_P.
+       * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
+       mention of CONSTANT_AFTER_FUNCTION_P in comment.
+
+2003-04-15  Geoffrey Keating  <geoffk@apple.com>
+
+       * tree.c (next_decl_uid): Mark with GTY.
+       (next_type_uid): Likewise.
+
+2003-04-15  J"orn Rennecke <joern.rennecke@superh.com>
+
+       PR target/9594:
+       * sh.c (barrier_align): Also recognize stuff_delay_slot as
+       an indicator that a barrier was created by branch splitting.
+
+2003-04-15  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-decl.c (implicitly_declare): Copy declarations that are going
+       to be placed in a local scope.
+
+2003-04-15  James A. Morrison  <ja2morri@uwaterloo.ca>
+
+       * invoke.texi (Spec Files): Wrap if-exists-else example.
+       (MCore): Remove duplicate @itemx entries and @opindex entries.
+
 2003-04-15  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * unwind.inc (_Unwind_Backtrace): New function.
@@ -7,7 +388,7 @@
 2003-04-14  Jason Merrill  <jason@redhat.com>
 
        PR middle-end/10336, c++/10401
-       * jump.c (never_reached_warning): Also stop looking if we reach the 
+       * jump.c (never_reached_warning): Also stop looking if we reach the
        beginning of the function.
 
 2003-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        (dbxout_type): Replace extracted code by call to
        print_int_cst_bounds_in_octal_p.
 
-        * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
-        of DW_LANG_Ada83 for Ada units.
+       * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
+       of DW_LANG_Ada83 for Ada units.
 
 2003-04-14  Olivier Hainque <hainque@act-europe.fr>
 
        hard regs to pseudos live across abnormal edges, as later passes are
        not ready to handle them.
 
-        * fold-const.c (fold): Reorder tests for conditional expressions.
+       * fold-const.c (fold): Reorder tests for conditional expressions.
+
+       * expr.c (highest_pow2_factor): Return unsigned.
+       * expr.h (offset_address): Likewise.
+       * emit-rtl.c (offset_address): POW2 argument now unsigned.
 
-        * expr.c (highest_pow2_factor): Return unsigned.
-        * expr.h (offset_address): Likewise.
-        * emit-rtl.c (offset_address): POW2 argument now unsigned.
-        
 2003-04-14  Roger Sayle  <roger@eyesopen.com>
 
        * builtins.c (expand_builtin_strlen):  Evaluate the lengths of
@@ -204,7 +585,7 @@ Mon Apr 14 16:18:37 CEST 2003  Jan Hubicka  <jh@suse.cz>
        config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
        config/rs6000/spe.md, config/rs6000/sysv4.h,
        config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
-       config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.       
+       config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
 
 2003-04-13  Nick Clifton  <nickc@redhat.com>