OSDN Git Service

* expr.c (emit_move_via_integer): Add force argument, pass it on
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b0294d4..abf9fe0 100644 (file)
@@ -1,3 +1,263 @@
+2005-09-17  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (emit_move_via_integer): Add force argument, pass it on
+       to emit_move_change_mode.  Update callers.
+       (emit_move_complex): Pass true to new force argument.
+       * function.c (expand_function_end): Move expand_eh_return call
+       earlier.  Merge sub-word complex values into a pseudo before
+       copying to the return hard register.
+
+2005-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
+       between different sizes.
+
+2005-09-16  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR 23903
+
+       * passes.c (init_optimization_passes): Register dump files for
+       IPA passes first.
+
+2005-09-16  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390-protos.h (s390_overlap_p): Prototype added.
+       * config/s390/s390.c (s390_overlap_p): New function.
+       * config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
+       peephole2, "*xc" peephole2): Added overlap check to the peephole2
+       condition.
+
+2005-09-16  Richard Guenther  <rguenther@suse.de>
+
+       * ipa-pure-const.c (static_execute): Free auxiliar information.
+       * ipa-type-escape.c (discover_unique_type): Free temporary key.
+       * tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
+
+2005-09-15  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
+
+2005-09-15  Paolo Bonzini  <bonzini@gnu.org>
+
+       * optabs.c (expand_binop): Use swap_commutative_operands_with_target
+       to order operands.
+       (swap_commutative_operands_with_target): New.
+
+2005-09-15  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-data-ref.c (analyze_array_indexes): Add estimate_only
+       parameter.
+       Update callers.
+       (estimate_iters_using_array): New function.
+       * tree-data-ref.h (estimate_iters_using_array): Prototype
+       * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
+       Use estimate_iters_using_array instead of analyze_array.
+       
+2005-09-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-nested.c (get_frame_type): Mark the "non-local frame structure"
+       as addressable.
+
+2005-09-15  Michael Matz  <matz@suse.de>
+
+       * tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
+
+2005-09-14  Daniel Berlin  <dberlin@dberlin.org>
+
+       PR tree-optimization/23835
+       * tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
+       (create_name_tags): Rewrite to be not O(num_ssa_names^2).
+
+2005-09-14  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
+       (addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
+
+2005-09-14  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
+       in the ARRAY_TYPE case.
+
+2005-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
+
+2005-09-14  Uros Bizjak  <uros@kss-loka.si>
+
+       PR middle-end/22480
+       * tree-vect-transform.c (vectorizable_operation): Return false for
+       scalar shift operations and for vector shift operations with
+       non-invariant shift arguments.  Use scalar tree operand op1 as
+       a shift operand when vector shift insn pattern uses scalar shift
+       operand.
+       * Makefile.in (tree-vect-transform.o): Depend on recog.h.
+
+2005-09-14  Olivier Hainque  <hainque@adacore.com>
+
+       * gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
+       value if it has side-effects.
+
+2005-09-14  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/22068
+       * config/rs6000/rs6000.md (muldi3): Add mulli alternative.
+
+2005-09-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
+       passed as NAME as if it were label at start of function code.
+
+2005-09-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (*movv4sf_i): Add general register cases to
+       the constraints.
+
+2005-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
+       as early clobber.  Rewrite so the PIC register is not implicitly used.
+
+2005-09-13  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * tree.c (annotate_with_file_line): Compare line numbers before
+       file names.
+
+2005-09-13  Uros Bizjak  <uros@kss-loka.si>
+
+       PR target/23816
+       * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
+       (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
+
+2005-09-13  Ian Lance Taylor  <ian@airs.com>
+
+       * loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
+       than a HOST_WIDEST_INT to gen_doloop_begin.
+
+2005-09-13  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-dfa.c (dump_variable): Guard against NULL annotations.
+
+2005-09-13  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimize/23817
+       * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
+
+2005-09-13  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/23774
+       * config/rs6000/rs6000.md (restore_stack_block): Write the backchain
+       word before changing the stack pointer.  Use gen_frame_mem for MEMs.
+       Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
+       (restore_stack_nonlocal): Likewise.
+       (save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
+
+2005-09-12  Ian Lance Taylor  <ian@airs.com>
+
+       PR g++/7874
+       * c.opt (ffriend-injection): New C++ option.
+       * doc/invoke.texi (Option Summary): Mention -ffriend-injection.
+       (C++ Dialect Options): Document -ffriend-injection.
+
+2005-09-12  Josh Conner  <jconner@apple.com>
+
+       PR middle-end/23237
+       * ipa-reference.c (static_execute): Don't mark variables in
+       named sections TREE_READONLY.
+
+2005-09-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
+       stack_tie.
+
+2005-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and 
+       V_MUST_DEF instead of just the first_use_p.
+       Don't mark the virtual variables for renaming on the statement which 
+       is being removed.
+       (pass_dse): Remove TODO_update_ssa.
+
+2005-09-12  J"orn Rennecke <joern.rennecke@st.com>
+
+       PR middle-end/23290
+       * stor-layout.c (compute_record_mode): For records with a single
+       field, actually check the field's mode size against the type size.
+
+       * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
+       registers for TARGET_SHMEDIA.
+       (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
+       GENERAL_FP_REGS to GENERAL_DF_REGS.  Add GENERAL_FP_REGS as union
+       of GENERAL_REGS and FP_REGS.
+
+2005-09-12  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
+
+2005-09-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
+       CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
+       are omitted.  Exclude stack_tie insn too.
+
+2005-09-11  David Edelsohn  <edelsohn@gnu.org>
+
+       PR rtl-optimization/23098
+       * config/rs6000/predicates.md (easy_fp_constant): SFmode constant
+       0.0f is easy.
+       * config/rs6000/rs6000.md (movdf splitter): Use
+       const_double_operand predicate for TARGET_POWERPC64.
+       * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
+       SYMBOL_REF method to ABI_V4.
+
+       * config/rs6000/altivec.md (build_vector_mask_for_load): Use
+       replace_equiv_address.
+       * config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
+       rs6000_sr_alias_set and MEM_NOTRAP.
+       (rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().
+
+2005-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.c (contains_placeholder_p) <tcc_expression>: Properly
+       handle CALL_EXPR again.
+
+2005-09-11  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       * arm/predicates.md (alignable_memory_operand): Delete.
+
+2005-09-10  Richard Henderson  <rth@redhat.com>
+
+       PR debug/23806
+       * dbxout.c (dbxout_expand_expr): New.
+       (dbxout_symbol): Use it.
+
+2005-09-10  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       * arm.c (arm_gen_rotated_half_load): Delete.
+       (vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
+       (emit_multi_reg_push, emit_sfm, arm_expand_prologue)
+       (thumb_set_return_address): Likewise.
+       (thumb_load_double_from_address): Use adjust_address.
+       * arm.md (splits calling arm_gen_rotated_half_load): Delete.
+       (extendhsisi2_mem, movhi_bytes): Use change_address.
+       (movhi): Use widen_memory_access.
+       (reload_out_df): Use replace_equiv_address.
+       * arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
+
+2005-09-09  Richard Henderson  <rth@redhat.com>
+
+       PR debug/20998
+       * dbxout.c: Include expr.h.
+       (dbxout_global_decl): Don't suppress for DECL_RTL unset.
+       (dbxout_symbol): Handle DECL_VALUE_EXPR.
+       * Makefile.in (dbxout.o): Add EXPR_H.
+
+2005-09-09  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/23509
+       * tree-cfg.c (replace_uses_by): Use replace_exp.
+       * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
+       pointers have name_mem_tag or type_mem_tag set.
+
 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
 
        * tree-chrec.c (evolution_function_is_invariant_rec_p): Use 
 
 2005-09-08  Josh Conner  <jconner@apple.com>
 
+       PR c++/21135
        PR c++/23180
        * expr.c (expand_expr_addr_expr_1): Don't invoke
        expand_simple_binop for EXPAND_INITIALIZER.