OSDN Git Service

* config/rs6000/spe.md (SPE_ACC_REGNO): Delete definition.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a294920..1057ccb 100644 (file)
+2007-07-13  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/spe.md (SPE_ACC_REGNO): Delete definition.
+       (SPEFSCR_REGNO): Delete definition.
+       * config/rs6000/rs6000.c: LINK_REGISTER_REGNUM -> LR_REGNO.
+       COUNT_REGISTER_REGNUM -> CTR_REGNO.
+       * config/rs6000/rs6000.h: Do not define *_REGNO.
+       LINK_REGISTER_REGNUM -> LR_REGNO.
+       COUNT_REGISTER_REGNUM -> CTR_REGNO.
+       * config/rs6000/predicates.md: LINK_REGISTER_REGNUM ->  LR_REGNO.
+       COUNT_REGISTER_REGNUM -> CTR_REGNO.
+       * config/rs6000/linux-unwind.h: Define R_LR, R_CR2, R_VR0,
+       R_VRSAVE, R_VSCR. Use them.
+       * config/rs6000/darwin-fallback.c: Define R_LR, R_CTR, R_CR2,
+       R_XER, R_VR0, R_VRSAVE, R_VSCR, R_SPEFSCR.  Use them.
+       * config/rs6000/rs6000.md: Define REGNO constants.  Use them.
+       * config/rs6000/aix.h: Define R_LR.  Use it.
+       
+2007-07-13  Caroline Tice  <ctice@apple.com>
+       
+       * toplev.c (process_options): Turn flag_var_tracking_uninit off when
+       flag_var_tracking is explicitly turned off (i.e. when variable
+       tracking is not feasible); otherwise, turn flag_var_tracking on when
+       flag_var_tracking_uninit is on.
+       * rtl.def (VAR_LOCATION): Add a new integer subfield to VAR_LOCATION
+       note definitions, to allow recording of initialization status in the
+       notes.
+       * dwarf2out.c (dwarf_stack_op_name): Add case for DW_OP_GNU_uninit.
+       (add_var_loc_to_decl): Add comparison of NOTE_VAR_LOCATION_STATUS to
+       determine if two note locations are equal.
+       (output_loc_list): Don't output list entries whose start & end labels
+       are the same.
+       (reg_loc_descriptor): Add parameter for initialization status; pass it
+       to other loc descriptor functions.
+       (one_reg_loc_descriptor): Add parameter for initialization status;
+       check its value and add DW_OP_GNU_uninit to returned loc descr if
+       appropriate.
+       (multiple_reg_loc_descriptor): Add parameter for initialization
+       status;
+       pass init status argument to other loc descriptor functions; check
+       value of intialization parameter and add DW_OP_GNU_uninit to returned
+       loc descr if appropriate.
+       (based_loc_descr): Add parameter for initialization status; add new
+       variable for return value; check value of initialization parameter and
+       add DW_OP_GNU_uninit to returned loc descr if appropriate.
+       (concatn_mem_loc_descriptor): Add parameter for initialization status;
+       pass init status argument to other loc descriptor functions; check
+       value of intialization parameter and add DW_OP_GNU_uninit to returned
+       loc descr if appropriate.
+       (mem_loc_descriptor): Likewise.
+       (concat_loc_descriptor): Likewise.
+       (concatn_loc_descriptor): Likewise.
+       (loc_descriptor): Add parameter for initialization status; pass it as
+       argument to other loc descriptor function calls.
+       (loc_descriptor_from_tree_1): Add appropriate initialization status
+       to loc descriptor function calls.
+       (add_location_or_const_value_attribute): Get initialization status
+       from VAR_LOCATION note; add initialization status to loc descriptor
+       function calls.
+       * dwarf2.h (enum dwarf_location_atom): New op, DW_OP_GNU_uninit.
+       * print-rtl.c (print_rtx): When printing a VAR_LOCATION note, if
+       status is uninitialized, add "[uninint]" to output.
+       * common.opt (fvar-tracking-uninit): New option, similar to
+       fvar-tracking, to turn on tracking of uninitialized variables; creates
+       a new global flag, flag_var_tracking_uninit.
+       * rtl.h (NOTE_VAR_LOCATION_STATUS): New macro for accessing new field.
+       (enum var_init_status): New type, for var initialization status field.
+       * var-tracking.c (struct location_chain_def): Two new fields, init,
+       for initialization status, and set_src for the assignment value expr.
+       (unshare_variable): New parameter for initialization status;
+       initialize new init and set_src fields.
+       (var_reg_set): New parameters for initialization status and value;
+       pass them to set_variable_part.
+       (var_mem_set): Likewise.
+       (get_init_value): New function.
+       (var_reg_delete_and_set): New initialization status & value
+       parameters; add call to get_init_value if status is unknown; pass new
+       parameters to clobber_variable_part and var_reg_set.
+       (var_mem_delete_and_set): Likewise.
+       (var_reg_delete): Pass null set_src value to clobber_variable_part.
+       (var_mem_delete): Likewise.
+       (variable_union): Pass status to unshare_variable; initialize new init
+       and set_src fields. If flag_var_tracking_uninit is not set, force
+       status to initialized.
+       (add_stores): Store insn, rather than NEXT_INSN(insn), so it can be
+       used later to get the set_src value.
+       (find_src_status): New function.
+       (find_src_set_src): New function.
+       (compute_bb_dataflow): Pass init status to calls to var_reg_set,
+       var_mem_set, var_reg_delete_and_set and var_mem_delete_and_set; for
+       MO_SET, get set_src value and pass it to var_reg_delete_and_set
+       and var_mem_delete_and_set.
+       (dump_variable): Print out "[uninit]" if appropriate.
+       (set_variable_part): Add new initialization and set_src parameters;
+       pass status to unshare_variable; set node->init and node- >set_src
+       fields and modify slot in hash table appropriately; save the init and
+       set_src values if appropriate and assign to the new node.
+       (clobber_variable_part): New set_src parameter; if two nodes have
+       same variable and same location but different set_src (assignment)
+       values, clobber old node.
+       (delete_variable_part): Pass init status to unshare_variable.
+       (emit_note_insn_var_location): Add initialized var; assign var's init
+       status to new 'initialized'; pass new init status field to calls to
+       gen_rtx_VAR_LOCATION. If flag_var_tracking_uninit is not set, force
+       status to initialized.
+       (emit_notes_in_bb): Pass initialization status to calls to
+       var_reg_set, var_mem_set, var_reg_delete_and_set and
+       var_mem_delete_and_set; for MO_SET, get set_src value and pass it to
+       var_reg_delete_and_set and var_mem_delete_and_set; call
+       emit_notes_for_changes on NEXT_INSN(insn) rather than on insn, to
+       make up for change in add_stores.
+       (vt_add_function_parameters): Add status to calls to
+       set_variable_part.
+       * config/darwin.c (darwin_override_options): Turn on uninitialized
+       tracking automatically, if var_tracking is on and the system is
+       10.5 or higher.
+       
+2007-07-13  Sa Liu  <saliu@de.ibm.com>
+
+       * config.gcc: Add options for arch and tune on SPU.
+       * config/spu/predicates.md: Add constant operands 0 and 1.
+       * config/spu/spu-builtins.def: Add builtins for double precision 
+       floating point comparison: si_dfceq, si_dfcmeq, si_dfcgt, si_dfcmgt, 
+       si_dftsv, spu_cmpeq_13, spu_cmpabseq_1, spu_cmpgt_13, spu_cmpabsgt_1,
+       spu_testsv.
+       * config/spu/spu-c.c: Define __SPU_EDP__ when builtins invoked with 
+       a CELLEDP target.
+       * config/spu/spu-protos.h: Add new function prototypes. 
+       * config/spu/spu.c (spu_override_options): Check options -march and
+       -mtune.
+       (spu_comp_icode): Add comparison code for DFmode and vector mode.
+       (spu_emit_branch_or_set): Use the new code for DFmode and vector 
+       mode comparison.
+       (spu_const_from_int): New.  Create a vector constant from 4 ints.
+       (get_vec_cmp_insn): New.  Get insn index of vector compare instruction.
+       (spu_emit_vector_compare): New.  Emit vector compare.
+       (spu_emit_vector_cond_expr): New.  Emit vector conditional expression.
+       * config/spu/spu.h: Add options -march and -mtune.  Define processor
+       types PROCESSOR_CELL and PROCESSOR_CELLEDP.  Define macro
+       CANONICALIZE_COMPARISON.
+       * config/spu/spu.md: Add new insns for double precision compare
+       and double precision vector compare.  Add vcond and smax/smin patterns
+       to enable DFmode vector conditional expression.
+       * config/spu/spu.opt: Add options -march and -mtune.
+       * config/spu/spu_internals.h: Add builtins for CELLEDP target:
+       si_dfceq, si_dfcmeq, si_dfcgt, si_dfcmgt, si_dftsv.  Add builtin for
+       both CELL and CELLEDP targets: spu_testsv.
+       * config/spu/spu_intrinsics.h: Add flag mnemonics for test special 
+       values.
+
+2007-07-13  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/32721
+       * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Preserve
+       TREE_THIS_VOLATILE on the folded reference.
+       * tree-ssa-operands.c (get_expr_operands): Set has_volatile_ops
+       if the array reference has TREE_THIS_VOLATILE set.
+
+2007-07-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR other/32188
+       * doc/libgcc.texi: Update DFP intrinsics for DPD and BID.
+
+2007-07-13  Andreas Schwab  <schwab@suse.de>
+
+       * gengtype-lex.l: Allow declarations to be indented.
+
+2007-07-12  Geoffrey Keating  <geoffk@apple.com>
+
+       * ginclude/tgmath.h: New.
+       * config.gcc: Use GCC's tgmath.h on non-glibc systems.
+       * doc/sourcebuild.texi (Headers): Document use_gcc_tgmath.
+       * configure.ac (STMP_FIXPROTO): Honor use_gcc_tgmath.
+       * configure: Regenerate.
+
+2007-07-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux-unwind.h (sh_fallback_frame_state): Use
+       correct index when setting register save state for xd
+       registers.
+
+2007-07-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (mark_use): Remove.
+
+2007-07-12  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (thumb1_compute_save_reg_mask): Make sure scratch
+       reg does not overlap return value.
+
+2007-07-12  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (get_expression_vuses): Move out side-effect.
+       (set_expression_vuses): Ditto.
+       (init_pre): Initialize expression_vuses.
+
+2007-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * config/i386/sse.md (storentdf, storentsf): New.
+
+2007-07-12  Geoffrey Keating  <geoffk@apple.com>
+
+       * builtins.c (get_pointer_alignment): Honor DECL_ALIGN on a
+       FUNCTION_DECL.
+       * tree.c (build_decl_stat): Move code from here...
+       (make_node_stat): ... to here.  Don't uselessly clear DECL_USER_ALIGN.
+       (expr_align): Honor DECL_ALIGN on a FUNCTION_DECL.  Add comment
+       about using DECL_ALIGN of LABEL_DECL and CONST_DECL.
+       * tree.h (DECL_USER_ALIGN): Fix misplaced comment.
+       * varasm.c (assemble_start_function): Use DECL_ALIGN instead of
+       FUNCTION_BOUNDARY.
+
+2007-07-12  Dorit Nuzman  <dorit@il.ibm.com>
+           Devang Patel  <dpatel@apple.com>
+
+       PR tree-optimization/25413
+       * targhooks.c (default_builtin_vector_alignment_reachable): New.
+       * targhooks.h (default_builtin_vector_alignment_reachable): New.
+       * tree.h (contains_packed_reference): New.
+       * expr.c (contains_packed_reference): New.
+       * tree-vect-analyze.c (vector_alignment_reachable_p): New.
+       (vect_enhance_data_refs_alignment): Call
+       vector_alignment_reachable_p.
+       * target.h (vector_alignment_reachable): New builtin.
+       * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
+       * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New.
+       (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.
+
+2007-07-12  Dorit Nuzman  <dorit@il.ibm.com>
+
+       * target.h (builtin_vectorization_cost): Add new target builtin.
+       * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): New.
+       * tree-vectorizer.h (TARG_SCALAR_STMT_COST): New.
+       (TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST): New.
+       * tree-vect-analyze.c (vect_analyze_slp_instance): Initisliaze
+       uninitialized variables.
+       * tree-vect-transform.c (cost_for_stmt): New function.
+       (vect_estimate_min_profitable_iters): Call cost_for_stmt instead of
+       using cost 1 for all scalar stmts. Be less conservative when
+       estimating the number of prologue/epulogue iterations. Call
+       targetm.vectorize.builtin_vectorization_cost. Return
+       min_profitable_iters-1.
+       (vect_model_reduction_cost): Use TARG_SCALAR_TO_VEC_COST for
+       initialization cost instead of TARG_VEC_STMT_COST. Use
+       TARG_VEC_TO_SCALAR_COST instead of TARG_VEC_STMT_COST for reduction
+       epilogue code. Fix epilogue cost computation.
+       * config/spu/spu.c (spu_builtin_vectorization_cost): New.
+       (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Implement.
+       * config/spu/spu.h (TARG_COND_BRANCH_COST, TARG_SCALAR_STMT_COST):
+       (TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST, TARG_VEC_STMT_COST):
+       (TARG_VEC_TO_SCALAR_COST, TARG_SCALAR_TO_VEC, TARG_VEC_LOAD_COST):
+       (TARG_VEC_UNALIGNED_LOAD_COST, TARG_VEC_STORE_COST): Define.
+
+2007-07-12  Richard Guenther  <rguenther@suse.de>
+
+       * gimplify.c (gimplify_conversion): Make sure that the result
+       from maybe_fold_offset_to_reference is trivially convertible
+       to the desired type before doing the simplification.
+       (gimplify_expr): Likewise.
+       * fold-const.c (fold_binary): Use the correct types for
+       building the simplified expression.
+
+2007-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR rtl-optimization/32729
+       * cfghooks.c (can_duplicate_block_p): Do not forbid duplicating blocks
+       that fallthru to exit.
+
+2007-07-12  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (symGOTOFF2reg): Add missing parenthesis.
+       (symDTPOFF2reg): Likewise.
+
+2007-07-11  Daniel Berlin  <dberlin@dberlin.org>
+
+       PR tree-optimization/32663
+       
+       * tree.h (VALUE_HANDLE_VUSES): Remove.
+       (struct tree_value_handle): Remove vuses.
+
+       * tree-vn.c (create_value_handle_for_expr): Don't set
+       VALUE_HANDLE_VUSES. 
+
+       * tree-ssa-pre.c (expression_vuses): New.
+       (alloc_expression_id): Set up expression_vuses.
+       (get_expression_vuses): New.
+       (set_expression_vuses): Ditto.
+       (clear_expression_ids): Modify for expression_vuses.
+       (phi_translate_1): Ditto.
+       (phi_translate_set): Ditto.
+       (value_dies_in_block_x): Ditto
+       (valid_in_sets): Ditto.
+       (add_to_sets): Ditto.
+       (find_existing_value_expr): Ditto.
+       (create_value_handle_for_expr): Ditto.
+       (make_values_for_stmt): Ditto.
+       (vuse_equiv): Remove.
+
+2007-07-11  Alexandre Oliva  <aoliva@redhat.com>
+
+       * Makefile.in (mostlyclean): Remove object files.
+
+2007-07-11  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * toplev.c (no_new_pseudos): Deleted.
+       * rtl.h (no_new_pseudos): Deleted.
+       * tree-pass.h (pass_no_new_pseudos): Deleted. 
+       * passes.c (pass_no_new_pseudos): Deleted.
+       * final.c (rest_of_clean_state): Removed no_new_pseudos.
+       (rest_of_no_new_pseudos, pass_no_new_pseudos): Deleted.
+       * struct-equiv.c (rtx_equiv_p): Replaced no_new_pseudos with 
+       reload_completed.
+       * cfgcleanup.c (try_crossjump_to_edge): Ditto. 
+       * rtlhooks.c (gen_lowpart_general): Ditto.
+       * optabs.c (prepare_operand): Ditto.
+       * mode-switching.c (rest_of_handle_mode_switching): Deleted set of
+       no_new_pseudos.
+       * modulo-sched.c (rest_of_handle_sms): Ditto.
+       * see.c (rest_of_handle_see): Ditto.
+       * ifcvt.c (if_convert): Ditto.
+       (gate_handle_if_after_combine): Replaced no_new_pseudos with 
+       reload_completed.
+       * init-regs.c (gate_initialize_regs): Deleted set of
+       no_new_pseudos.
+       * lower-subreg.c (decompose_multiword_subregs): Ditto. 
+       * bb-reorder.c (rest_of_handle_partition_blocks): Ditto.
+       * doc/md.texi: Changed no_new_pseudos to can_create_pseudo_p.
+       
+2007-07-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/32661
+       * config/i386/sse.md (*sse2_storeq_rex64): Handle 64bit mem->reg moves.
+       (*vec_extractv2di_1_sse2): Disable for TARGET_64BIT.
+       (*vec_extractv2di_1_rex64): New insn pattern.
+
+2007-07-11  David Daney  <ddaney@avtrex.com>
+
+       * config/mips/linux-unwind.h (mips_fallback_frame_state): Rewrite
+       return address calculation.  Substitute DWARF_ALT_FRAME_RETURN_COLUMN
+       for SIGNAL_UNWIND_RETURN_COLUMN.
+       * config/mips/mips.h (SIGNAL_UNWIND_RETURN_COLUMN): Remove.
+       (DWARF_FRAME_REGNUM): Rewrite.
+       (DWARF_ALT_FRAME_RETURN_COLUMN) Define.
+
+2007-07-11  Nick Clifton  <nickc@redhat.com>
+
+       * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Revert previous
+       delta and use gen_int_mode in place of GET_INT instead.
+
+2007-07-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * reg-stack.c (struct tree_opt_pass pass_stack_regs): Nullify name
+       and letter field.
+
+2007-07-11  Douglas Gregor  <doug.gregor@gmail.com>
+
+       * params.def (PARAM_VERIFY_CANONICAL_TYPES): Remove.
+       (PARAM_USE_CANONICAL_TYPES): New; decides whether to use canonical 
+       types or not.
+       * params.h (VERIFY_CANONICAL_TYPES): Remove.
+       (USE_CANONICAL_TYPES): New.
+       * doc/invoke.texi (verify-canonical-types): Remove.
+       (use-canonical-types): Add.
+
+2007-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/spu/spu.c (spu_optimization_options): Remove setting of
+       parameter PARAM_MAX_COMPLETELY_PEEL_TIMES.
+       (spu_override_options): Move it here.
+
+2007-07-11  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle -m4ksc and -m4ksd.
+       * config/mips/mips.c (mips_cpu_info_table): Mention
+       MIPS_ISA_LEVEL_SPEC in the comment.
+
+2007-07-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/32713
+       * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle REAL_CST.
+
+2007-07-11  Paolo Carlini  <pcarlini@suse.de>
+
+       PR middle-end/30482
+       * c-opts.c (c_common_post_options): Do not change flag_complex_method
+       conditional to flag_isoc99.
+       (c_common_init_options): Do it here, unconditionally.
+
+2007-07-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/32589
+       * doc/tree-ssa.texi (Rough GIMPLE Grammar): Add missing rule.
+       * tree-gimple.c (is_gimple_min_invariant): Clarify head comment.
+       * tree-ssa-propagate.c (valid_gimple_expression_p): New
+       predicate, extracted from...
+       (set_rhs): ...here.  Call it for the expression on entry.
+       * tree-ssa-propagate.h (valid_gimple_expression_p): Declare.
+       * tree-ssa-sccvn.c: Include tree-ssa-propagate.h.
+       (simplify_binary_expression): Use valid_gimple_expression_p
+       to validate the simplification.
+       * Makefile.in (tree-ssa-sccvn.o): Depends on tree-ssa-propagate.h.
+
+2007-07-11  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/cygming.h (PREFERRED_DEBUGGING_TYPE): Define to
+       DWARF2_DEBUG on 32 bit target too.
+       (DWARF2_UNWIND_INFO): Reorganize 64-bit vs 32-bit definition. 
+
+2007-07-11  Nick Clifton  <nickc@redhat.com>
+
+       * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Provide alternative
+       version for 64-bit hosts.
+
+2007-07-10  David Daney  <ddaney@avtrex.com>
+
+       * config/mips/mips.h (ISA_HAS_SYNCI): New target capability
+       predicate.
+       (INITIALIZE_TRAMPOLINE): Emit clear_cache insn instead of  library
+       call.
+       * config/mips/mips.c (mips_expand_synci_loop): New function.
+       * config/mips/mips.md (UNSPEC_CLEAR_HAZARD): New constant.
+       (UNSPEC_RDHWR): Same.
+       (UNSPEC_SYNCI): Same.
+       (UNSPEC_SYNC): Same.
+       (clear_cache): New expand.
+       (sync): New insn.
+       (synci): Same.
+       (rdhwr): Same.
+       (clear_hazard): Same.
+       * config/mips/mips-protos.h (mips_expand_synci_loop): Declare
+       function.
+       * testsuite/gcc.target/mips/clear-cache-1.c: New test.
+       * testsuite/gcc.target/mips/clear-cache-2.c: New test.
+
+2007-07-10  Ian Lance Taylor  <iant@google.com>
+
+       * emit-rtl.c (gen_reg_rtx): Check can_create_pseudo_p rather than
+       no_new_pseudos.
+
+2007-07-10  David Daney  <ddaney@avtrex.com>
+
+       * builtins.def (BUILT_IN_CLEAR_CACHE): New builtin.
+       * builtins.c (expand_builtin___clear_cache): New function.
+       (expand_builtin): Call expand_builtin___clear_cache for
+       BUILT_IN_CLEAR_CACHE case.
+       * doc/extend.texi (__builtin___clear_cache): Document new builtin.
+       * doc/md.texi (clear_cache): Document new instruction pattern.
+       * testsuite/gcc.dg/builtins-64.c: New test.
+
+2007-07-11  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md ("movsi"): Fix typo in last change.
+
+2007-07-09  Geoffrey Keating  <geoffk@apple.com>
+
+       PR 32617
+       * c-common.c (c_alignof_expr): Look at DECL_ALIGN of
+       FUNCTION_DECLs.
+       (handle_aligned_attribute): Allow use on FUNCTION_DECLs.
+       * varasm.c (assemble_start_function): Honor DECL_ALIGN
+       for FUNCTION_DECLs.  Don't use align_functions_log if
+       DECL_USER_ALIGN.
+       * print-tree.c (print_node): Print DECL_ALIGN and DECL_USER_ALIGN
+       even for FUNCTION_DECLs.
+       * c-decl.c (merge_decls): Propagate DECL_ALIGN even for
+       FUNCTION_DECLs.
+       * tree.h (DECL_ALIGN): Update for new location of 'align'.
+       (DECL_FUNCTION_CODE): Update for new location and name of
+       'function_code'.
+       (DECL_OFFSET_ALIGN): Update for new location of 'off_align'.
+       (struct tree_decl_common): Move 'align' and 'off_align' out
+       of union, ensure they're still on a 32-bit boundary.  Remove
+       other fields in union 'u1'.
+       (struct tree_function_decl): Add field 'function_code' replacing
+       'u1.f' in tree_decl_common.
+       * tree.c (build_decl_stat): Set initial value of DECL_ALIGN.
+       * doc/extend.texi (Function Attributes): Add 'aligned' attribute.
+       (Variable Attributes): Cross-reference 'aligned' attribute
+       to Function Attributes.
+       * flags.h (force_align_functions_log): Delete.
+       * toplev.c (force_align_functions_log): Delete.
+
+2007-07-10  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/32708
+       * config/i386/sse.md (vec_concatv2di): Disable for TARGET_64BIT.
+       (*vec_concatv2di_rex): New insn pattern.
+
+2007-07-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       PR target/32538
+       * config/mips/iris6.h (LIBGCC_SPEC): Add libm.
+
+2007-07-10  Ian Lance Taylor  <iant@google.com>
+
+       Replace no_new_pseudos in backends.
+       * rtl.h (can_create_pseudo_p): Define.
+       * config/darwin.c (machopic_indirect_data_reference): Use
+       can_create_pseudo_p () instead of no_new_pseudos.
+       (machopic_indirect_data_reference): Likewise.
+       (machopic_legitimize_pic_address): Likewise.
+       * config/alpha/alpha.c (alpha_legitimize_address): Likewise.
+       (alpha_emit_set_const_1): Likewise.
+       (alpha_emit_set_const): Likewise.
+       (alpha_emit_conditional_move): Likewise.
+       (alpha_split_conditional_move): Likewise.
+       * config/alpha/alpha.md (various splitters): Likewise.
+       (movti): Likewise.
+       * config/arm/arm.c (legitimize_pic_address): Likewise.
+       (arm_load_pic_register): Likewise.
+       * config/arm/arm.md (addsi3, subsi3, andsi3, iorsi3): Likewise.
+       (movdi, movsi, movhi, movqi, movsf, movdf): Likewise.
+       * config/bfin/bfin.c (legitimize_pic_address): Likewise.
+       * config/cris/cris.c (cris_expand_pic_call_address): Likewise.
+       * config/cris/cris.md (movsi): Likewise.
+       * config/frv/frv.md (symGOT2reg_hilo): Likewise.
+       (symGOTOFF2reg_hilo): Likewise.
+       (symGPREL2reg, symGPREL2reg_hilo): Likewise.
+       * config/h8300/h8300.md (insv, extzv): Likewise.
+       * config/i386/i386.c (ix86_expand_move): Likewise.
+       (ix86_expand_vector_move): Likewise.
+       (ix86_prepare_fp_compare_args): Likewise.
+       (ix86_expand_carry_flag_compare): Likewise.
+       * config/i386/i386.md (tls_dynamic_gnu2_32): Likewise.
+       (tls_dynamic_gnu2_combine_32): Likewise.
+       (tls_dynamic_gnu2_64, tls_dynamic_gnu2_combine_64): Likewise.
+       * config/ia64/ia64.c (ia64_expand_move): Likewise.
+       (ia64_expand_movxf_movrf): Likewise.
+       * config/m32c/m32c.c (m32c_prepare_move): Likewise.
+       (m32c_split_move): Likewise.
+       (m32c_expand_insv): Likewise.
+       * config/m68k/m68k.md (movsi): Likewise.
+       * config/mips/mips.c (mips_force_temporary): Likewise.
+       (mips_split_symbol): Likewise.
+       (mips_move_integer): Likewise.
+       (mips_legitimize_const_move): Likewise.
+       * config/mn10300/mn10300.md (movsi): Likewise.
+       * config/pa/pa.c (emit_move_sequence): Likewise.
+       * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
+       (rs6000_got_register): Likewise.
+       (create_TOC_reference): Likewise.
+       (rs6000_machopic_legitimize_pic_address): Likewise.
+       * config/rs6000/rs6000.md (add<mode>3): Likewise.
+       (various splitters): Likewise.
+       (iorsi3, xorsi3, iordi3, xordi3): Likewise.
+       (movsi_got): Likewise.
+       * config/s390/s390.c (emit_symbolic_move): Likewise.
+       * config/s390/s390.md (movhi, movqi): Likewise.
+       (load_multiple, store_multiple): Likewise.
+       * config/score/score.c (score_force_temporary): Likewise.
+       * config/sh/sh.c (prepare_move_operands): Likewise.
+       (prepare_cbranch_operands): Likewise.
+       (emit_fpu_switch): Likewise.
+       (fpscr_set_from_mem): Likewise.
+       * config/sh/sh.md (movdicc, movsicc, movsicc_umin): Likewise.
+       (adddi3, subsi3): Likewise.
+       (various splitters): Likewise.
+       (divsi_inv_fp_combine): Likewise.
+       (symGOT_load, symGOTOFF2reg, symDTPOFF2reg): Likewise.
+       (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu): Likewise.
+       (sne): Likewise.
+       * config/sh/predicates.md (xor_operand): Likewise.
+       * config/sparc/sparc.c (legitimize_tls_address): Likewise.
+       * config/sparc/sparc.md (movsi_pic_label_ref): Likewise.
+       (movdi_pic_label_ref): Likewise.
+       * config/spu/spu.c (spu_split_immediate): Likewise.
+       * config/alpha/alpha.md (various splitters): Remove test
+       !no_new_pseudos || reload_completed.
+       * config/ia64/ia64.c (ia64_output_mi_thunk): Don't set
+       no_new_pseudos.
+       * config/m68k/m68k.c (m68k_output_mi_thunk): Likewise.
+       * config/mips/mips.c (mips_output_mi_thunk): Likewise.
+       * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+       * config/score/score.c (th_output_mi_thunk): Likewise.
+       * config/sh/sh.c (sh_output_mi_thunk): Likewise.
+       * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
+
+2007-07-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR rtl-optimization/32664
+       * mode-switching.c (create_pre_exit): Skip barrier insns.
+
+2007-07-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-scalar-evolution.c (scev_const_prop): Add arguments to
+       force_gimple_operand_bsi.
+       * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr,
+       rewrite_use_compare): Ditto.
+       * tree-ssa-address.c (gimplify_mem_ref_parts, create_mem_ref):
+       Ditto.
+       * tree-ssa-ifcombine.c (ifcombine_ifandif): Ditto.
+       * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
+       * lambda-code.c (replace_uses_equiv_to_x_with_y): Ditto.
+       * tree-profile.c (prepare_instrumented_value,
+       tree_gen_interval_profiler, tree_gen_pow2_profiler,
+       tree_gen_one_value_profiler, tree_gen_ic_profiler,
+       tree_gen_ic_func_profiler, tree_gen_average_profiler,
+       tree_gen_ior_profiler): Ditto.
+       * tree-ssa-reassoc.c (negate_value): Ditto.
+       * matrix-reorg.c (transform_access_sites, transform_allocation_sites):
+       Use force_gimple_operand_bsi.
+       * tree-vect-transform.c (vect_update_ivs_after_vectorizer): Ditto.
+       * tree-if-conv.c (add_to_dst_predicate_list,
+       find_phi_replacement_condition): Ditto.
+       * gimplify.c (force_gimple_operand_bsi): Add before and m arguments.
+       Call mark_symbols_for_renaming for new statements.
+       * tree-flow.h (force_gimple_operand_bsi): Declaration changed.
+
+2007-07-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * cfghooks.c (remove_edge): New function.
+       (redirect_edge_and_branch, remove_branch, merge_blocks): Updated
+       loop exit rescans.
+       * cfghooks.h (remove_edge): Declare.
+       * cfg.c (remove_edge): Renamed to remove_edge_raw.
+       * basic-block.h (remove_edge): Declaration changed to remove_edge_raw.
+
+2007-07-09  Wolfgang Gellerich  <gellerich@de.ibm.com>
+
+       * optabs.h: Added declaration for signbit_optab.  
+       * optabs.c: (init_optabs): Added initialization for signbit_optab.
+       * genoptinit.c (optabs): Added entry for signbit insns.  
+       * builtins.c (expand_builtin_signbit): Added code to use a signbit
+       insn, if available.  
+       * config/s390/s390.h (S390_TDC_SIGNBIT_SET): New constant.  
+       * config/s390/s390.md (signbit<mode>2): New expander.  
+
+2007-07-09  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/32698
+       * fold-const.c (fold_plusminus_mult_expr): Move constant
+       arguments second to allow decomposing.
+
+2007-07-09  Alexandre Oliva  <aoliva@oliva.athome.lsd.ic.unicamp.br>
+
+       Revert:
+       2007-07-06  Alexandre Oliva  <aoliva@redhat.com>
+       PR debug/23551
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+       Disregard DECL_FROM_INLINE.
+
+2007-07-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/27855
+       * doc/invoke.texi: Add ftree-reassoc flag.
+       * common.opt (ftree-reassoc): New flag.
+       * tree-ssa-reassoc.c (gate_tree_ssa_reassoc): New static function.
+       (struct tree_opt_pass pass_reassoc): Use gate_tree_ssa_reassoc.
+
+2007-07-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR tree-optimization/32681
+       * tree-if-conv.c (find_phi_replacement_condition): Use the condition
+       saved in second_edge->aux when first_bb is a loop header.
+
+2007-07-09  Jan HUbicka  <jh@suse.cz>
+
+       * cse.c (cse_insn): Avoid invalid sharing on trial replacement.
+
+2007-07-09  Richard Guenther  <rguenther@suse.de>
+
+       * c-decl.c (start_function): Do not promote return type.
+
+2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
+
+       * function.c (do_warn_unused_parameter): Do not warn if
+       TREE_NO_WARNING is set.
+
+2007-07-08  Andreas Schwab  <schwab@suse.de>
+
+       * doc/invoke.texi (DEC Alpha/VMS Options): Fix typo.
+
+2007-07-08  Sandra Loosemore  <sandra@codesourcery.com>
+
+       Revert this patch:
+       2007-07-06  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * c-opts.c (c_common_handle_option): Make DOLLARS_IN_IDENTIFIERS
+       apply to assembly language, too.
+       * doc/tm.texi (DOLLARS_IN_IDENTIFIERS): Update.
+
+2007-07-07  Daniel Berlin  <dberlin@dberlin.org>
+
+       Revert (note the sccvn portions are *not* reverted)
+       2007-07-06  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/23488
+
+       * tree-vn.c (set_value_handle): Use decl_vh_map for decl value
+       handles.
+       * tree-flow-inline.h (get_value_handle): Ditto.
+       * tree-ssa-pre.c (decl_vh_map): New.
+       (decl_node_pool): New.
+       (can_value_number_operation): Support DECL_P.
+       (can_PRE_operation): Ditto.
+       (create_expression_by_pieces): Ditto.
+       (find_existing_value_expr): Modify to differnetiate between
+       addressing and top level.
+       (create_value_handle_for_expr): Handle DECL's.
+       (poolify_tree): Ditto.
+       (make_values_for_phi): Don't insert into PHI_GEN during FRE.
+       (make_values_for_stmt): Handle DECL's properly.
+       (init_pre): Reorg to not init useless things during FRE.
+       (fini_pre): Ditto.
+       * tree-flow.h: Include pointer-set.h.
+       (decl_vh_map): Declare.
+       * Makefile.in (TREE_FLOW_H): Add pointer-set.h
+
+2007-07-07 Eric Weddington  <eweddington@cso.atmel.com>
+
+       * config/avr/constraints.md (define_memory_constraint "Q"): Fix
+       the constraint description.
+       * doc/md.texi: Update documentation of AVR constraints.
+
+2007-07-07  Kazu Hirata  <kazu@codesourcery.com>
+
+       * auto-inc-dec.c, config/arm/arm.c,
+       config/m32r/constraints.md, config/mips/mips.md,
+       config/rs6000/rs6000.c, cselib.c, dce.c, df-core.c,
+       df-problems.c, df-scan.c, df.h, dse.c, gimplify.c,
+       tree-if-conv.c, tree-ssa-sccvn.c, tree-ssa.c: Fix comment
+       typos.  Follow spelling conventions.
+       * doc/invoke.texi, doc/rtl.texi: Fix typos.
+
+       * cfgrtl.c (delete_insn_chain_and_edges): Remove.
+       * rtl.h: Remove the prototype for delete_insn_chain_and_edges.
+
+       * tree-ssa-operands.c (realloc_vop, realloc_vdef,
+       realloc_vuse): Remove.
+       * tree-ssa-operands.h: Remove the prototype for realloc_vdef
+       and realloc_vuse.
+
+2007-07-06  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/23488
+
+       * tree-ssa-sccvn.c (expr_has_constants): Handle tcc_declaration.
+       (try_to_simplify): Ditto.
+       (visit_use): Ditto.
+       * tree-vn.c (set_value_handle): Use decl_vh_map for decl value
+       handles.
+       * tree-flow-inline.h (get_value_handle): Ditto.
+       * tree-ssa-pre.c (decl_vh_map): New.
+       (decl_node_pool): New.
+       (can_value_number_operation): Support DECL_P.
+       (can_PRE_operation): Ditto.
+       (create_expression_by_pieces): Ditto.
+       (find_existing_value_expr): Modify to differnetiate between
+       addressing and top level.
+       (create_value_handle_for_expr): Handle DECL's.
+       (poolify_tree): Ditto.
+       (make_values_for_phi): Don't insert into PHI_GEN during FRE.
+       (make_values_for_stmt): Handle DECL's properly.
+       (init_pre): Reorg to not init useless things during FRE.
+       (fini_pre): Ditto.
+       * tree-flow.h: Include pointer-set.h.
+       (decl_vh_map): Declare.
+       * Makefile.in (TREE_FLOW_H): Add pointer-set.h
+               
+2007-07-06  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * c-opts.c (c_common_handle_option): Make DOLLARS_IN_IDENTIFIERS
+       apply to assembly language, too.
+       * doc/tm.texi (DOLLARS_IN_IDENTIFIERS): Update.
+
+2007-07-06  Ian Lance Taylor  <iant@google.com>
+            Zack Weinberg  <zackw@panix.com>
+
+       PR middle-end/32441
+       * builtins.c (std_expand_builtin_va_start): Don't use make_tree.
+
+2007-07-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/sh/sh.md (*prefetch_i4): Disable for TARGET_VXWORKS_RTP.
+       (prefetch): Likewise if "pref" would be used.
+
+2007-07-06  Josh Conner  <jconner@apple.com>
+
+       PR middle-end/32602
+       PR middle-end/32603
+       * calls.c (store_one_arg): Handle arguments which are partially
+       on the stack when detecting argument overlap.
+
+2007-07-06  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * reload1.c (choose_reload_regs): Set reload_spill_index for regs
+       chosen during find_reloads.
+
+2007-07-06  Richard Guenther  <rguenther@suse.de>
+
+       * gimplify.c (gimplify_call_expr): Prefer DECL_ARGUMENTS over
+       TYPE_ARG_TYPES for verification of argument types.  Use
+       DECL_ARG_TYPE instead of the PARM_DECL type.  Take excess
+       parameters as variable arguments.
+
+2007-07-06  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * libgcc2.h (word_type): Type definition removed.
+       (cmp_return_type, shift_count_type): Type definitions added.
+       (__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
+       replaced with shift_count_type.
+       (__cmpdi2, __ucmpdi2): word_type of return type replaced with
+       cmp_return_type.
+       * libgcc2.c (__udivmoddi4, __moddi3): Type of local variable c
+       changed from word_type to Wtype.
+       (__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
+       replaced with shift_count_type.
+       (__cmpdi2, __ucmpdi2): word_type of return type replaced with
+       cmp_return_type.
+       * c-common.c (handle_mode_attribute): Handling for libgcc_cmp_return
+       and libgcc_shift_count attribute added.
+       * target-def.h (TARGET_LIBGCC_CMP_RETURN_MODE,
+       TARGET_LIBGCC_SHIFT_COUNT_MODE): New target hooks defined.
+       (TARGET_INITIALIZER): New target hooks added.
+       * targhooks.c (default_libgcc_cmp_return_mode,
+       default_libgcc_shift_count_mode): Default implementations for the new
+       target hooks added.
+       * targhooks.h (default_libgcc_cmp_return_mode,
+       default_libgcc_shift_count_mode): Function prototypes added.
+       * target.h (struct gcc_target): Fields for the new target hooks added.
+       * optabs.c (expand_binop): Use shift_count_mode when expanding shift
+       as library call.
+       (prepare_cmp_insn): Use cmp_return_mode when expanding comparison as
+       library call.
+
+       * doc/tm.texi (TARGET_LIBGCC_CMP_RETURN_MODE,
+       TARGET_LIBGCC_SHIFT_COUNT_MODE): Documentation added.
+
+       * config/s390/s390.c (s390_libgcc_cmp_return_mode,
+       s390_libgcc_shift_count_mode): Functions added.
+       (TARGET_LIBGCC_CMP_RETURN_MODE, TARGET_LIBGCC_SHIFT_COUNT_MODE):
+       Target hooks defined.
+
+2007-07-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.c (compute_frame_size): Restore the original
+       gp_sp_offset for !GENERATE_MIPS16E_SAVE_RESTORE and remove the
+       fp_size term from the GENERATE_MIPS16E_SAVE_RESTORE calculation.
+       Document why the difference is needed.
+
+2007-07-06  Richard Guenther  <rguenther@suse.de>
+
+       * c-common.c (boolean_increment): Use correctly typed
+       constant.
+
+2007-07-06  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.c (mips16e_save_restore_pattern_p): Check that
+       the topmost argument register is not also included in the save mask.
+       (mips16e_collect_argument_save_p): Take a pointer to the argument
+       register, rather than a pointer to the number of arguments.
+       (mips16e_collect_argument_saves): Only include argument saves
+       that aren't in the register mask.
+
+2007-07-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl-optimization/32450
+       * function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
+       to ensure that instructions are not moved into the prologue when
+       profiling is on.  Remove unused prologue_end variable.
+       (expand_function_end): Emit blockage insn instead of ASM_INPUT rtx
+       as a scheduling barrier.
+
+2007-07-06  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/23551
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+       Disregard DECL_FROM_INLINE.
+
+2007-07-05  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * rtlanal.c (num_sign_bit_copies1): Improve cases of ANDing or
+       IORing with a constant.
+
+2007-07-05  Seongbae Park  <seongbae.park@gmail.com>
+
+       PR rtl-optimization/32475
+       * df-scan.c (df_def_record_1): Add a use of the stack pointer
+       for every definition of the stack pointer.
+
+2007-07-05  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (vfp3_const_double_index): Copy signed results of
+       REAL_VALUE_TO_INT into unsigned vars.
+
+2007-07-05  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/32639
+       * alias.c (get_alias_set): Tread METHOD_TYPE the same as
+       FUNCTION_TYPE.
+       * tree-ssa.c (useless_type_conversion_p): Check canonical
+       types early.
+
+2007-07-05 Anatoly Sokolov <aesok@post.ru>
+
+       * config/avr/avr.md (zero_extendqihi2, zero_extendqisi2, 
+       zero_extendhisi2): Change to define_insn_and_split. 
+       (zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New.
+
+2007-07-05  Paolo Bonzini  <bonzini@gnu.org>
+
+       * function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
+       pass_match_asm_constraints): New.
+       * passes.c (init_optimization_passes): Add new pass.
+       * stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
+       * function.h (struct function): Add has_asm_statement bit.
+       (current_function_has_asm_statement): New.
+       * tree-pass.h (pass_match_asm_constraints): New.
+
+2007-07-05  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_file_start): Avoid declaration
+       after code.
+
+2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * optabs.c (expand_binop_directly): Fix signed/unsigned comparison.
+
+2007-07-05  Uros Bizjak  <ubizjak@gmail.com>
+
+       * rtl.def (NOTE): Change print format string to print
+       operand 5 as a note insn name.
+
+2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
+           David Ung  <davidu@mips.com>
+
+       * config/mips/mips.c (mips_cpu_info): Add 4ksc and 4ksd processors.
+       * doc/invoke.texi: (MIPS Options): Document them.
+
+2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
+           David Ung  <davidu@mips.com>
+
+       Add support for SmartMIPS ASE.
+
+       * optabs.c (expand_binop_directly): New, broken out from...
+       (expand_binop): Here.  Make it try rotating in the other
+       direction even when the second operand isn't constant.
+       * config/mips/mips.md (*lwxs): New.
+       * config/mips/mips.opt (msmartmips): New.
+       * config/mips/mips.c (mips_lwxs_address_p): New.
+       (mips_rtx_costs): Make it recognize scaled indexed addressing.
+       * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
+       __mips_smartmips when compiling for TARGET_SMARTMIPS.
+       (ISA_HAS_ROR): Define for TARGET_SMARTMIPS.
+       (ISA_HAS_LWXS): New.
+       (ASM_SPEC): Add -msmartmips/-mno-smartmips.
+       * doc/invoke.texi (MIPS Options): Document -msmartmips/-mno-smartmips.
+       * testsuite/gcc.target/mips/smartmips-lwxs.c: New test case.
+       * testsuite/gcc.target/mips/smartmips-ror-1.c: New test case.
+       * testsuite/gcc.target/mips/smartmips-ror-2.c: New test case.
+       * testsuite/gcc.target/mips/smartmips-ror-3.c: New test case.
+       * testsuite/gcc.target/mips/smartmips-ror-4.c: New test case.
+
+2007-07-05  Dorit Nuzman  <dorit@il.ibm.com>
+
+       * tree-vectorizer.c (new_loop_vec_info): Initialize
+       LOOP_VINFO_COST_MODEL_MIN_ITERS.
+       * tree-vectorizer.h (_loop_vec_info): Added new filed
+       min_profitable_iters.
+       (LOOP_VINFO_COST_MODEL_MIN_ITERS): New access macro to above new field.
+       (TARG_SCALAR_TO_VEC_COST): Define cost of scalar to vector operation.
+       * tree-vect-analyze.c (vect_analyze_operations): Set
+       LOOP_VINFO_COST_MODEL_MIN_ITERS.
+       * tree-vect-transform.c (vect_estimate_min_profitable_iters): Use
+       VEC_length to determine if there are any LOOP_VINFO_MAY_MISALIGN_STMTS.
+       Fix calculation of peel_iters_prologue. Move consideration of epilogue
+       and prologue cost to after they are computed.
+       (vect_model_induction_cost): Use TARG_SCALAR_TO_VEC_COST instead of
+       TARG_VEC_STMT_COST.
+       (vect_model_simple_cost): Takes additional argument dt. Consider cost
+       of creating vectors from scalars according to dt.
+       (vect_model_store_cost): Likewise.
+       (vectorizable_call): Use dt array instead of scalar dt. Call
+       vect_model_simple_cost with additional argument dt.
+       (vectorizable_assignment): Likewise.
+       (vectorizable_operation): Likewise.
+       (vectorizable_type_demotion): Likewise.
+       (vectorizable_type_promotion): Likewise.
+       (vectorizable_store): Use dt array instead of scalar dt. Call
+       vect_model_store_cost with additional argument dt.
+       (vect_do_peeling_for_loop_bound): Don't call
+       vect_estimate_min_profitable_iters. Instead, lookup
+       LOOP_VINFO_COST_MODEL_MIN_ITERS. Don't always print
+       "may not be profitable".
+
+2007-07-05  Dorit Nuzman  <dorit@il.ibm.com>
+
+       PR testsuite/32014
+       * config/rs6000/altivec.md (UNSPEC_VUPKHS_V4SF, UNSPEC_VUPKLS_V4SF):
+       (UNSPEC_VUPKHU_V4SF, UNSPEC_VUPKLU_V4SF): New.
+       (vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi): New patterns.
+       (vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): New patterns. 
+
+2007-07-05  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * config/i386/i386.c (ix86_address_cost): Do not consider more complex
+       addressing modes cheaper.
+
+2007-07-05  Alexandre Oliva  <aoliva@redhat.com>
+
+       * dwarf2out.c (dw_ranges_by_label_ref): New typedef.
+       (dw_ranges_struct): Rename block_num to num.  Adjust.
+       (dw_ranges_by_label_struct): New.
+       (ranges_by_label, ranges_by_label_allocated,
+       ranges_by_label_in_use): New variables.
+       (add_ranges_num): Factored most of the code out of...
+       (add_ranges): ... this one.  Rewrite in terms of the former.
+       (add_ranges_by_labels): New.
+       (output_ranges): Output by-label ranges.
+       (dwarf2out_finish): Output range for multiple-section
+       compile_unit.  Output standard DW_AT_low_pc in addition to
+       unexpected DW_AT_entry_pc.
+
+2007-07-04  Daniel Berlin  <dberlin@dberlin.org>
+
+       PR tree-optimization/32604
+       PR tree-optimization/32606
+
+       * tree-ssa-pre.c (bb_bitmap_sets): Removed antic_safe_loads.
+       (compute_antic_safe): Removed.
+       (ANTIC_SAFE_LOADS): Ditto.
+       (compute_antic_aux): Don't print ANTIC_SAFE_LOADS.
+       (execute_pre): Don't call compute_antic_safe.
+       (vuse_equiv): New function.
+       (make_values_for_stmt): Use it
+       * tree-ssa-sccvn.c (set_ssa_val_to): Remove assert, since it is
+       not always true.
+
+2007-07-04 Anatoly Sokolov <aesok@post.ru>
+
+       PR target/31331
+       * config/avr/avr.c (avr_naked_function_p): Handle receiving a type
+       rather than a decl. 
+       (avr_attribute_table): Make "naked" attribute apply to function types
+       rather than to decls.
+       (avr_handle_fntype_attribute): New function.
+
+2007-07-04  Joseph Myers  <joseph@codesourcery.com>
+
+       * target-def.h (TARGET_INITIALIZER): Remove trailing whitespace
+       after \.
+
+2007-07-04  David Ung  <davidu@mips.com>
+            Joseph Myers  <joseph@codesourcery.com>
+
+       * config/mips/mips.md (type): Add logical, signext and move.
+       (one_cmpl<mode>2, *and<mode>3, *and<mode>3_mips16, *ior<mode>3,
+       *ior<mode>3_mips16, two unnamed insns after *ior<mode>3_mips16,
+       *nor<mode>3, "Combiner patterns to optimize truncate/zero_extend
+       combinations", *zero_extend<SHORT:mode><GPR:mode>2,
+       *zero_extendqihi2, *extend<SHORT:mode><GPR:mode>2_mips16e,
+       *extend<SHORT:mode><GPR:mode>2_se<SHORT:size>, *movdi_64bit,
+       *movdi_64bit_mips16, *movsi_internal, *movsi_mips16, movcc,
+       *movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16,
+       *movsf_hardfloat, *movsf_softfloat, *movsf_mips16,
+       *movdf_hardfloat_64bit, *movdf_hardfloat_32bit,
+       movv2sf_hardfloat_64bit): Use the new types.
+       (*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16,
+       *movdf_softfloat, *movdf_mips16): Use "multi".
+       (extendqihi2): Replace with a define_expand.
+       (*extendqihi2_mips16e, *extendqihi2, *extendqihi2_seb): New.
+       Based on extend<SHORT:mode><GPR:mode>2 patterns.
+       * config/mips/74k.md (r74k_int_logical): New reservation and
+       bypasses.
+       (r74k_int_arith): Remove "slt".
+       * config/mips/24k.md, config/mips/4130.md, config/mips/4k.md,
+       config/mips/5400.md, config/mips/5500.md, config/mips/5k.md,
+       config/mips/7000.md, config/mips/9000.md, config/mips/generic.md,
+       config/mips/sb1.md, config/mips/sr71k.md: Add new types to
+       reservations for "arith".
+
+2007-07-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa.c (useless_type_conversion_p): Add handling for
+       scalar float and vector types.  Only call the types_compatible_p
+       langhook for aggregate types as last resort.  Follow the
+       rules.
+
+2007-07-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-inline.c (estimate_num_insns_1): Treat CONVERT_EXPR
+       the same as NOP_EXPR.
+
+2007-07-04  Nick Clifton  <nickc@redhat.com>
+
+       * target.h (struct gcc_target): Add target_help field.
+       * target-def.h (TARGET_HELP): New.
+       (TARGET_INITIALIZER): Use TARGET_HELP.
+       * opts.c (command_handle_option): Invoke target_help function, if
+       defined, when the user has specified --target-help on the command
+       line.
+       * doc/invoke.texi: Mention that --target-help might print
+       additional information.
+       * doc/tm.texi: Document TARGET_HELP hook.
+
+       * arm.c (TARGET_HELP): Override default definition.
+       (arm_target_help): New - display a wrapped list of cores and
+       architectures supported.
+
+2007-07-04  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+       * config/gcc/v850/v850.c (expand_prologue): Make sure
+       GEN_INT() argument is sign extended rather than zero extended.
+       (expand_epilogue): Likewise.
+       (output_move_double): Delete.
+       * config/gcc/v850/v850-protos.h (output_move_double): Delete.
+       * config/gcc/v850/v850.md (movdi): Delete.
+       (*movdi_internal): Delete.
+       (movdf): Delete.
+       (*movdf_internal): Delete.
+
+2007-07-04  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/sh/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Reject -mrelax
+       unless compiling RTP PIC.
+
 2007-07-04  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/32482
        * genmodes.c (struct mode_data): Add ibit and fbit fields.
        (blank_mode): Initialize ibit and fbit.
        (adj_ibit, adj_fbit): New to adjust ibit and fbit.
-       (vector_class): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
+       (vector_class): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
+       MODE_UACCUM.
        (new_adjust): Change required_class to required_class_from and
        required_class_to for testing within a range.
        (complete_mode): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
 2007-06-19  Bob Wilson  <bob.wilson@acm.org>
 
        * config/xtensa/xtensa.c: Include "df.h".
-       (xtensa_builtin_saveregs): Use adjust_address instead of change_address.
+       (xtensa_builtin_saveregs): Use adjust_address instead of
+       change_address.
        (xtensa_va_start): Invoke make_tree with sizetype for
        expand_builtin_saveregs and then convert the result to a pointer.
        Use POINTER_PLUS_EXPR.  Use size_int instead of build_int_cst.
        * opts.c (common_handle_option): Handle new option -fdbg-cnt-list.
        * dbgcnt.c (dbg_cnt_set_limit_by_name): Return value
        to indicate an error.
-       (dbg_cnt_process_single_pair, dbg_cnt_list_all_counters): New functions
+       (dbg_cnt_process_single_pair, dbg_cnt_list_all_counters):
+       New functions.
        (dbg_cnt_process_opt): Print an error on a bad argument.
        * dbgcnt.h (dbg_cnt_list_all_counters): New function declaration.
        * common.opt (-fdbg-cnt-list): New.
        (reorder_var_tracking_notes): New function.
        (bfin_reorg): Pass no argument to split_all_insns.  Don't call
        update_life_info.  Call df_analyze after scheduling and bundle
-       generation.  Call reorder_var_tracking_notes if generating these notes.
-       Call df_finish_pass at the end.
+       generation.  Call reorder_var_tracking_notes if generating these
+       notes.  Call df_finish_pass at the end.
 
 2007-06-12  Dirk Mueller  <dmueller@suse.de>
 
 2007-06-08  Harsha Jagasia <harsha.jagasia@amd.com>
            Tony Linthicum <tony.linthicum@amd.com>
 
-       * doc/extend.texi: Add fvect-cost-model flag.
+       * doc/invoke.texi: Add fvect-cost-model flag.
        * common.opt (fvect-cost-model): New flag.
        * tree-vectorizer.c (new_stmt_vec_info): Initialize inside and outside
        cost fields in stmt_vec_info struct for STMT.
        * tree-ssa.c (init_tree_ssa): Use type safe memory macros.
        * tree-ssa-ccp.c (ccp_fold_builtin): Avoid using C++ keywords as
        variable names.
-       * tree-ssa-coalesce.c (find_coalesce_pair): Use type safe memory macros.
+       * tree-ssa-coalesce.c (find_coalesce_pair): Use type safe memory
+       macros.
        (add_cost_one_coalesce): Likewise.
        * tree-ssa-copy.c (merge_alias_info): Avoid using C++ keywords as
        variable names. Rename orig to orig_name for consistency.
-       * tree-ssa-dom.c (dom_thread_across_edge): Cast according to the coding
-       conventions.
-       (cprop_into_successor_phis): Avoid using C++ keywords as variable names.
+       * tree-ssa-dom.c (dom_thread_across_edge): Cast according to the
+       coding conventions.
+       (cprop_into_successor_phis): Avoid using C++ keywords as variable
+       names.
        (record_equivalences_from_stmt): Likewise.
        * tree-ssa-dse.c (dse_initialize_block_local_data): Cast according to
        the coding conventions.
        (memref_hash): Likewise.
        (memref_eq): Likewise.
        (gather_mem_refs_stmt): Likewise.
-       * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Avoid using C++
-       keywords as variable names.
+       * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Avoid
+       using C++ keywords as variable names.
        (idx_find_step): Cast according to the coding conventions.
        (idx_record_use): Likewise.
        (find_depends): Likewise.
        * tree-ssa-math-opts.c (occ_new ): Likwise.
        * tree-ssanames.c (duplicate_ssa_name_ptr_info): Use type safe memory
        macros.
-       * tree-ssa-operands.c (add_def_op): Avoid using C++ keywords as variable
-       names.
+       * tree-ssa-operands.c (add_def_op): Avoid using C++ keywords as
+       variable names.
        (add_use_op): Likewise.
        (add_vop): Likewise.
        (add_vuse_op): Likewise.
        decimal_single_format, decimal_double_format, decimal_quad_format,
        c4x_single_format, c4x_extended_format, real_internal_format): Remove
        initialization of log2_b.
