OSDN Git Service

* reload1.c (move2add_last_cc0): New.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 6d31695..df58352 100644 (file)
@@ -1,3 +1,332 @@
+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