OSDN Git Service

gcc
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 41e1237..7363e52 100644 (file)
+2007-11-01  Tom Tromey  <tromey@redhat.com>
+
+       * c-decl.c (grokdeclarator): Set decl source locations.
+       * c-parser.c (c_parser_enum_specifier): Set location.
+       (c_parser_struct_or_union_specifier): Likewise.
+
+2007-11-01  Tom Tromey  <tromey@redhat.com>
+
+       * print-tree.c (print_node): Print column number.
+
+2007-11-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/33537
+       * dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
+       gen_decl_die): Use TREE_TYPE (TREE_TYPE (decl)) as type
+       rather than TREE_TYPE (decl) if DECL_BY_REFERENCE (decl).
+
+       PR rtl-optimization/33673
+       * gcse.c (cprop_jump): If a conditional jump has been optimized
+       into unconditional jump, make the remaining normal edge fallthru
+       and delete the jump insn.
+
+2007-11-01  Ben Elliston  <bje@au.ibm.com>
+
+       * emit-rtl.c (set_reg_attrs_from_mem): Clarify function comment.
+       (set_mem_attrs_from_reg): Likewise.
+
+2007-11-01  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/33961
+       * tree-ssa-phiopt.c (struct name_to_bb.store): New member.
+       (name_to_bb_hash, name_to_bb_eq): Consider and check it.
+       (add_or_mark_expr): New argument 'store', using it to search
+       the hash table.
+       (nt_init_block): Adjust calls to add_or_mark_expr.
+
+2007-10-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/31507
+       * config/i386/i386.md (pushsf_rex64): Use X instead of < constraints
+       for the first push_operand.
+
+2007-10-31  Revital Eres  <eres@il.ibm.com>
+
+       * config/rs6000/paired.md (sminv2sf3, smaxv2sf3, reduc_smax_v2sf,
+       reduc_smin_v2sf vec_interleave_highv2sf, vec_interleave_lowv2sf,
+       vec_extract_evenv2sf, vec_extract_oddv2sf, reduc_splus_v2sf,
+       movmisalignv2sf, vcondv2sf): New.
+       (UNSPEC_INTERHI_V2SF, UNSPEC_INTERLO_V2SF, UNSPEC_EXTEVEN_V2SF,
+       UNSPEC_EXTODD_V2SF): Define new constants.
+       * config/rs6000/rs6000-protos.h (paired_expand_vector_move,
+       paired_emit_vector_cond_expr): New.
+       * config/rs6000/rs6000-c.c (__PAIRED__): Add new builtin_define.
+       * config/rs6000/rs6000.c (paired_expand_vector_move,
+       paired_emit_vector_cond_expr, paired_emit_vector_compare):
+       New functions.
+       * config/rs6000/750cl.h (ASM_CPU_SPEC): Pass down -m750cl option.
+
+2007-10-31  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/32377
+       * tree-data-ref.c (compute_overlap_steps_for_affine_univar): Make it
+       work also for unknown number of iterations.
+       (analyze_subscript_affine_affine): Clean up.  Don't fail when the 
+       number of iterations is not known.
+
+2007-10-31  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/33779
+       * fold-const.c (extract_muldiv_1): Make sure to not introduce
+       new undefined integer overflow.
+       (fold_binary): Avoid useless conversion.
+
+2007-10-31  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       PR target/33948
+       * config/mips/mips.c (mips_fpr_return_fields): Fix SCALAR_TYPE_P
+       check.
+
+2007-10-31  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/rs6000/rs6000.opt: Rename -mdfp option to -mhard-dfp.
+
+       * config/s390/s390.c: (override_options): Replace -mhard-dfp/-msoft-dfp
+       with -mhard-dfp/-mno-hard-dfp.
+       * config/s390/s390.opt: Likewise.
+       * config/s390/s390.h: Add MASK_HARD_DFP to the TARGET_DEFAULT
+       definition.
+
+2007-10-30  Janis Johnson  <janis187@us.ibm.com>
+
+       * tree-ssa.c (execute_update_addresses_taken): Initialize update_vops.
+
+2007-10-30  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/invoke.texi (Option Summary): Add -fdce and -fdse to list of
+       optimization options.
+       (Optimize Options): Add -fdce and -fdse to the list of optimizations
+       enabled by -O.  Document -fdce and -fdse.
+
+2007-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/33709
+       * fold-const.c (fold_binary): If one argument is COMPOUND_EXPR,
+       convert second operand of COMPOUND_EXPR to the original type of
+       that argument.
+
+2007-10-30  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-operands.c (add_vars_for_offset): Fix exit test
+       of loop adding SFTs as virtual operands.
+
+2007-10-30  Richard Guenther  <rguenther@suse.de>
+
+       * Makefile.in (dse.o): Add $(OPTABS_H) and $(RECOG_H) dependencies.
+
+2007-10-29  Dorit Nuzman  <dorit@il.ibm.com>
+
+       PR tree-optimization/32893
+       * tree-vectorize.c (vect_can_force_dr_alignment_p): Check
+       STACK_BOUNDARY instead of PREFERRED_STACK_BOUNDARY.
+
+2007-10-29  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+       * longlong.h (add_ssaaaa): Support Intel asm syntax in i386 and
+       x86_64 versions.
+       (sub_ddmmss): Likewise.
+       (umul_ppmm): Likewise.
+       (udiv_qrnnd): Likewise.
+
+2007-10-29  Janis Johnson  <janis187@us.ibm.com>
+
+       PR testsuite/24841
+       * doc/sourcebuild.texi (Test Directives): Document that dg-require
+       directives must come before dg-additional-sources.
+
+2007-10-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/33723
+       * c-gimplify.c (c_gimplify_expr): Optimize INIT_EXPR or
+       MODIFY_EXPR with non-addressable COMPOUND_LITERAL_EXPR as source.
+
+2007-10-29  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       PR tree-optimization/33614
+       * gimplify.c (gimplify_init_constructor): Gimplify vector constructors
+       if they can't be reduced to VECTOR_CSTs and aren't legitimate
+       initializer constants.
+
+2007-10-29  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/33870
+       * tree-ssa-operands.c (add_vars_for_offset): Remove mpt_vars parameter.
+       (add_virtual_operand): Do not recurse into MPTs looking for pointed-to
+       SFTs.
+
+2007-10-29  Richard Guenther  <rguenther@suse.de>
+
+       * passes.c (init_optimization_passes): Exchange store_copy_prop
+       with copy_prop.
+       * tree-pass.h (pass_store_copy_prop): Remove.
+       * tree-ssa-copy.c (do_store_copy_prop): Remove.
+       (stmt_may_generate-copy): Do not handle store_copy_prop.
+       (get_copy_of_val): Likewise.
+       (set_copy_of_val): Likewise.
+       (copy_prop_visit_assignment): Likewise.
+       (copy_prop_visit_stmt): Likewise.
+       (copy_prop_visit_phi_node): Likewise.
+       (init_copy_prop): Likewise.
+       (execute_copy_prop): Likewise.
+       (do_copy_prop): Remove.
+       (gate_store_copy_prop): Likewise.
+       (store_copy_prop): Likewise.
+       (pass_store_copy_prop): Likewise.
+       (pass_copy_prop): Call execute_copy_prop.
+       * opts.c (decode_options): Do not set flag_tree_store_copy_prop.
+       * common.opt (ftree-store-copy-prop): Mark obsolete.
+       * doc/invoke.texi (ftree-store-copy-prop): Remove documentation.
+
+2007-10-29  Ian Lance Taylor  <iant@google.com>
+
+       * ifcvt.c (noce_can_store_speculate_p): New static function.
+       (noce_process_if_block): Call it.
+       (if_convert): Remove recompute_dominance parameter.  Change all
+       callers.
+
+2007-10-29  Richard Guenther  <rguenther@suse.de>
+
+       * tree-flow-inline.h (get_subvar_at): Use binary search.
+       (get_first_overlapping_subvar): New function to binary search
+       for the first overlapping subvar.
+       * tree-ssa-operands.c (add_vars_for_offset): Strip down to
+       just handle adding subvars for a pointed-to subvar.  Optimize
+       and use get_first_overlapping_subvar.
+       (add_vars_for_bitmap): Fold into single caller.
+       (add_virtual_operand): Streamline, inherit add_vars_for_bitmap
+       and non pointed-to bits of add_vars_for_offset.
+
+2007-10-29  Revital Eres  <eres@il.ibm.com> 
+
+       * modulo-sched.c (sms_schedule): Add DF_UD_CHAIN problem.
+
+2007-10-29  Razya Ladelsky  <razya@il.ibm.com>
+            Zdenek Dvorak  <ook@ucw.cz>
+
+       OMP_ATOMIC Changes,
+       reduction support for automatic parallelization.
+
+       * expr.c (expand_expr_real_1): Add cases for OMP_ATOMIC_LOAD,
+       OMP_ATOMIC_STORE.
+       * Makefile.in: Add dependencies to expr.o, tree-parloops.o, omp-low.o
+       * tree-pretty-print.c (dump_generic_node): Add OMP_ATOMIC_LOAD
+       and OMP_ATOMIC_STORE.
+       * tree.h (OMP_DIRECTIVE_P): Add OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
+       * gimple-low.c (lower_stmt): Same.
+       * gimplify.c (gimplify_expr): Same.
+       (gimplify_omp_atomic_fetch_op, gimplify_omp_atomic_pipeline,
+       gimplify_omp_atomic_mutex): Remove.
+       (gimplify_omp_atomic): Change it to simply gimplify the
+       statement instead of expanding it.
+       * omp-low.c: Add includes to optabs.h, cfgloop.h.
+       (expand_omp_atomic, expand_omp_atomic_pipeline,
+       goa_stabilize_expr, expand_omp_atomic_mutex,
+       expand_omp_atomic_fetch_op): New functions to implement
+       expansion of OMP_ATOMIC.
+       (expand_omp, build_omp_regions_1): Add support for
+       OMP_ATOMIC_LOAD/OMP_ATOMIC_STORE.
+       * tree-cfg.c (make_edges): add case for OMP_ATOMIC_LOAD,
+       OMP_ATOMIC_STORE.
+       * tree-gimple.c (is_gimple_stmt): Add OMP_ATOMIC_LOAD,
+       OMP_ATOMIC_STORE.
+       * tree-parloops.c: add include to tree-vectorizer.h.
+       (reduction_info): New structure for reduction.
+       (reduction_list): New list to represent list of reductions per loop.
+       (struct data_arg): New helper structure for reduction.
+       (reduction_info_hash, reduction_info_eq, reduction_phi,
+       initialize_reductions, create_call_for_reduction,
+       create_phi_for_local_result, create_call_for_reduction_1,
+       create_loads_for_reductions, create_final_loads_for_reduction):
+       New functions.
+       (loop_parallel_p): Identify reductions, add reduction_list parameter.
+       (separate_decls_in_loop_name): Support reduction variables.
+       (separate_decls_in_loop): Add reduction_list and ld_st_data arguments,
+       call create_loads_for_reduction for each reduction.
+       (canonicalize_loop_ivs): Identify reductions, add reduction_list
+       parameter.
+       (transform_to_exit_first_loop): Add reduction support, add
+       reduction_list parameter.
+       (gen_parallel_loop): Add reduction_list parameter.  Add call
+       separate_decls_in_loop with
+       the new argument.  Traverse reductions and call
+       initialize_reductions, create_call_for_reduction.
+       (parallelize_loops): Create and delete the reduction list.
+       (add_field_for_name): Change use of data parameter.  Add fields for
+       reductions.
+       * tree-vectorizer.h (vect_analyze_loop_form): Add declaration.
+       * tree-vect-analyze.c (vect_analyze_loop_form): export it.
+       * tree.def: Add definitions for OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
+       * tree-inline.c (estimate_num_insns_1): add cases for
+       OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
+       * tree-cfg.c (make_edges): Add OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
+       * tree-ssa-operands.c (get_addr_dereference_operands):
+       New function.  Subroutine of get_indirect_ref_operands.
+       (get_indirect_ref_operands): Call get_addr_dereference_operands.
+       (get_expr_operands): Support OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
+
+
+2007-10-29  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.c: Include df.h.
+       (cris_address_cost): Add gcc_assert for canonicalization
+       assumptions.  For PLUS with MULT or register, correct
+       test for register in other arm.  Tweak comments.
+
+2007-10-28  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-operands.c (add_vars_for_offset): Add parameter
+       telling if the var is to be treated as points-to location.
+       (add_vars_for_bitmap): Pass true to add_vars_for_offset.
+       (add_virtual_operand): Only recurse into MPTs if aliases
+       is from a NMT.
+
+2007-10-28  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-operands.c (add_vars_for_offset): Clean and speed up.
+       (add_vars_for_bitmap): Do not recurse further.  Only add vars
+       for pointed-to SFTs.
+       (add_virtual_operand): Re-instantiate loop to add operands for
+       aliases.  Recurse into MPTs.
+       (get_indirect_ref_operands): If we fall back to use a pointers
+       SMT, make sure to not prune based on the access offset and size.
+
+2007-10-28  Andrew Pinski  <pinskia@gmail.com>
+
+       PR tree-opt/33589
+       * tree-outof-ssa.c (rewrite_trees): If the statement changed, cleanup
+       the eh information on the statement.
+
+2007-10-28  Richard Guenther  <rguenther@suse.de>
+
+       * tree-flow.h (subvar_t): Make it a VEC.
+       (struct subvar): Remove.
+       (struct var_ann_d): Use VEC(tree,gc) to store subvars.
+       * tree-flow-inline.h (get_subvar_at): Adjust iterators over
+       variable subvars.
+       * tree-into-ssa.c (mark_sym_for_renaming): Likewise.
+       * tree-nrv.c (dest_safe_for_nrv_p): Likewise.
+       * tree-ssa-alias.c (mark_aliases_call_clobbered): Likewise.
+       (set_initial_properties): Likewise.
+       (setup_pointers_and_addressables): Likewise.
+       (new_type_alias): Likewise.
+       (create_overlap_variables_for): Likewise.
+       * tree-dfa.c (dump_subvars_for): Likewise.
+       * tree-ssa-operands.c (add_vars_for_offset): Likewise.
+       (get_expr_operands): Likewise.
+       (add_to_addressable_set): Likewise.
+       * tree-ssa-structalias.c (set_uids_in_ptset): Likewise.
+
+2007-10-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR tree-optimization/33920
+       * tree-if-conv.c (tree_if_conversion): Force predicate of single
+       successor bb to true when predecessor bb has NULL predicate.
+       (find_phi_replacement_condition): Assert that tmp_cond is non-null.
+
+2007-10-28  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.md: Add combiner patterns for DImode extensions
+       of HImode and QImode truncations.  Reformat HImode <- QImode pattern
+       for consistency.
+
+2007-10-28  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       PR target/33895
+       * config/mips/mips.c (mips_output_dwarf_dtprel): Add ATTRIBUTE_UNUSED.
+
+2007-10-28  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * dce.c (delete_unmarked_insns): Just delete the RETVAL and
+       LIBCALL notes if they are about to be moved to the same insn.
+
+2007-10-27  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/33870
+       * tree-ssa-operands.c (add_vars_for_offset): Reduce code
+       duplication.  Remove redundant call to access_can_touch_variable.
+       (add_vars_for_bitmap): New helper for recursing over MPT contents.
+       (add_virtual_operand): Use it.
+
+2007-10-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR fortran/31608
+       * pa.h (ASM_PN_FORMAT): Delete define.
+
+2007-10-26  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/invoke.texi (Option Summary, optimizations): Remove
+       -fbounds-check.  Add -fassociative-math, -freciprocal-math,
+       -ftree-vrp and -funit-at-a-time.  Change -fno-split-wide-types to
+       -fsplit-wide-types to match later entry.  Break up a long line.
+       (Option Summary, code gen options)  Add -fno-stack-limit.  Add
+       missing @gol to the end of a line.
+       (Optimization Options): Remove -fbounds-check, which is also
+       documented under Code Generation Options.  Remove =n from
+       index entry for -ftree-parallelize-loops.  Change -fno-cprop-registers
+       to -fcprop-registers to match other options, and say when it is
+       enabled rather than disabled.  Remove extra index entry for
+       -fno-cx-limited-range.  Add index entries for -fstack-protector
+       and -fstack-protector-all.
+       (Code Gen Options): Add index entry for -ftls-model.
+
+2007-10-26  Anatoly Sokolov <aesok@post.ru>
+
+       * config/avr/avr.c (avr_OS_task_function_p): Add new function.
+       (avr_regs_to_save): Handle functions with 'OS_task' attribute.
+       (avr_simple_epilogue, expand_prologue, avr_asm_function_end_prologue,
+       expand_epilogue, output_movhi): Don't handle 'main' function.
+       (avr_attribute_table): Add 'OS_task' function attribute.
+       * config/avr/avr.h (machine_function): Remove 'is_main' field, add
+       'is_OS_task' field.
+       * config/avr/avr.md (return_from_main_epilogue): Remove insn.
+       (return_from_epilogue, return_from_interrupt_epilogue): Don't handle
+       'main' function.
+       * config/avr/avr.opt (minit-stack): Remove.
+
+2007-10-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-nested.c (get_trampoline_type): Fix thinko.
+
+2007-10-26  Douglas Gregor  <doug.gregor@gmail.com>
+
+       PR c++/33601
+       * tree.c (build_offset_type): Build canonical type based on the
+       TYPE_MAIN_VARIANT of the base type.
+
+2007-10-26  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * reorg.c (emit_delay_sequence): Move insn locator from the
+       first insn to the sequence.
+
+2007-10-26  Samuel Tardieu  <sam@rfc1149.net>
+
+       * ipa-pure-const.c (check_decl): Return immediately when
+       pure_const_state has been set to IPA_NEITHER.
+
+2007-10-25  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/33833
+       * tree-vect-analyze.c (vect_analyze_data_refs): Use POINTER_PLUS_EXPR
+       and convert init to sizetype in inner_base construction.
+
+2007-10-25  Richard Guenther  <rguenther@suse.de>
+
+       * tree-flow.h (mem_sym_stats): Remove.
+       (dump_mem_sym_stats_for_var): Declare.
+       * tree-dfa.c (dump_variable): Call dump_mem_sym_stats_for_var.
+       (mem_sym_stats): Move ...
+       * tree-ssa-alias.c (mem_sym_stats): ... here and make it static.
+       (mem_sym_score): Rename from ...
+       (pscore): ... this.  Remove.
+       (dump_mem_sym_stats_for_var): New function.  Dump the score, but
+       not the frequencies.
+       (compare_mp_info_entries): Make sort stable by disambiguating
+       on DECL_UID.
+
+2007-10-25  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/33866
+       * tree-vect-transform.c (vectorizable_store): Check operands of all
+       the stmts in the group of strided accesses. Get def stmt type for each
+       store in the group and pass it to vect_get_vec_def_for_stmt_copy ().
+
+2007-10-25  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/constraints.md (Y0): Rename register constraint to Yz.
+       (Yt): Rename register constraint to Y2.
+       * config/i386/sse.md: Use renamed register constraints.
+       * config/i386/mmx.md: Ditto.
+       * config/i386/i386.md: Ditto.
+
+2007-10-25  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+       * config/i386/i386.md (*dummy_extendsfdf2): Fix operand 1 constraint.
+
+2007-10-24  Chao-ying Fu  <fu@mips.com>
+
+       * dwarf2out.c (base_type_die): Use DW_ATE_unsigned_fixed or
+       DW_ATE_signed_fixed to describe FIXED_POINT_TYPE.
+
+2007-10-24  Samuel Tardieu  <sam@rfc1149.net>
+           Olga Golovanevsky <olga@il.ibm.com>
+       
+       * ipa-struct-reorg.c (replace_field_acc): Make it clear to
+       the compiler that wr.wrap and wr.domain are initialized in
+       any case.
+
+2007-10-24  Samuel Tardieu  <sam@rfc1149.net>
+
+       * ipa-struct-reorg.c (sum_counts): Use HOST_WIDEST_PRINT_DEC
+       to print gcov_type values.
+
+2007-10-24  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+       * config/avr/avr.h: Do not include progmem_section definition when
+       building with IN_TARGET_LIBS.
+
+2007-10-24  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       PR target/33755
+       * config/mips/mips.c (mips_lo_sum_offset): New structure.
+       (mips_hash_base, mips_lo_sum_offset_hash, mips_lo_sum_offset_eq)
+       (mips_lo_sum_offset_lookup, mips_record_lo_sum)
+       (mips_orphaned_high_part_p: New functions.
+       (mips_avoid_hazard): Don't check INSN_P here.
+       (mips_avoid_hazards): Rename to...
+       (mips_reorg_process_insns): ...this.  Cope with
+       !TARGET_EXPLICIT_RELOCS.  Delete orphaned high-part relocations,
+       or turn them into nops.
+       (mips_reorg): Remove TARGET_EXPLICIT_RELOCS check from calls to
+       dbr_schedule and mips_avoid_hazards/mips_reorg_process_insns.
+       (mips_set_mips16_mode): Don't set flag_delayed_branch here.
+       (mips_override_options): Set flag_delayed_branch to 0.
+
+2007-10-24  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.h (MOVE_MAX): Use UNITS_PER_WORD and describe
+       MIPS-specific implementation details.
+       (MIPS_MAX_MOVE_BYTES_PER_LOOP_ITER): New macro.
+       (MIPS_MAX_MOVE_BYTES_STRAIGHT): Likewise.
+       (MOVE_RATIO): Define to MIPS_MAX_MOVE_BYTES_STRAIGHT / UNITS_PER_WORD
+       for targets with movmemsi.
+       (MOVE_BY_PIECES_P): Define.
+       * config/mips/mips.c (MAX_MOVE_REGS, MAX_MOVE_BYTES): Delete.
+       (mips_block_move_loop): Add a bytes_per_iter argument.
+       (mips_expand_block_move): Use MIPS_MAX_MOVE_BYTES_STRAIGHT.
+       Update call to mips_block_move_loop.
+
+2007-10-24  Michael Matz  <matz@suse.de>
+
+       PR debug/33868
+       * var-tracking.c (variable_union): Don't break after one loop
+       iteration but only when a difference is found.
+       (dump_variable): Also print DECL_UID.
+
+2007-10-24  Olga Golovanevsky  <olga@il.ibm.com>
+
+       * ipa-type-escape.h: Expose function
+       is_array_access_through_pointer_and_index.
+       * ipa-type-escape.c
+       (is_array_access_through_pointer_and_index):
+       Add three new parameters. Add support of
+       POINTER_PLUS_EXPR tree code.
+
+2007-10-24  Olga Golovanevsky  <olga@il.ibm.com>
+
+       * ipa-struct-reorg.c, ipa-struct-reorg.h: New files.
+       * tree-pass.h: Add pass_ipa_struct_reorg.
+       * common.opt: Add ipa-struct-reorg flag.
+       * Makefile.in: Add ipa-strcut-reorg.o compilation.
+       * passes.c: Add pass pass_ipa_struct_reorg.
+       * params.h:  Add STRUCT_REORG_COLD_STRUCT_RATIO.
+       * params.def: Add PARAM_STRUCT_REORG_COLD_STRUCT_RATIO.
+
+2007-10-24  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/33804
+       * tree-vect-transform.c (vectorizable_operation): Remove the
+       checks that the vectorization is worthwhile from the transformation
+       phase.
+
+2007-10-24  Ira Rosen  <irar@il.ibm.com>
+
+       * tree-vect-analyze.c (vect_build_slp_tree): Return false if
+       vectype cannot be determined for the scalar type.
+       (vect_analyze_slp_instance): Likewise.
+       * tree-vect-transform.c (vect_model_reduction_cost): Change the
+       return type to bool. Return false if vectype cannot be determined 
+       for the scalar type.
+       (vect_get_constant_vectors): Return false if vectype cannot be
+       determined for the scalar type.
+       (get_initial_def_for_induction, vect_get_vec_def_for_operand,
+       get_initial_def_for_reduction, vect_create_epilog_for_reduction,
+       vectorizable_reduction): Likewise.      
+
+2007-10-23  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+
+       * config.gcc: For a FreeBSD target, parse the value of ${target}
+       to determine the value of FBSD_MAJOR, instead of adding an
+       explicit check for every possible FreeBSD major version.
+
+2007-10-23  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl-optimization/33846
+       * combine.c (simplify_shift_const_1) [NOT]: Skip vector modes.
+
+2007-10-23  Dorit Nuzman  <dorit@il.ibm.com>
+
+       PR tree-optimization/33860
+       * tree-vect-transform.c (vect_analyze_data_ref_access): Don't allow
+       interleaved accesses in case the dr is inside the inner-loop during
+       outer-loop vectorization.
+
+2007-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/rtl.texi (Flags): Fix MEM_SCALAR_P entry.
+       Document MEM_POINTER.  Replace mentions of "integrated"
+       field with "return_val".  Delete outdated stuff.
+
+2007-10-23  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Set
+       rs6000_altivec_abi on AIX.
+       (conditional_register_usage): Set VR20:31 fixed on AIX.
+
+2007-10-23  Richard Guenther  <rguenther@suse.de>
+
+       * alias.c (get_alias_set): For INDIRECT_REFs, deal with
+       SSA_NAME pointers.
+
+2007-10-22  Seongbae Park <seongbae.park@gmail.com>
+       David S. Miller  <davem@davemloft.net>
+
+       * df-scan.c (df_get_call_refs): Mark global registers as both a
+       DF_REF_REG_USE and a non-clobber DF_REF_REG_DEF.
+
+2007-10-22  Dorit Nuzman  <dorit@il.ibm.com>
+
+       PR tree-optimization/33834
+       PR tree-optimization/33835
+       * tree-vect-analyze.c (vect_analyze_operations): RELEVANT and LIVE
+       stmts need to be checked for success seperately.
+       * tree-vect-transform.c (vectorizable_call, vectorizable_conversion):
+       Remove the check that stmt is not LIVE.
+       (vectorizable_assignment, vectorizable_induction): Likewise.
+       (vectorizable_operation, vectorizable_type_demotion): Likewise.
+       (vectorizable_type_promotion, vectorizable_load, vectorizable_store):
+       Likewise.
+       (vectorizable_live_operation): Check that op is not NULL. 
+
+2007-10-22  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/invoke.texi (Optimization Options): In the summary, show
+       that the value for options -falign-jumps, -falign-labels,
+       -falign-loops, -falign-functions, -fsched-stalled-insns, and
+       -fsched-stalled-insns-dep is optional.  In the summary, show that
+       -fsched-stalled-insns takes an optional argument and that
+       -fparallelize-loops takes an argument.  Add opindex for several
+       optimization options, and fix typos in the opindex commands for
+       several others.  In the descriptions for -fsched-stalled-insns
+       and -fsched-stalled-insns-dep, show the options with and without
+       values.
+
+2007-10-22  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+       * config/avr/avr.c (avr_mcu_types): Remove ATmega603 which was never
+       produced.
+       * config/avr/avr.h (LINK_SPEC): Likewise.
+       (CRT_BINUTILS_SPECS): Likewsie.
+       * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+
+2007-10-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/33644
+       * cfgcleanup.c: Do not include dce.h.
+       * cfgrtl.c (delete_insn_chain_and_edges): Resurrect.
+       * combine.c (distribute_notes): Delete REG_LIBCALL_ID case.
+       * dce.c (something_changed): Delete.
+       (libcall_dead_p): New predicate.
+       (delete_unmarked_insns): Use it to delete dead libcalls.
+       Deal with REG_LIBCALL and REG_RETVAL notes.
+       (prescan_libcall_for_dce): New function.
+       (prescan_insns_for_dce): Use it to deal with libcalls.
+       (mark_reg_dependencies): Do nothing special for libcalls.
+       (dce_process_block): Likewise.
+       (fast_dce): Delete unused local variable.
+       (run_fast_dce): Do not return a value.
+       * dce.h (struct df): Delete.
+       (run_fast_dce): Adjust prototype.
+       * optabs.c (libcall_id): Delete.
+       (maybe_encapsulate_block): Do not emit REG_LIBCALL_ID notes.
+       (emit_no_conflict_block): Do not look for REG_LIBCALL_ID notes.
+       * reload1.c (reload): Delete REG_LIBCALL_ID case.
+       * rtl.h (delete_insn_chain_and_edges): Resurrect prototype.
+       * see.c (see_update_relevancy): Look for REG_LIBCALL and REG_RETVAL
+       notes instead of REG_LIBCALL_ID notes.
+       * reg-notes.def (LIBCALL_ID): Delete.
+       * Makefile.in (see.o): Add dce.h dependency.
+       (cfgcleanup.o): Remove dce.h dependency.
+
+2007-10-22  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/33855
+       * tree-ssa-phiopt.c (cond_store_replacement): Handle COMPLEX_TYPE
+       and VECTOR_TYPE.
+
+2007-10-22  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/33854
+       * tree-vect-analyze.c (vect_determine_vectorization_factor): Add
+       FLOAT_EXPR to the list of promotion operations. 
+
+2007-10-22  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+       PR target/29473
+       PR target/29493
+       * config/i386/i386.c (output_pic_addr_const): Support Intel asm syntax.
+       (print_reg): Print register prefix only with AT&T asm syntax. 
+       Support pc_rtx for RIP register.
+       (print_operand_address): Use print_reg()'s pc_rtx support for RIP
+       relative addressing.  Always print segment register prefix with AT&T
+       asm syntax and never with Intel asm syntax.
+       (print_operand): Suppress 'XXX PTR' prefix for BLKmode operands. 
+       Fix prefix for 16-byte XFmode operands.
+       (output_addr_const_extra): Support Intel asm syntax.
+       (x86_file_start): Don't use register prefix with Intel asm syntax.
+       * config/i386/i386.md ("*zero_extendqihi2_movzbl"): Fix typo.
+       ("return_internal_long"): Fix Intel asm syntax output.
+       ("set_got_rex64"): Support Intel asm syntax.
+       ("set_rip_rex64"): Likewise.
+       ("set_got_offset_rex64"): Likewise.
+       ("*sibcall_1_rex64_v"): Print register prefix only with AT&T asm
+       syntax.
+       ("*tls_global_dynamic_64"): Likewise.
+       ("*tls_local_dynamic_base_64"): Likewise.
+       ("*load_tp_si")("*load_tp_di"): Likewise.
+       ("*add_tp_si")("*add_tp_di"): Likewise.
+       ("*tls_dynamic_lea_64"): Likewise.
+       ("*sibcall_value_1_rex64_v"): Likewise.
+       ("stack_tls_protect_set_si"): Likewise.
+       ("stack_tls_protect_set_di"): Likewise.
+       ("stack_tls_protect_test_si"): Likewise.
+       ("stack_tls_protect_test_di"): Likewise.
+       * config/i386/mmx.md ("*mov<mode>_internal_rex64"): Fix Intel asm
+       syntax output.
+       ("*movv2sf_internal_rex64"): Likewise.
+       * config/i386/cpuid.h (__cpuid): Support Intel asm syntax.
+       (__get_cpuid_max): Likewise.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips-protos.h (mips_regno_mode_ok_for_base_p): Give
+       the STRICT_P argument type "bool" rather than "int".
+       (mips_legitimate_address_p): Likewise.
+       (fp_register_operand, lo_operand): Delete.
+       (mips_subword): Give the HIGH_P argument type "bool" rather than "int".
+       (mips_emit_scc): Rename to...
+       (mips_expand_scc): ...this.
+       (gen_conditional_branch): Rename to...
+       (mips_expand_conditional_branch): ...this.
+       (gen_conditional_move): Rename to...
+       (mips_expand_conditional_move): ...this.
+       (mips_gen_conditional_trap): Rename to...
+       (mips_expand_conditional_trap): ...this and take an rtx code instead
+       of an operands array.
+       (mips_expand_call): Give the SIBCALL_P argument type "bool"
+       rather than "int".
+       (mips_emit_fcc_reload): Rename to...
+       (mips_expand_fcc_reload): ...this.
+       (init_cumulative_args): Rename to...
+       (mips_init_cumulative_args): ...this and remove the libname argument.
+       (function_arg_advance): Rename to...
+       (mips_function_arg_advance): ...this.
+       (function_arg): Rename to...
+       (mips_function_arg): ...this and use "rtx" instead of
+       "struct rtx_def *".
+       (function_arg_boundary): Rename to...
+       (mips_function_arg_boundary): ...this.
+       (mips_expand_unaligned_load): Rename to...
+       (mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
+       and BITPOS arguments type "HOST_WIDE_INT".
+       (mips_expand_unaligned_store): Rename to...
+       (mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
+       and BITPOS arguments type "HOST_WIDE_INT".
+       (override_options): Rename to...
+       (mips_override_options): ...this.
+       (print_operand): Rename to...
+       (mips_print_operand): ...this.
+       (print_operand_address): Rename to...
+       (mips_print_operand_address): ...this.
+       (mips_output_ascii): Remove the PREFIX argument.
+       (mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
+       rather than "int".
+       (mips_can_use_return_insn): Return a "bool" rather than an "int".
+       (mips_function_value): Remove the FUNC argument.  Use "rtx" instead
+       of "struct rtx_def *".
+       (mips_secondary_reload_class): Give the IN_P argument type "bool"
+       rather than "int".
+       (build_mips16_call_stub): Delete.
+       (mips_store_data_bypass_p): Return a "bool" rather than an "int".
+       (mips_use_ins_ext_p): Give the second and third arguments type
+       "HOST_WIDE_INT" rather than "rtx".
+       * config/mips/mips.h: Update after the above changes.  Tweak comments
+       and formatting.
+       (SECONDARY_INPUT_RELOAD_CLASS): Pass a boolean IN_P argument.
+       (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
+       (mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
+       element type from "char" to "bool".
+       (mips_section_threshold, sym_lineno, set_noat, mips_branch_likely)
+       (mips_cpu_info_table): Delete.
+       * config/mips/mips.md: Update after the above changes.  Tweak some
+       formatting.
+       * config/mips/mips-ps-3d.md: Likewise.
+       * config/mips/mips.c: Tweak comments and formatting.
+       Use NULL-like macros rather than 0 in various places.
+       (mips_section_threshold): Rename to...
+       (mips_small_data_threshold): ...this and give it an unsigned type.
+       (num_source_filenames): Remove explicit initialization.
+       (sdb_label_count): Likewise.
+       (sym_lineno): Delete.
+       (set_noat): Make static.
+       (mips_branch_likely): Likewise, and give it type "bool".
+       (mips_isa_info): Rename to...
+       (mips_isa_option_info): ...this.
+       (mips_flag_delayed_branch): Rename to...
+       (mips_base_delayed_branch): ...this.
+       (mips_split_addresses): Delete.
+       (mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
+       element type from "char" to "bool".
+       (mips_regno_to_class): Add an explicit array size.
+       (mips16_flipper): Change from type "int" to type "bool".
+       (mips_comp_type_attributes): Remove redundant FUNCTION_TYPE check.
+       (mips_tls_operand_p): Rename to...
+       (mips_tls_symbol_p): ...this.
+       (mips_global_symbol_p): Remove redundant "const".
+       (mips_offset_within_alignment_p): Simplify.
+       (mips_regno_mode_ok_for_base_p): Change the name of the last argument
+       to STRICT_P and give it type bool.
+       (mips_valid_base_register_p): Likewise.
+       (mips_classify_address): Likewise.
+       (mips_legitimate_address_p): Likewise.
+       (mips16_unextended_reference_p): Take the offset as an
+       "unsigned HOST_WIDE_INT" rather than an "rtx".  Simplify.
+       (mips_const_insns): Use IN_RANGE.
+       (mips_force_temporary): Remove an unnecessary copy_rtx.
+       (mips16_gp_pseudo_reg): Simplify.
+       (mips_split_symbol): Remove an unnecessary copy_rtx.
+       (mips_legitimize_tls_address): Only create registers if we need them.
+       (mips_legitimize_address): Use mips_split_plus.
+       (mips_move_integer): Swap DEST and TEMP arguments.  Rename local
+       variable COST to NUM_OPS.
+       (mips_legitimize_move): Use gen_lowpart.
+       (mips_rewrite_small_data): Rename the OP parameter to PATTERN.
+       (m16_check_op): Use IN_RANGE.
+       (mips_subword): Give the HIGH_P argument type "bool" rather than "int".
+       (mips_split_doubleword_move): Pass booleans to mips_subword.
+       (mips_output_move): Store the mode in a local variable.
+       Explicitly assert that this function does not deal with
+       MFLO and MFHI.  Use SMALL_OPERAND_UNSIGNED.  Make order of
+       cases more consistent.
+       (mips_relational_operand_ok_p): Rename to...
+       (mips_int_order_operand_ok_p): ...this.
+       (mips_canonicalize_comparison): Rename to...
+       (mips_canonicalize_int_order_test): ...this.
+       (mips_emit_int_relational): Rename to...
+       (mips_emit_int_order_test): ...this.  Store the mode in a local
+       variable.
+       (mips_reverse_fp_cond_p): Rename to...
+       (mips_reversed_fp_cond): ...this.
+       (mips_emit_compare): Make the order of the statements more consistent.
+       (mips_emit_scc): Rename to...
+       (mips_expand_scc): ...this.
+       (gen_conditional_branch): Rename to...
+       (mips_expand_conditional_branch): ...this.
+       (gen_conditional_move): Rename to...
+       (mips_expand_conditional_move): ...this.  Build the condition
+       separately from the main pattern.
+       (mips_gen_conditional_trap): Rename to...
+       (mips_expand_conditional_trap): ...this and take an rtx code instead
+       of an operands array.  Simplify.
+       (init_cumulative_args): Rename to...
+       (mips_init_cumulative_args): ...this.  Use memset rather than a
+       copy from a zeroed static.  Use prototype_p and stdarg_p.
+       (mips_arg_info): Rename to...
+       (mips_get_arg_info): ...this and put the INFO argument first.
+       (function_arg): Rename to...
+       (mips_function_arg): ...this and use "rtx" instead of
+       "struct rtx_def *".  Only split structures into chunks if 
+       TARGET_HARD_FLOAT, rather than checking !TARGET_SOFT_FLOAT on
+       a chunk-by-chunk basis.  Use SCALAR_FLOAT_TYPE_P instead of a
+       comparison with REAL_TYPE.  Rename local variable REG to REGNO
+       and make it unsigned.
+       (function_arg_advance): Rename to...
+       (mips_function_arg_advance): ...this.
+       (function_arg_boundary): Rename to...
+       (mips_function_arg_boundary): ...this.
+       (mips_pad_arg_upward): Use SCALAR_INT_MODE_P instead of a comparison
+       with MODE_INT.
+       (mips_fpr_return_fields): Use SCALAR_FLOAT_TYPE_P instead of a
+       comparison with REAL_TYPE.
+       (mips_function_value): Remove the FUNC argument.  Rename local
+       variable UNSIGNEDP to UNSIGNED_P.
+       (mips_return_in_memory): Use IN_RANGE.
+       (mips_setup_incoming_varargs): Pass a boolean rather than an int
+       to FUNCTION_ARG_ADVANCE.
+       (mips_gimplify_va_arg_expr): Rename local variable INDIRECT
+       to INDIRECT_P.  Remove a redundant mips_abi check.  Only calculate
+       SIZE and RSIZE if needed.
+       (mips16_stub): Rename FPRET to FP_RET_P and give it type "bool"
+       rather than "int".
+       (build_mips16_function_stub): Rename to...
+       (mips16_build_function_stub): ...this.
+       (build_mips16_call_stub): Rename to...
+       (mips16_build_call_stub): ...this.  Make static, and return a
+       "bool" rather than an "int".  Rename the ARG_SIZE argument to
+       ARGS_SIZE.  Rename the local variable FPRET to FP_RET_P and give
+       it type "bool".  Use "jr" rather than "j".  Use XNEW.  Simplify.
+       (mips_load_call_address): Give the SIBCALL_P argument type "bool"
+       rather than "int".
+       (mips_expand_call): Likewise.  Assert that MIPS16 calls via stubs
+       are not sibling ones.
+       (mips_emit_fcc_reload): Rename to...
+       (mips_expand_fcc_reload): ...this.
+       (mips_get_unaligned_mem): Give the WIDTH and BITPOS arguments type
+       "HOST_WIDE_INT".
+       (mips_expand_unaligned_load): Rename to...
+       (mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
+       and BITPOS arguments type "HOST_WIDE_INT".  Remove redundant
+       SUBREG_BYTE check.
+       (mips_expand_unaligned_store): Rename to...
+       (mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
+       and BITPOS arguments type "HOST_WIDE_INT".
+       (mips_use_ins_ext_p): Rename second and third arguments to WIDTH
+       and BITPOS and give them type "HOST_WIDE_INT" rather than "rtx".
+       Use IN_RANGE.
+       (mips_init_split_addresses): Replace with...
+       (mips_split_addresses_p): ...this new function.
+       (mips_init_relocs): Check mips_split_addresses_p () rather than
+       mips_split_addresses.  Always initialize mips_split_p with booleans.
+       (print_operand_reloc): Rename to...
+       (mips_print_operand_reloc): ...this.  Use a gcc_assert rather than
+       a fatal_error.
+       (print_operand): Rename to...
+       (mips_print_operand): ...this.
+       (print_operand_address): Rename to...
+       (mips_print_operand_address): ...this.  Use GP_REG_FIRST.
+       (mips_in_small_data_p): Simplify.
+       (mips_output_ascii): Remove the PREFIX argument and "register"
+       keywords.  Use the STRING parameter directly and cast to
+       "unsigned char".
+       (mips16e_collect_argument_save_p): Use IN_RANGE.
+       (mips_function_has_gp_insn): Simplify.
+       (mips_set_return_address): Use BITSET_P.
+       (mips_restore_gp): Use a separate statement to pick the base
+       register.
+       (mips_output_function_prologue): Use a local FRAME variable.
+       (mips_save_reg): Pass booleans to mips_subword.
+       (mips_expand_prologue): Use a local FRAME variable.  Use
+       cprestore_size to detect when .cprestore is needed.
+       (mips_restore_reg): Use GP_REG_FIRST.
+       (mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
+       rather than "int".  Use local FRAME and REGNO variables.
+       (mips_can_use_return_insn): Return a "bool" rather than an "int".
+       (mips_secondary_reload_class): Give the IN_P argument type "bool"
+       rather than "int".
+       (mips_linked_madd_p): Rename arguments to OUT_INSN and IN_INSN.
+       (mips_store_data_bypass_p): Return a "bool" rather than an "int".
+       (vr4130_swap_insns_p): Rename local variables to DEP1_P and DEP2_P.
+       (mips_74k_agen_init): Assume INSN satisfies USEFUL_INSN_P.
+       (mips_variable_issue): Do nothing unless INSN satisfies USEFUL_INSN_P.
+       (builtin_description): Rename to...
+       (mips_builtin_description): ...this.
+       (mips_bdesc): Rename to...
+       (mips_ps_bdesc): ...this.
+       (sb1_bdesc): Rename to...
+       (mips_sb1_bdesc): ...this.
+       (dsp_bdesc): Rename to...
+       (mips_dsp_bdesc): ...this.
+       (dsp_32only_bdesc): Rename to...
+       (mips_dsp_32only_bdesc): ...this.
+       (bdesc_map): Rename to...
+       (mips_bdesc_map): ...this.
+       (bdesc_arrays): Rename to...
+       (mips_bdesc_arrays): ...this.
+       (mips_prepare_builtin_arg): Rename OP to OPNO and ARGNUM to ARGNO.
+       Tweak error message.
+       (mips_expand_builtin_direct): Rename HAS_TARGET to HAS_TARGET_P.
+       Rename local variables I and J to OPNO and ARGNO respectively.
+       Assert that the number of arguments is no more than the number of
+       input operands.
+       (mips_expand_builtin_compare): Use an array of arguments rather
+       than an array of operands.  Assert that the number of operands is
+       as expected.
+       (add_constant): Rename to...
+       (mips16_add_constant): ...this.  Use XNEW.
+       (dump_constants_1): Rename to...
+       (mips16_emit_constants_1): ...this.  Use ALL_SCALAR_FIXED_POINT_MODE_P.
+       (dump_constants): Rename to...
+       (mips16_emit_constants): ...this.
+       (mips_sim_wait_reg, mips_sim_record_set): Use END_REGNO.
+       (mips_set_mips16_mode): Don't call mips_init_split_addresses.
+       Assign mips16_p to was_mips16_p.
+       (mips_parse_cpu): Tweak warning message.
+       (override_options): Rename to...
+       (mips_override_options): ...this.  Move the mips_cost initialization
+       out of the "shared with GAS" block.  Quote option names in error
+       messages.
+       (mips_conditional_register_usage): Make local variable REGNO unsigned.
+       (mips_order_regs_for_local_alloc): Remove register keyword.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * system.h (IN_RANGE): Cast each argument individually.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_set_mips16_mode) Say sorry for hard-float
+       MIPS16 code unless using o32 or o64.  
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_cannot_change_mode_class): Don't check
+       for modes smaller than 4 bytes.
+       * config/mips/mips.md (*movhi_internal, *movqi_internal): Remove
+       FPR alternatives.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips-protos.h (mips_output_aligned_bss): Delete.
+       * config/mips/linux.h (BSS_SECTION_ASM_OP): Delete.
+       (ASM_OUTPUT_ALIGNED_BSS): Delete.
+       * config/mips/mips.c (mips_output_aligned_bss): Delete.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_function_ok_for_sibcall): Only forbid
+       sibling calls to "mips16" functions if the function satisfies
+       const_call_insn_operand.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_va_start): Fix types in calls
+       to build_int_cst.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_rtx_costs): Only recognize reciprocals
+       if ISA_HAS_FP4.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.h (ISA_HAS_LDC1_SDC1): New macro.
+       * config/mips/mips.c (mips_split_64bit_move_p): Use ISA_HAS_LDC1_SDC1
+       instead of checking mips_isa.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * doc/invoke.texi (-mpaired-single): Don't say that the option
+       requires 64-bit code.
+       * config/mips/mips-protos.h (mips_modes_tieable_p): Declare.
+       * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): New macro.
+       (ISA_HAS_NMADD_NMSUB): Add a mode argument.  Return true for
+       V2SF if ISA_MIPS32R2.
+       (MODES_TIEABLE_P): Use mips_modes_tieable_p.
+       * config/mips/mips.c (mips_rtx_costs): Pass a mode argument
+       to ISA_HAS_NMADD_NMSUB.
+       (mips_split_doubleword_move): Handle V2SF.
+       (mips_modes_tieable_p): New function.
+       (override_options): Report a warning rather than an error when
+       -mpaired-single is used on ISAs that don't support it; use
+       ISA_HAS_PAIRED_SINGLE to check that case.
+       * config/mips/mips.md (MOVE64): New mode iterator.  Replace DI
+       and DF move splitters with a single MOVE64 splitter, thereby adding
+       a V2SF splitter too.
+       (SPLITF): Add TARGET_DOUBLE_FLOAT conditions to DI and DF.
+       Add a TARGET_FLOAT64 condition to TF.  Add V2SF to the iterator.
+       (HALFMODE): Add V2SF.
+       (*nmadd<mode>, *nmadd<mode>_fastmath, *nmsub<mode>)
+       (*nmsub<mode>_fastmath): Add a mode argument to ISA_HAS_NMADD_NMSUB.
+       (movv2sf_hardfloat_64bit): Tweak ordering of conditions.
+       (movv2sf_hardfloat_32bit): New pattern.
+       (load_low<mode>, load_high<mode>, store_word<mode>): Remove
+       TARGET_DOUBLE_FLOAT conditions.
+
+2007-10-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Point
+       saved CR2 offset to low 32 bits of regs->ccr rather than the whole
+       64-bit register in 64-bit libgcc.
+
+2007-10-20  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+       * config/avr/avr.c (avr_mcu_types): Add at90pwm2b, at90pwm3b.
+       * config/avr/avr.h (LINK_SPEC): Likewise.
+       (CRT_BINUTILS_SPECS): Likewsie.
+       * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+
+2007-10-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       * doc/invoke.texi (Warning Options): Move -w, -Werror, -Werror=
+       and -Wfatal-errors together.
+       
+2007-10-20  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/33812
+       * config/rs6000/rs6000.c (rs6000_emit_epilogue): Revert 2007-05-16
+       change for vrsave, ie restore after frame pop.
+
+2007-10-19  David S. Miller  <davem@davemloft.net>
+
+       * config/sparc/niagara2.md: Fix copyright notice.
+
+2007-10-19  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/23820
+       PR tree-optimization/24309
+       PR tree-optimization/33766
+       * testsuite/gcc.dg/tree-ssa/pr23820.c: New.
+       * testsuite/gcc.dg/tree-ssa/pr24309.c: New.
+       * testsuite/gcc.dg/tree-ssa/pr33766.c: New.
+       * testsuite/gcc.dg/tree-ssa/ltrans-3.c: XFAILed.
+       * tree-loop-linear.c (perfect_loop_nest_depth): New.
+       (linear_transform_loops): Use perfect_loop_nest_depth.
+       * lambda-code.c (perfect_nest_p): Outer loops in perfect nests 
+       should have a single condition: their exit.
+
+2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/33816
+       PR middle-end/32921
+       * stor-layout.c (layout_type): Assert that aggregates do not
+       have their alias sets set.
+       * alias.c (get_alias_set): Return alias set zero for incomplete
+       types, return the alias set of the element for incomplete array
+       types, but do not remember these.
+
+2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+       Revert
+       2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/32921
+       * tree.c (build_array_type): Do not re-layout unbound array
+       types.
+
+2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/32921
+       * tree.c (build_array_type): Do not re-layout unbound array
+       types.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_canonicalize_comparison):  Check
+       mips_relational_operand_ok_p before trying to rewrite the test.
+       Only calculate PLUS_ONE if needed.
+       (mips_emit_int_relational): Don't call mips_relational_operand_ok_p
+       here.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips16e_build_save_restore): Fix *OFFSET_PTR
+       calculation.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_call_tls_get_addr): Don't claim that
+       the call uses the incoming value of $2.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (mips_call_tls_get_addr): Use gen_const_mem
+       rather then gen_rtx_MEM.
+       (mips_setup_incoming_varargs): Use gen_frame_mem rather than
+       gen_rtx_MEM.
+       (mips_set_return_address): Likewise.
+       (mips_restore_gp): Likewise.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * config/mips/mips.c (gpr_mode): Delete.
+       (mips16e_build_save_restore): Use word_mode and UNITS_PER_WORD
+       instead of gpr_mode.
+       (mips_for_each_saved_reg): Likewise.
+       (mips_expand_prologue, mips_expand_epilogue): Likewise.
+       (override_options): Don't initialize gpr_mode.
+       * config/mips/mips.md (eh_return): Use word_mode instead of gpr_mode.
+
 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        * config/mips/mips.c (mips_hard_regno_nregs): Put the UNITS_PER_WORD
 
 2007-10-18  Chen Liqin  <liqin@sunnorth.com.cn>
 
-        * config.gcc : update score-*-elf(extra_objs).
-        * config/score/mac.md : Remove.
-        * config/score/misc.md : Remove.
-        * config/score/score7.md : Remove.
-        * config/score/score-mdaux.h : Remove.
-        * config/score/score-mdaux.c : Remove.
-        * config/score/score-version.h : Remove.
-        * config/score/score-generic.md : New.
-        * config/score/score3.h : New.
-        * config/score/score3.c : New.
-        * config/score/score7.h : New.
-        * config/score/score7.c : New.
-        * config/score/mul-div.S : add flush_cache score3 support.
-        * config/score/elf.h : Fix some typos.
-        * config/score/score.md : merge score3 and score7 pattern.
-        * config/score/score.c : use to seperate which target it used.
-        * config/score/score.h : use to seperate the target macro.
-        * config/score/score.opt : remove -mmac option , add -mscore3,
-        -mscore3d and -march OPTION support.
+       * config.gcc : update score-*-elf(extra_objs).
+       * config/score/mac.md : Remove.
+       * config/score/misc.md : Remove.
+       * config/score/score7.md : Remove.
+       * config/score/score-mdaux.h : Remove.
+       * config/score/score-mdaux.c : Remove.
+       * config/score/score-version.h : Remove.
+       * config/score/score-generic.md : New.
+       * config/score/score3.h : New.
+       * config/score/score3.c : New.
+       * config/score/score7.h : New.
+       * config/score/score7.c : New.
+       * config/score/mul-div.S : add flush_cache score3 support.
+       * config/score/elf.h : Fix some typos.
+       * config/score/score.md : merge score3 and score7 pattern.
+       * config/score/score.c : use to seperate which target it used.
+       * config/score/score.h : use to seperate the target macro.
+       * config/score/score.opt : remove -mmac option , add -mscore3,
+       -mscore3d and -march OPTION support.
  
 2007-10-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>
 
        IX86_BUILTIN_PSRADI128, IX86_BUILTIN_PSRLWI128,
        IX86_BUILTIN_PSRLDI128, IX86_BUILTIN_PSRLQI128]: Do not require
        immediate shift value.