-       * real.h (i370_single_format, i370_double_format): Declarations removed.
+       * real.h (i370_single_format, i370_double_format): Declarations
+       removed.
        * c-cppbuiltin.c (builtin_define_float_constants): Consider the log2_b
        field to always be one.
 
        * gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of
        NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
        * ddg.c (create_ddg): LIkewise.
-       * final.c (final): Remove hunk moving line numbernotes around since
+       * final.c (final): Remove hunk moving line number notes around since
        they are no longer present at this stage.
        (final_scan_insn): Use NOTE_KIND instead of
        NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
        * function.c (reorder_blocks_1): Likewise.
        (epilogue_done): Likewise.
        (reposition_prologue_and_epilogue_notes): Likewise.
-       * print-rtl.c (print_rtx): Likewise; drop code for printing line number
-       notes.
+       * print-rtl.c (print_rtx): Likewise; drop code for printing
+       line number notes.
        (print_rtl): Likewise.
        (print_rtl_single): Likewise.
        * gcse.c (insert_insn_start_bb): Likewise.
        (_mm_shufle_ps): Ditto.  Add const to __mask argument.
        * config/i386/emmintrin.h (_mm_slli_epi16): Add const to __B argument.
        (_mm_slli_epi32): Ditto.
-       (_mm_srli_si128): Implement as always inlined function, not as a macro.
-       Add __inline to function declaration.
+       (_mm_srli_si128): Implement as always inlined function, not as a
+       macro.  Add __inline to function declaration.
        (_mm_slli_si128): Ditto.
 
 2007-05-19  Uros Bizjak  <ubizjak@gmail.com>
        * tree-ssa-loop.c (pass_tree_unswitch, pass_vectorize,
        pass_linear_transfom, pass_empty_loop, pass_complete_unroll,
        pass_iv_optimize): Add TODO_ggc_collect.
