OSDN Git Service

* cselib.c (remove_useless_values): Do not access discarded values.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 89136b3..c7782d8 100644 (file)
@@ -1,3 +1,266 @@
+2004-01-24  Jan Hubicka  <jh@suse.cz>
+
+       * cselib.c (remove_useless_values):  Do not access discarded values.
+
+2004-01-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (build_conditional_expr): Do not allow non-lvalue
+       arrays.
+
+2004-01-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * recog.c: Fix a typo in copyright.
+
+2004-01-23  Andrew Pinski  <apinski@apple.com>
+
+       * config/rs6000/rs6000.md (call): Fix misappiled patch.
+       (call_value): Likewise.
+
+2004-01-23  Richard Henderson  <rth@redhat.com>
+
+        PR opt/12941
+        * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
+        (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
+        if SHIFT_COUNT_TRUNCATED is set.
+
+2004-01-23  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
+       separate real and imaginary parts.
+       * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
+
+2004-01-23  Hartmut Penner <hpenner@de.ibm.com>
+
+       PR target/13674
+       * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
+       loading into GPR.
+
+2004-01-23  Jan Hubicka  <jh@suse.cz>
+
+       * emit-rtl.c (change_address_1):  Do not re-generate the RTX if nothing
+       change.
+
+       * alloc-pool.c (align_four): Kill.
+       (create_alloc_pool): Align size to eight.
+       (free_alloc_pool, free_pool): Invalidate deallocated data.
+
+2004-01-23  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       PR gcc/1532
+       * cse.c (cse_change_cc_mode): New static function.
+       (cse_change_cc_mode_insns, cse_cc_succs): Likewise.
+       (cse_condition_code_reg): New function.
+       * rtl.h (cse_condition_code_reg): Declare.
+       * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
+       * target.h (struct gcc_target): Add fixed_condition_code_regs and
+       cc_modes_compatible.
+       * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
+       (TARGET_CC_MODES_COMPATIBLE): Define.
+       (TARGET_INITIALIZER): Add new initializers.
+       * targhooks.c (default_cc_modes_compatible): New function.
+       * targhooks.c (default_cc_modes_compatible): Declare.
+       * hooks.c (hook_bool_intp_intp_false): New function.
+       * hooks.h (hook_bool_intp_intp_false): Declare.
+       * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
+       (TARGET_CC_MODES_COMPATIBLE): Define.
+       (ix86_fixed_condition_code_regs): New static function.
+       (ix86_cc_modes_compatible): Likewise.
+       * doc/tm.texi (Condition Code): Document new hooks.
+
+2004-01-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixinc/inclhack.def (bad_lval): Renamed to ...
+       (alpha_bad_lval): ... this.
+       Removed file list.
+       Restrict to alpha*-dec-osf*.
+       * fixinc/fixincl.x: Regenerate.
+       * fixinc/tests/base/dirent.h: Remove, moving test ...
+       * fixinc/tests/base/testing.h: ... here, reflecting new name.
+
+2004-01-23  Zack Weinberg  <zack@codesourcery.com>
+
+       PR c/13814
+       * c-decl.c (diagnose_mismatched_decls): Also discard a
+       built-in if we encounter an old-style definition with the
+       same name.
+
+2004-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
+       set to default{32,64}.
+
+2004-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
+       [!__powerpc64__]: Corrected to handle kernels with changed ucontext.
+
+2004-01-23  Eric Botcazou  <ebotcazou@act-europe.fr>
+           Olivier Hainque  <hainque@act-europe.fr>
+
+       * fold-const.c (fold_binary_op_with_conditional_arg): Only
+       build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
+
+2004-01-23  Daniel Jacobowitz  <drow@mvista.com>
+
+       * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
+       size for minipool references.
+
+2004-01-23  Roger Sayle  <roger@eyesopen.com>
+
+       * real.c (real_floor, real_ceil): Tweak to allow input and output
+       arguments to overlap.
+       (real_round): New function to implement round(3m) semantics.
+       * real.h (real_round): Prototype here.
+       * builtins.c (fold_builtin_round): New function to constant fold
+       round, roundf and roundl.
+       (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
+
+2004-01-23  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR optimization/13819
+       * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
+       introduced by 2004-01-20's Jan Hubicka's copy_insn change.
+       (sh_handle_sp_switch_attribute): Remove warning.
+
+2003-11-30  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_emit_restore_regs_using_mov):  Deal with large offsets.
+
+2004-01-23  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
+       may or may not return non-NIL.
+       * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
+       check CANNOT_CHANGE_MODE_CLASS
+
+2004-01-23  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (PROP_POSTRELOAD): New macro.
+       (CLEANUP_LOG_LINKS): New.
+       * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
+       * toplev.c (rest_of_handle_life):  Preserve LOG_LINKS trought cleanup_cfg.
+
+       * cselib.c (value_pool): New.
+       (new_cselib_val): Use pool.
+       (cselib_init): Initialize value_pool
+       (cselib_finish): Free pool.
+
+2004-01-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (scan_record_type): New function.
+       (function_arg_slotno): Use it to determine which kinds of
+       registers the record can be passed in.
+
+2004-01-22  James A. Mmorrison  <ja2morri@uwaterloo.ca>
+
+       * config/pa/fptr.c: Fix old-style definition.
+
+2004-01-22  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR optimization/13724
+       * cse.c (fold_rtx) <SUBREG>:  Fold a SUBREG to zero if it
+       represents the zero bits produced by a ZERO_EXTEND operation.
+
+2004-01-22  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/13821
+       * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
+       correctly calculate the lowpart offset of the contracted subreg.
+
+2004-01-22  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * doc/invoke.texi (Optimize Options): Note that --param arguments
+       are subject to change without notice.
+
+2004-01-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config.gcc (mips-sgi-irix6*o32): Removed.
+       * config/mips/iris6-o32-as.h: Likewise.
+       * config/mips/iris6-o32-gas.h: Likewise.
+       * config/mips/iris6-o32.h: Likewise.
+
+2004-01-22  Jan Hubicka  <jh@suse.cz>
+
+       * cfgcleanup.c (first_pass): New static variable.
+       (try_forward_edges):  Add work limiting check for threading.
+       (try_crossjump_bb):  Add work limiting check for crossjumping.
+       (try_optimize_cfg):  Maintain first pass variable.
+
+2004-01-22  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (function_arg): Generalize logic so that it
+       handles complex and vector modes.
+
+2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
+       (REG_OK_FOR_BASE_P_STRICT): Likewise.
+       (STRICT): Likewise.
+
+2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
+
+       * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
+       (genrtl_for_stmt): Remove emit_nop calls.
+
+2004-01-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/13713
+       PR target/13324
+       * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
+       movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
+       clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
+
+2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
+
+       * config/arm/arm.c: Include "debug.h".
+       (thumb_pushpop): Take two new arguments.  Add some commentary.
+       Output frame information when pushing.
+       (thumb_exit, thumb_unexpanded_epilogue): Update calls to
+       thumb_pushpop.
+       (thumb_output_function_prologue): Likewise.  Accumulate a CFA
+       offset, and pass it to thumb_pushpop.  Output CFI information.
+       (thumb_expand_prologue): Add some frame-related markers and notes.
+
+2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_frame_info): Allow large frame sizes
+       for TARGET_64BIT.
+       (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
+       * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
+
+2004-01-22  Roger Sayle  <roger@eyesopen.com>
+           Paolo Bonzini  <bonzini@gnu.org>
+
+       * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
+       (subreg_lsb): Change to call new subreg_lsb_1 helper function.
+       * rtl.h (subreg_lsb_1): Prototype here.
+       * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
+       sign extensions.
+
+2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
+       macro need not be defined if jump-tables should contain
+       relative addresses only when -fPIC or -fPIC is in effect.
+
+2004-01-22  Jan Hubicka  <jh@suse.cz>
+
+       * alias.c (reg_base_value): Turn into varray.
+       (reg_base_value_size): Kill.
+       (old_reg_base_value): New deletable varray.
+       (alias_invariant_size): New variable.
+       (REG_BASE_VALUE): Update to use varray.
+       (find_base_value): Likewise.
+       (record_set): Likewise.
+       (record_base_value): Likewise.
+       (memrefs_conflict_p): Likewise.
+       (record_set): Likewise
+       (record_base_value): Likewise.
+       (memrefs_conflict_p): Use alias_invariant_size.
+       (init_alias_analysis): Use varray; set alias_invariant_size;
+       rescale other arrays to be sized by maxreg.
+       (end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
+
 2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        * config/sparc/sparc.c (function_arg_slotno): Use
 2004-01-21  Andrew Pinski  <apinski@apple.com>
 
        PR target/13785
-       * config/rs6000/rs6000.md (call_value): Force operand 
+       * config/rs6000/rs6000.md (call_value): Force operand
        1 not operand 0 into a register.
 
 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
 2004-01-21  Caroline Tice <ctice@apple.com>
 
        PR target/12308
-       * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber 
+       * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
        flags register.
        (fix_truncdfdi2): Likewise.
        (fix_truncsfdi2): Likewise.
        (fix_truncdfhi2): Likewise.
        (fix_truncsfhi2): Likewise.
        (*fix_trunchi_1): Likewise.
-       
+
 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
 
        * alias.c, basic-block.h, c-common.c, c-common.h,
        * invoke.texi (-O1): Document change.
 
 See ChangeLog.10 for earlier changes.
+