-       config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
+       config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
        _mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
        _mm_srli_epi32, _mm_srli_epi64): Remove 'const' from count argument.
        Remove macros for !__OPTIMIZE__ case.
 
 2007-10-15  Razya Ladelsky  <razya@il.ibm.com>
 
-        * matrix-reorg.c (gate_matrix_reorg): Don't comment out whole
-        program flag.
+       * matrix-reorg.c (gate_matrix_reorg): Don't comment out whole
+       program flag.
 
 2007-10-15  Jakub Jelinek  <jakub@redhat.com>
 
 2007-10-10  Wolfgang Gellerich  <gellerich@de.ibm.com>
 
        * opth-gen.awk: Fixed generation of comment stating the origin
-          of options.h
+         of options.h
 
 2007-10-10  Kazu Hirata  <kazu@codesourcery.com>
 
        * config/m68k/m68k.h (ASSEMBLER_DIALECT): New.
 
 2007-10-06  Eric Botcazou  <ebotcazou@adacore.com>
-            Nathan Froyd  <froydnj@codesourcery.com>
+           Nathan Froyd  <froydnj@codesourcery.com>
 
        * dwarf2out.c (dwarf2out_frame_init): Check for DWARF2_FRAME_INFO
        when determining whether to record INCOMING_RETURN_ADDR_RTX.
        * ra-conflict.c: Include "sparseset.h".
        (conflicts): Change to HOST_WIDEST_FAST_INT.
        (allocnos_live): Redefine variable as a sparseset.