-       * function.h (struct function): Remove skip marker from x_current_loops.
+       * function.h (struct function): Remove skip marker from
+       x_current_loops.
        * cfgloop.c: Include ggc.h.
        (flow_loops_free, flow_loop_free): Free the loop descriptions in gc
        memory.
        (rescan_loop_exit): Use GGC_NEW to allocate struct loop_exit.  Reflect
        that head of exits list is now not a part of struct loop.
        (record_loop_exits): Allocate exits table in gc memory.
-       (get_loop_exit_edges, verify_loop_structure, single_exit): Reflect that
-       head of exits list is now not a part of struct loop.
+       (get_loop_exit_edges, verify_loop_structure, single_exit): Reflect
+       that head of exits list is now not a part of struct loop.
        * cfgloop.h (struct lpt_decision, struct nb_iter_bound,
        struct loop_exit): Add GTY marker.
        (struct loop): Add GTY marker.  Make superloops vector gc allocated.
        (struct loops): Add GTY marker.  Make larray vector gc allocated.
        Add param marker to exits table.
        (get_loops): Type changed.
-       * Makefile.in (tree-scalar-evolution.o): Add gt-tree-scalar-evolution.h
-       dependency.
+       * Makefile.in (tree-scalar-evolution.o): Add
+       gt-tree-scalar-evolution.h dependency.
        (cfgloop.o, loop-init.o): Add ggc.h dependency.
        (GTFILES): Add cfgloop.h and tree-scalar-evolution.c.
        * basic-block.h (struct basic_block_def): Remove skip marker from
        * c-format.c (check_format_types): Use unsigned_type_for instead of
        c_common_unsigned_type.
        * c-objc-common.h (LANG_HOOKS_UNSIGNED_TYPE): Remove.
-       * c-typeck.c (convert_for_assignment): Use unsigned_type_for instead of
-       c_common_unsigned_type.
+       * c-typeck.c (convert_for_assignment): Use unsigned_type_for instead
+       of c_common_unsigned_type.
        * convert.c (convert_to_integer): Use unsigned_type_for instead of
        lang_hooks.types.unsigned_type.
        * expmed.c (make_tree): Use unsigned_type_for instead of
        and dr_analyze_alias.
        (initialize_data_dependence_relation): Use dr_may_alias_p
        and object_address_invariant_in_loop_p.
-       (compute_self_dependence): Handle the case when DDR_ARE_DEPENDENT (ddr)
-       is chrec_dont_know.
-       (find_data_references_in_stmt): Restrict the analysis of data references
-       to the given loop nest.
+       (compute_self_dependence): Handle the case when
+       DDR_ARE_DEPENDENT (ddr) is chrec_dont_know.
+       (find_data_references_in_stmt): Restrict the analysis of data
+       references to the given loop nest.
        (find_data_references_in_loop): Made static.  Pass loop nest to
        find_data_references_in_stmt.
        (compute_data_dependences_for_loop): Use DR_VOPS.
        superloops vector instead of "pred" array.
        (establish_preds): Take father loop as an argument.  Initialize the
        superloops vector.