-       (SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE, GET_ALLOCNO_LIVE): Delete macros.
+       (SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE, GET_ALLOCNO_LIVE):
+       Delete macros.
        (allocno_row_words): Removed global variable.
        (partial_bitnum, max_bitnum, adjacency_pool, adjacency): New variables.
        (CONFLICT_BITNUM, CONFLICT_BITNUM_FAST): New defines.
        Use the FOR_EACH_CONFLICT macro.
        * ra.h: Comments updated.
        (conflicts): Update prototype to HOST_WIDEST_FAST_INT.
-       (partial_bitnum, max_bitnum, adjacency, adjacency_pool): Add prototypes.
+       (partial_bitnum, max_bitnum, adjacency, adjacency_pool):
+       Add prototypes.
        (ADJACENCY_VEC_LENGTH, FOR_EACH_CONFLICT): New defines.
        (adjacency_list_d, adjacency_iterator_d): New types.
        (add_neighbor, adjacency_iter_init, adjacency_iter_done,
 2007-09-25  Bernd Schmidt  <bernd.schmidt@analog.com>
 
        * config/bfin/bfin.c (expand_prologue_reg_save,
-       expand_epilogue_reg_restore): Code to save and restore I/M/B/L regs and
-       ASTAT moved here...
+       expand_epilogue_reg_restore): Code to save and restore I/M/B/L regs
+       and ASTAT moved here...
        (expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
        ... from here.  New argument ALL; callers changed.
        (n_regs_saved_by_prologue): Count ASTAT for plain saveall functions.