-       (flow_loop_tree_node_add): Pass father loop to establish_preds.  Do not
-       initialize loop->outer.
+       (flow_loop_tree_node_add): Pass father loop to establish_preds.
+       Do not initialize loop->outer.
        (flow_loop_tree_node_remove): Truncate the superloops vector.
        * cfgloop.h (struct loop): Removed field "outer", fields "depth" and
        "pred" merged to "superloops" vector.
 2007-05-10  Zdenek Dvorak  <dvorakz@suse.cz>
 
        PR tree-optimization/31885
-       * tree-chrec.c (chrec_contains_undetermined): Do not consider NULL_TREE
-       to be undetermined.
+       * tree-chrec.c (chrec_contains_undetermined): Do not consider
+       NULL_TREE to be undetermined.
        (automatically_generated_chrec_p): Return false for NULL.
 
 2007-05-08  Bernd Schmidt  <bernd.schmidt@analog.com>
 2007-05-09  Bob Wilson  <bob.wilson@acm.org>
 
        * config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits
-       for floating-point values if HOST_BITS_PER_LONG > 32.  Use split_double
-       instead of operand_subword.
+       for floating-point values if HOST_BITS_PER_LONG > 32.  Use
+       split_double instead of operand_subword.
 
 2007-05-08  Bernd Schmidt  <bernd.schmidt@analog.com>
 
 
 2007-05-03  Jan Hubicka  <jh@suse.cz>
 
-       * fold-const.c (fold_unary): Convert (T1)(X op Y) into ((T1)X op (T1)Y),
-       for pointer type in more cases than before.
+       * fold-const.c (fold_unary): Convert (T1)(X op Y) into
+       ((T1)X op (T1)Y), for pointer type in more cases than before.
 
        * gimplify.c (gimplify_expr): Fold (void *)&a + 4.
 
 2007-05-03  Dorit Nuzman  <dorit@il.ibm.com>
 
        PR tree-optimization/31699
-       * tree-vect-analyze.c (vect_update_misalignment_for_peel): Remove wrong
-       code.
+       * tree-vect-analyze.c (vect_update_misalignment_for_peel): Remove
+       wrong code.
        (vect_enhance_data_refs_alignment): Compute peel amount using
        TYPE_VECTOR_SUBPARTS instead of vf.
        * tree-vect-transform.c (vect_gen_niters_for_prolog_loop): Likewise.
        (reset_block_changes, record_block_change, finalize_block_changes,
        check_block_change, free_block_changes): Kill.
        * function.h (reset_block_changes, record_block_change,
-       finalize_block_changes, check_block_change, free_block_changes): Remove
-       prototypes.
+       finalize_block_changes, check_block_change, free_block_changes):
+       Remove prototypes.
        (struct function): Remove ib_boundaries_block.
        * emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
        Use curr_insn_locator to initialize locator.
        * tree-flow.h (disband_implicit_edges): Declaration removed.
        * tree-cfg.c (make_cond_expr_edges): Remove gotos from COND_EXPR
        branches.
-       (cleanup_dead_labels, tree_redirect_edge_and_branch): Handle COND_EXPRs
-       without gotos.
+       (cleanup_dead_labels, tree_redirect_edge_and_branch): Handle
+       COND_EXPRs without gotos.
        (disband_implicit_edges, has_label_p): Removed.
        (tree_verify_flow_info): Verify that COND_EXPR branches are empty.
        (tree_lv_add_condition_to_bb): Do not create gotos in COND_EXPR
 
 2007-04-25  Bob Wilson  <bob.wilson@acm.org>
 
-       * config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Throw an exception
-       for divide-by-zero.
+       * config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Throw an
+       exception for divide-by-zero.
        (__umodsi3, __modsi3): Likewise.
 
 2007-04-25  Dirk Mueller  <dmueller@suse.de>
 2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        PR target/31641
-       * config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length
-       argument of 0 for memset.
+       * config/s390/s390.c (s390_expand_setmem): Don't ICE for constant
+       length argument of 0 for memset.
        (s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
        unsigned shift instead of the signed variant.
 
        (reset_block_changes, record_block_change, finalize_block_changes,
        check_block_change, free_block_changes): Kill.
        * function.h (reset_block_changes, record_block_change,
-       finalize_block_changes, check_block_change, free_block_changes): Remove
-       prototypes.
+       finalize_block_changes, check_block_change, free_block_changes):
+       Remove prototypes.
        (struct function): Remove ib_boundaries_block.
        * emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
        Use curr_insn_locator to initialize locator.
        (reset_block_changes, record_block_change, finalize_block_changes,
        check_block_change, free_block_changes): Kill.
        * function.h (reset_block_changes, record_block_change,
-       finalize_block_changes, check_block_change, free_block_changes): Remove
-       prototypes.
+       finalize_block_changes, check_block_change, free_block_changes):
+       Remove prototypes.
        (struct function): Remove ib_boundaries_block.
        * emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
        Use curr_insn_locator to initialize locator.
 2007-04-14  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/25874
-       * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
-       post dominators and cleanup cfg before returning.
+       * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free
+       dominators, post dominators and cleanup cfg before returning.
 
 2007-04-14  Bernd Schmidt  <bernd.schmidt@analog.com>
 
        * config/mips/mips.c (mips_global_symbol_p): New function.
        (mips_symbol_binds_local_p): Likewise.
        (mips_classify_symbol): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP
-       and SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST.  Use mips_global_symbol_p
-       and mips_symbol_binds_local_p.
+       and SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST.  Use
+       mips_global_symbol_p and mips_symbol_binds_local_p.
        (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
        (override_options): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP,
        SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST and SYMBOL_GOTOFF_GLOBAL to
 2007-04-11  Sebastian Pop  <sebastian.pop@inria.fr>
 
        * tree-data-ref.c (affine_function_zero_p, constant_access_functions,
-       insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps): New.
+       insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps):
+       New.
        (build_classic_dist_vector): Call add_distance_for_zero_overlaps.
 
 2007-04-11  Zdenek Dvorak  <dvorakz@suse.cz>
 2007-03-30  Zdenek Dvorak  <dvorakz@suse.cz>
 
        PR tree-optimization/31383
-       * tree-data-ref.c (affine_function_equal_p): Do not require the vectors
-       to have the same length.
+       * tree-data-ref.c (affine_function_equal_p): Do not require the
+       vectors to have the same length.
 
 2007-03-30  Jan Hubicka  <jh@suse.cz>
 
 
 2007-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
 
-       * regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair action if
-       SRC->DEST replacement failed anyway.
+       * regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair
+       action if SRC->DEST replacement failed anyway.
 
 2007-03-28  Mike Stump  <mrs@apple.com>
 
 
        * gengtype-lex.l: Distinguish unions from structures in the
        token type.  Don't call find_structure; return the tag as a string.
-       * gengtype-yacc.y: Add new token types ENT_TYPEDEF_UNION and ENT_UNION.
-       Type of these, ENT_TYPEDEF_STRUCT, and ENT_STRUCT is string.
-       Reorganize typedef_struct production accordingly.
+       * gengtype-yacc.y: Add new token types ENT_TYPEDEF_UNION and
+       ENT_UNION.  Type of these, ENT_TYPEDEF_STRUCT, and ENT_STRUCT is
+       string.  Reorganize typedef_struct production accordingly.
        Use create_nested_ptr_option.
        * gengtype.c (create_nested_ptr_option): New function.
        * gengtype.h: Declare it.
        or scalar_nonchar as appropriate.
        (adjust_field_type): Look at scalar_is_char boolean to decide whether
        to use string_type.
-       (throughout): Use scalar_nonchar instead of calling create_scalar_type,
-       whenever possible.
+       (throughout): Use scalar_nonchar instead of calling
+       create_scalar_type, whenever possible.
        (main): Initialize scalar_char and scalar_nonchar before calling
        gen_rtx_next.
        * gengtype-lex.l: Adjust for removal of second argument to
        (fT0): New mode attribute.
        ("*movdi_64dfp", "*movdf_64dfp", "*neg<mode>2_nocc", "*abs<mode>2_nocc",
        "*negabs<mode>2_nocc", "copysign<mode>3"): Insn definitions added.
-       * config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Due to a new instruction
-       no secondary memory is needed when moving DFmode values between GPRs
-       and FPRs.
+       * config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Due to a new
+       instruction no secondary memory is needed when moving DFmode values
+       between GPRs and FPRs.
 
 2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
 
 2007-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        * pa.md: Add fpstore_load and store_fpload instruction types.  Provide
-       reservation, bypass and anti-bypass descriptions for these instructions.
-       Update move patterns.
+       reservation, bypass and anti-bypass descriptions for these
+       instructions.  Update move patterns.
        * pa.c (hppa_fpstore_bypass_p): Check for both TYPE_FPSTORE_LOAD and
        TYPE_FPSTORE.
 
 
 2007-03-13  Jan Hubicka  <jh@suse.cz>
 
-       * ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes,
-       when profile esitmate is present, calls with very low frequency are
-       cold.
+       * ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold
+       attributes, when profile esitmate is present, calls with very low
+       frequency are cold.
 
 2007-03-13  Zdenek Dvorak  <dvorakz@suse.cz>
 
 
 2007-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
-       * pa.c (attr_length_call): Revise condition for long pc-relative branch.
-       (output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local
-       calls on the SOM target.  Don't use "LONG_PIC_PCREL" call sequence on
-       SOM target.
+       * pa.c (attr_length_call): Revise condition for long
+       pc-relative branch.
+       (output_call): Use "LONG_PIC_SDIFF" instruction sequence for long
+       local calls on the SOM target.  Don't use "LONG_PIC_PCREL" call
+       sequence on SOM target.
 
 2007-03-09  Geoffrey Keating  <geoffk@apple.com>
 
        -mstack-size is used without providing -mstack-guard.
        (s390_emit_prologue): Choose stack_guard value automatically if not
        provided via command line.
-       * doc/invoke.texi: Adjust description of -mstack-guard and -mstack-size.
+       * doc/invoke.texi: Adjust description of -mstack-guard and
+       -mstack-size.
 
 2007-03-07  Richard Sandiford  <richard@codesourcery.com>
 
 2007-03-06  Jan Hubicka  <jh@suse.cz>
 
        * errors.h (warning, error, fatal, internal_error): Mark as cold.
-       * predict.c (maybe_hot_bb): Cold functions are never hot; hot functions
-       are hot.
+       * predict.c (maybe_hot_bb): Cold functions are never hot; hot
+       functions are hot.
        (probably_cold_bb_p): Cold functions are cold.
        (probably_never_executed_bb_p): Cold functions are cold.
        (tree_bb_level_predictions): Predict calls to cold functions as not
        * i386.h (CASE_VECTOR_MODE): Large PIC cases are 64bit.
        * cmodel.h: Add LARGE PIC.
        * i386.md (UNSPEC_PLTOFF): New.
-       (UNSPEC_SET_RIP, UNSPEC_SET_GOT_OFFSET): New; renumber other unspecs as
-       needed.
+       (UNSPEC_SET_RIP, UNSPEC_SET_GOT_OFFSET): New; renumber other
+       unspecs as needed.
        (*call_1_rex64): Disable for large models.
        (*call_1_rex64_large): New.
        (*call_value_1_rex64): Disable for large models.
        (ix86_output_addr_diff_elt): Output 64bit tables when needed.
        (ix86_expand_move): Legitimize pic address when in PIC mode.
        (construct_plt_address): New function.
-       (ix86_expand_call): Offload the address to register and use GOT pointer
-       for large model.
+       (ix86_expand_call): Offload the address to register and use GOT
+       pointer for large model.
        * invoke.texi (mcmodel=large): Update documentation.
 
 2007-03-06  Richard Henderson  <rth@redhat.com>
 
 2007-03-01  Zdenek Dvorak  <dvorakz@suse.cz>
 
-       * tree-ssa-loop-prefetch.c (determine_unroll_factor):  Bound the unroll
-       factor by the estimated number of iterations.
-       (loop_prefetch_arrays): Do not prefetch in loops that iterate less than
-       prefetch latency.
+       * tree-ssa-loop-prefetch.c (determine_unroll_factor):  Bound the
+       unroll factor by the estimated number of iterations.
+       (loop_prefetch_arrays): Do not prefetch in loops that iterate less
+       than prefetch latency.
 
        * config/i386/driver-i386.c (describe_cache, detect_caches_amd,
        decode_caches_intel, detect_caches_intel): New functions.
 2007-02-24  Jan Hubicka  <jh@suse.cz>
 
        PR middle-end/30509
-       * tree-inline.c (copy_bb): Produce exact copy of EH info when copying for inlining.
+       * tree-inline.c (copy_bb): Produce exact copy of EH info when
+       copying for inlining.
 
 2007-02-24  Uros Bizjak  <ubizjak@gmail.com>
            Jan Hubicka  <jh@suse.cz>
 
        * function.c (gimplify_parameters): Use build_call_expr.
 
-       * tree-vectorizer.c (vect_is_simple_reduction): Use TREE_OPERAND_LENGTH
-       instead of TREE_CODE_LENGTH.
+       * tree-vectorizer.c (vect_is_simple_reduction): Use
+       TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
 
        * ipa-type-escape.c (check_call): Use new CALL_EXPR iterators.
        (scan_for_refs): Add case tcc_vl_exp for CALL_EXPR.
        * config/mips/mips.c (mips_expand_builtin):  Use new CALL_EXPR
        accessors.
 
-       * config/bfin/bfin.c (bfin_expand_binop_builtin): Pass entire CALL_EXPR
-       instead of arglist.  Use new CALL_EXPR accessors.  Fix callers.
+       * config/bfin/bfin.c (bfin_expand_binop_builtin): Pass entire
+       CALL_EXPR instead of arglist.  Use new CALL_EXPR accessors.
+       Fix callers.
        (bfin_expand_unop_builtin): Likewise.
        (bfin_expand_builtin): Use new CALL_EXPR accessors.
 
        the new forwarder block.
        (make_forwarder_block): Only call new_bb_cbk if it is not NULL.
        Handle the case latch is NULL.
-       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Avoid cfg modifications
-       when marking loop exits.
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Avoid cfg
+       modifications when marking loop exits.
        * ifcvt.c (if_convert): Ditto.  Mark loop exits even if cfg cannot
        be modified.
        * loop-init.c (loop_optimizer_init): Do not modify cfg.  Call
 2007-02-02  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
 
        PR target/29682
-       * config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to
-       general or fp registers.  Add comments.
+       * config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory
+       loads to general or fp registers.  Add comments.
        * config/ia64/ia64.md (reg_pred_prefix): Add comment.
 
 2007-02-02  Paolo Bonzini  <bonzini@gnu.org>
 
        (DEP_STATUS): Rename to DEP_LINK_STATUS.  Fix typo in the comment.
 
-       (add_forw_dep, delete_back_forw_dep, insn_cost): Update declaration and
-       all callers.
+       (add_forw_dep, delete_back_forw_dep, insn_cost): Update declaration
+       and all callers.
        (dep_cost): Declare.
 
        * sched-deps.c (CHECK): New macro to (en/dis)able sanity checks.
        * target.h (struct _dep): Declare to use in
        gcc_target.sched.is_costly_dependence.
        (struct gcc_target.sched.adjust_cost): Fix typo.
-       (struct gcc_target.sched.is_costly_dependence): Change signature to use
-       single dep_t parameter instead of an equivalent triad.
+       (struct gcc_target.sched.is_costly_dependence): Change signature to
+       use single dep_t parameter instead of an equivalent triad.
        (struct gcc_target.sched.adjust_cost_2): Remove.
 
        * target-def.h (TARGET_SCHED_ADJUST_COST_2): Remove.
        new scheduler dependencies lists.
        (ia64_gen_check): Ditto.
 
-       * config/mips/mips.c (vr4130_swap_insns_p): Update to use new scheduler
-       dependencies lists.
+       * config/mips/mips.c (vr4130_swap_insns_p): Update to use new
+       scheduler dependencies lists.
 
        * config/rs6000/rs6000.c (rs6000_is_costly_dependence): Change
        signature to correspond to the targetm.sched.is_costly_dependence hook.
 
 2007-01-28  Jan Hubicka  <jh@suse.cz>
 
-       * expr.c (emit_block_move_via_movmem, emit_block_move_via_libcall): Add
-       variant handling histograms; add wrapper.
+       * expr.c (emit_block_move_via_movmem, emit_block_move_via_libcall):
+       Add variant handling histograms; add wrapper.
        (clear_storage_via_libcall): Export.
        (emit_block_move_hints): Break out from ...; add histograms.
        (emit_block_move): ... this one.
        (set_storage_via_setmem): Update prototype.
        * doc/md.texi (movmem, setmem): Document new arguments.
 
-       * value-prof.c (dump_histogram_value, tree_find_values_to_profile): Add
-       new histograms.
+       * value-prof.c (dump_histogram_value, tree_find_values_to_profile):
+       Add new histograms.
        (stringop_block_profile): New global function.
        (tree_stringops_values_to_profile): Profile block size and alignment.
        * value-prof.h (enum hist_type): add HIST_TYPE_AVERAGE and
 
        * ipa-inline.c (initial_insns, max_insns): Delete.
        (compute_max_insns): New function.
-       (cgraph_decide_inlining_of_small_function): Use it; take minimal amount
-       of insns as base for code growth.
+       (cgraph_decide_inlining_of_small_function): Use it; take minimal
+       amount of insns as base for code growth.
        (cgraph_decide_inlining): Make initial_insns local; do not compute
        max_insns.
        * params.def (PARAM_INLINE_UNIT_GROWTH): Set to 60.
 
        * unwind-dw2-fde.c (get_cie_encoding): Replaced _Unwind_Word with
        _uleb128_t and _Unwind_SWord with _sleb128_t.
-       * unwind-dw2.c (extract_cie_info, execute_stack_op, execute_cfa_program,
-       uw_frame_state_for, uw_update_context_1): Likewise.
+       * unwind-dw2.c (extract_cie_info, execute_stack_op,
+       execute_cfa_program, uw_frame_state_for, uw_update_context_1):
+       Likewise.
        * unwind-c.c (parse_lsda_header, PERSONALITY_FUNCTION): Likewise.
        * unwind-pe.h (read_uleb128, read_sleb128,
        read_encoded_value_with_base): Likewise.
 
 2007-01-24  Jan Hubicka  <jh@suse.cz>
 
-       * tree-ssa-dce.c (eliminate_unnecesary_stmts): Remove dead LHS of calls.
+       * tree-ssa-dce.c (eliminate_unnecesary_stmts): Remove dead LHS
+       of calls.
 
 2007-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
 
 2007-01-16  Jan Hubicka  <jh@suse.cz>
 
        * tree-ssanames.c (release_dead_ssa_names): Instead of ggc_freeing
-       the names, just unlink the chain so we don't crash on dangling pointers
+       the names, just unlink the chain so we don't crash on dangling
+       pointers
        to dead SSA names.
 
 2007-01-16  Jan Hubicka  <jh@suse.cz>
 
        * cgraph.h (cgraph_decide_inlining_incrementally): Kill.
        * tree-pass.h: Reorder to make IPA passes appear toegher.
-       (pass_early_inline, pass_inline_parameters, pass_apply_inline): Declare.
+       (pass_early_inline, pass_inline_parameters, pass_apply_inline):
+       Declare.
        * cgraphunit.c (cgraph_finalize_function): Do not compute inling
        parameters, do not call early inliner.
        * ipa-inline.c: Update comments.  Include tree-flow.h
        (set_single_exit): Removed.
        * cfgloop.h (struct loop_exit): New function.
        (struct loop): single_exit_ field replaced by exits field.
-       (LOOPS_HAVE_MARKED_SINGLE_EXITS): Replaced by LOOPS_HAVE_RECORDED_EXITS.
+       (LOOPS_HAVE_MARKED_SINGLE_EXITS): Replaced by
+       LOOPS_HAVE_RECORDED_EXITS.
        (struct loops): Added exits hash.
        (mark_single_exit_loops, set_single_exit): Declaration removed.
        (release_recorded_exits, record_loop_exits, rescan_loop_exit): Declare.
        Adjust register allocate order and update some macro define.
        * config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
        mdx_block_move_straight, mdx_block_move_loop_head,
-       mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
-       mdx_block_move): Added.
+       mdx_block_move_loop_body, mdx_block_move_loop_foot,
+       mdx_block_move_loop, mdx_block_move): Added.
        (mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
        mdp_limm): Updated and fix some bug and typo.
        * config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.