OSDN Git Service

2008-09-23 Kai Tietz <kai.tietz@onevision.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f794028..1d13deb 100644 (file)
@@ -1,3 +1,966 @@
+2008-09-23  Kai Tietz  <kai.tietz@onevision.com>
+
+       *config/i386/i386.c (ix86_function_ok_for_sibcall): Correct
+       check for sibcall support for w64.
+
+2008-09-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * c-ppoutput.c (cb_used_define): Do nothing for a builtin node.
+
+2008-09-23  Aldy Hernandez  <aldyh@redhat.com>
+
+       * c-tree.h: Add argument to c_objc_common_truthvalue_conversion,
+       parser_build_binary_op.
+       * c-decl.c (build_enumerator): Pass location to build_binary_op.
+       * c-typeck.c (build_array_ref): Same.
+       (parser_build_unary_op): New location argument.
+       (pointer_diff): Pass location to build_binary_op,
+       c_objc_common_truthvalue_conversion.
+       (build_modify_expr): Same.
+       (build_unary_op): New location argument.
+       (build_binary_op): New location argument.
+       (c_objc_common_truthvalue_conversion): Pass location to
+       c_*common_truthvalue_conversion.
+       * c-convert.c (convert): Same.
+       * c-common.c (binary_op_error): New location argument.
+       (pointer_int_sum): Pass location to build_binary_op.
+       (c_common_truthvalue_conversion): New location argument.
+       (warn_for_sign_compare): Same.
+       * c-common.h: Add location argument to c_common_truthvalue_conversion,
+       binary_op_error, build_binary_op, warn_for_sign_compare.
+       * c-parser.c (c_parser_condition): Pass location to
+       c_*common_truthvalue_conversion.
+       (c_parser_conditional_expression): Save condition's location and pass
+       it on down.
+       (c_parser_binary_expression): Same, but for the binary operator's
+       location.
+       (c_parser_omp_for_loop): Pass location to
+       c_objc_common_truthvalue_conversion.
+
+2008-09-23  Martin Jambor  <mjambor@suse.cz>
+
+       * cgraph.c (cgraph_free_edge): Use sizeof(*e).
+       (cgraph_node_remove_callees): New temporary f.  Hold the next item
+       in f when looping.
+       (cgraph_node_remove_callers): Likewise.
+
+       * ipa-prop.c (ipa_edge_removal_hook): Use ATTRIBUTE_UNUSED.
+       (ipa_node_removal_hook): Likewise.
+
+       * doc/gimple.texi (gimple_copy_call_skip_args): Changed to
+       gimple_call_copy_skip_args and moved to the gimple_call section.
+       * gimple.c (gimple_copy_call_skip_args): Renamed to
+       gimple_call_copy_skip_args.  Changed al users.
+
+2008-09-22  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * ira-color.c (start_allocno_priorities): Rename to
+       setup_allocno_priorities.  Use costs and
+       ALLOCNO_EXCESS_PRESSURE_POINTS_NUM instead of frequencies and
+       range lengths.  Get rid off doubles.
+       (ira_fast_allocations): Call start_allocno_priorities.
+       
+2008-09-22  David Daney  <ddaney@avtrex.com>
+
+       PR target/37593
+       * config/mips/mips.h (FUNCTION_PROFILER): Call _mcount via a
+       register if TARGET_LONG_CALLS.
+
+2008-09-22  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/37145
+       * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Re-enable
+       value-numbering union accesses with their offset and size only.
+       (visit_reference_op_load): Fix simplification of inserted conversions.
+       * tree-ssa-pre.c (find_or_generate_expression): Do not
+       recursively generate expressions if running FRE.
+
+2008-09-22  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * config/mips/mips.h (ISA_HAS_BADDU): New macro.
+       * config/mips/mips.md (*baddu_si_eb, *baddu_si_el,
+       *baddu_di<mode>): New patterns.
+
+2008-09-22  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/37145
+       * tree-ssa-pre.c (fully_constant_expression): Simplify builtin calls.
+       (phi_translate_1): Constant fold references.
+
+2008-09-22  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/37482
+       * tree-vectorizer.h (struct _slp_instance): Add new field.
+       (SLP_INSTANCE_FIRST_LOAD_STMT): New.
+       (get_earlier_stmt): New function.
+       * tree-vect-analyze.c (vect_find_first_load_in_slp_instance): New
+       function.
+       (vect_analyze_slp_instance): Set SLP_INSTANCE_FIRST_LOAD_STMT.
+       * tree-vect-transform.c (vect_finish_stmt_generation): Remove the
+       asserts that GSI points to the scalar statement being vectorized.
+       Set new statement location according to GSI.
+       (vect_schedule_slp_instance): Use GSI of
+       SLP_INSTANCE_FIRST_LOAD_STMT when vectorizing loads.
+
+2008-09-21  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-cp.c (ipcp_estimate_growth): Check recursive calls.
+       (ipcp_insert_stage): Update dead_nodes bitmap.
+
+2008-09-22  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR target/37528 
+       * config/i386/t-cygming (SHLIB_LC): Remove.
+       (SHLIB_LINK): Don't add static objects to SHLIB_IMPLIB
+       * config/i386/t-cygwin (SHLIB_LC): Specify all required
+       libraries.
+
+2008-09-22  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR middle-end/37170
+       PR middle-end/37280
+       * final.c (mark_symbol_ref_as_used): New helper function.
+       (output_operand): Instead of just looking inside MEMs for
+       SYMBOL_REFs, use new helper function and for_each_rtx.
+       * varasm.c (assemble_external): Move #ifndef ASM_OUTPUT_EXTERNAL
+       to after weak-handling.  Don't mark decls with TREE_STATIC as weak.
+       Make head comment more general.
+       * config/darwin.c (machopic_output_indirection): Handle weak
+       references here, like in assemble_external.
+
+2008-09-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc-protos.h (gen_compare_operator): Declare.
+       (sparc_emit_float_lib_cmp): Change return type.
+       * config/sparc/sparc.c (gen_compare_reg): Add comment about TFmode.
+       (gen_compare_operator): New function.
+       (sparc_emit_float_lib_cmp): Return the new operator to be used in
+       the comparison sequence.  Minor tweaks.
+       * config/sparc/sparc.md (seq, sne, sgt, slt, sge, sle): Assert
+       that the final operator and the result of sparc_emit_float_lib_cmp
+       match for software TFmode; use emit_insn in lieu of emit_jump_insn.
+       (beq, bne, bgt, blt, bge, ble, bunordered, bordered, bungt, bunlt,
+       buneq, bunge, bunle, bltgt): Assert that the final operator and the
+       result of sparc_emit_float_lib_cmp match for software TFmode.
+       (movqicc, movhicc, movsicc, movdicc): Merge into...
+       (mov<I:mode>cc): ...this.
+       (movsfcc, movdfcc, movtfcc): Merge into...
+       (mov<F:mode>cc): ...this.
+       (movqi_cc_sp64, movhi_cc_sp64, movsi_cc_sp64, movdi_cc_sp64): Merge
+       into...
+       (mov<I:mode>_cc_v9): ...this.
+       (movdi_cc_sp64_trunc): Delete.
+       (movqi_cc_reg_sp64, movhi_cc_reg_sp64, movsi_cc_reg_sp64,
+       movdi_cc_reg_sp64): Merge into...
+       (mov<I:mode>_cc_reg_sp64): ...this.
+       (movsf_cc_sp64): Rename into...
+       (movsf_cc_v9): ...this.
+       (movdf_cc_sp64): Rename into...
+       (movdf_cc_v9): ...this.
+       (movtf_cc_hq_sp64): Rename into...
+       (movtf_cc_hq_v9): ...this.
+       (movtf_cc_sp64): Rename into...
+       (movtf_cc_v9): ...this.  Adjust for renaming of movdf_cc_sp64.
+
+2008-09-21  Diego Novillo  <dnovillo@google.com>
+
+       * doc/gccint.texi: Include generic.texi and gimple.texi.
+       Re-order index.
+       * doc/tree-ssa.texi (GENERIC): Move to generic.texi.
+       (GIMPLE): Move to gimple.texi.
+       (Annotations): Remove references to to stmt_ann_t and
+       ssa_name_ann_t.
+       (SSA Operands): Rename from 'Statement Operands'.
+       * doc/generic.texi: New.
+       * doc/gimple.texi: New.
+       * Makefile.in (TEXI_GCCINT_FILES): Add generic.texi and
+       gimple.texi.
+       * Makefile.in (TEXI_GCCINT_FILES):
+       * gimple.c (gimple_copy_call_skip_args): Rename from
+       giple_copy_call_skip_args.  Update all users.
+       * doc/gimple.texi (gimple_copy_call_skip_args): Document.
+
+2008-09-21  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/37539
+       * tree-vect-transform.c (vect_transform_strided_load): Save vector
+       statement in related statement field only for the first load of the
+       group of loads with the same data reference.
+
+2008-09-20  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * config/mips/mips.h (TUNE_OCTEON): New macro.
+       * config/mips/mips.c (mips_issue_rate): Return 2 for Octeon.
+       (mips_multipass_dfa_lookahead): Return 2 for Octeon.
+       * config/mips/octeon.md: New file.
+       * config/mips/mips.md: Include octeon.md.  Restore
+       semi-alphabetical order of include files.
+
+2008-09-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/37571
+       * config/i386/i386.md (*jcc_fused_1): Removed.
+       (*jcc_fused_2): Likewise.
+       (*jcc_fused_3): Likewise.
+       (*jcc_fused_4): Likewise.
+
+2008-09-20  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Define.
+       (IRA_COVER_CLASSES): Refer to TARGET_IRA_COVER_CLASSES.
+       * target.h (gcc_target): Add ira_cover_classes.
+       * ira.c: Remove IRA_COVER_CLASSES guards.
+       (setup_cover_and_important_classes): Use targetm.ira_cover_classes
+       instead of IRA_COVER_CLASSES.
+       (setup_cover_and_important_classes): Remove IRA_COVER_CLASSES guard.
+       (setup_class_translate): Likewise.
+       (setup_reg_class_intersect_union): Likewise.
+       (find_reg_class_closure): Replace IRA_COVER_CLASSES guard with a
+       test of targetm.ira_cover_classes.
+       * opts.c (decode_options): Use targetm.ira_cover_classes instead
+       of IRA_COVER_CLASSES.
+       * target-def.h (TARGET_IRA_COVER_CLASSES): Define.
+       (TARGET_INITIALIZER): Include it.
+       * targhooks.h (default_ira_cover_classes): Declare.
+       * targhooks.c (default_ira_cover_classes): New function.
+
+2008-09-19  Bob Wilson  <bob.wilson@acm.org>
+       
+       * config/xtensa/xtensa.md (reload<mode>_literal): Handle MEM operands.
+       
+2008-09-19  Ian Lance Taylor  <iant@google.com>
+
+       * varasm.c (narrowing_initializer_constant_valid_p): Return
+       NULL_TREE if ENDTYPE is not an integer.
+
+2008-09-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR tree-opt/30930
+       * tree-ssa.c (execute_update_addresses_taken): Also update
+       DECL_GIMPLE_REG_P for vector and complex types.
+
+2008-09-19  Andrew MacLeod  <amacleod@redhat.com>
+           Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/37567
+       * tree-ssa-ter.c (free_temp_expr_table): Make sure fields are actually
+       empty before freeing them.
+       (find_replaceable_exprs): Move asserts to free_temp_expr_table.
+
+2008-09-18  Bob Wilson  <bob.wilson@acm.org>
+
+       * configure.ac: Add HAVE_AS_TLS check for Xtensa.
+       * config/xtensa/predicates.md (tls_symbol_operand): New.
+       * config/xtensa/xtensa.c (TARGET_HAVE_TLS): Define.
+       (TARGET_CANNOT_FORCE_MEM): Define.
+       (xtensa_tls_symbol_p): New.
+       (xtensa_emit_move_sequence): Check for and legitimize TLS addresses.
+       (xtensa_legitimate_address_p): Disallow constant pool TLS references.
+       (xtensa_tls_module_base): New.
+       (xtensa_call_tls_desc): New.
+       (xtensa_legitimize_tls_address): New.
+       (xtensa_legitimize_address): Handle TLS symbols.
+       (xtensa_tls_referenced_p_1): New.
+       (xtensa_tls_referenced_p): New.
+       (xtensa_output_addr_const_extra): Handle UNSPEC_TPOFF and UNSPEC_DTPOFF.
+       (XTENSA_BUILTIN_THREAD_POINTER): New.
+       (XTENSA_BUILTIN_SET_THREAD_POINTER): New.
+       (xtensa_init_builtins): Set NOTHROW and READONLY for umulsidi3 builtin.
+       Add declarations for __builtin_thread_pointer and
+       __builtin_set_thread_pointer.
+       (xtensa_fold_builtin): Recognize new builtins.
+       (xtensa_expand_builtin): Expand new builtins.
+       * config/xtensa/xtensa.h (XCHAL_HAVE_THREADPTR): Define default value.
+       (TARGET_THREADPTR): Define.
+       (HAVE_AS_TLS): Define default value.
+       (LEGITIMATE_CONSTANT_P): Disallow TLS references.
+       * config/xtensa/xtensa.md (UNSPEC_TPOFF, UNSPEC_DTPOFF): New.
+       (UNSPEC_TLS_FUNC, UNSPEC_TLS_ARG, UNSPEC_TLS_CALL, UNSPEC_TP): New.
+       (UNSPECV_SET_TP): New.
+       (sym_TPOFF, sym_DTPOFF): New.
+       (load_tp, set_tp, tls_func, tls_arg, tls_call): New.
+       * config/xtensa/xtensa-protos.h (xtensa_tls_referenced_p): Declare.
+       * configure: Regenerated.
+       
+2008-09-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/37394
+       * config/ia64/ia64.c (ia64_optimization_options): Move
+       checking and setting flag_schedule_insns_after_reload and
+       ia64_flag_schedule_insns2 back to ...
+       (ia64_override_options): Here.
+
+2008-09-18  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR rtl-opt/37451
+       * loop-doloop.c (doloop_modify): New argument zero_extend_p and
+       zero extend count after the correction to it is done.
+       (doloop_optimize): Update call to doloop_modify, don't zero extend
+       count before call.
+
+2008-09-18  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (ipcp_estimate_growth): Return 0 instead of false.
+
+       * ipa-prop.c: Correct comments.
+       * ipa-prop.h: Likewise.
+
+2008-09-18  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/37448
+       * ipa-reference.c (ipa_reference_local_vars_info_d,
+       ipa_reference_global_vars_info_d,
+       ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
+       ipa_reference_vars_info_t): Move here from ipa-reference.h
+       (node_duplication_hook_holder, node_removal_hook_holder): New.
+       (get_reference_vars_info_from_cgraph): Rename to ...
+       (get_reference_vars_info): ... this one, use cgraph uids.
+       (get_local_reference_vars_info, get_global_reference_vars_info):
+       Use cgraph instead of decl.
+       (ipa_reference_get_read_local, ipa_reference_get_written_local): Remove.
+       (ipa_reference_get_read_global, ipa_reference_get_not_read_global
+       ipa_reference_get_written_global, ipa_reference_get_not_written_global): Use
+       cgraph argument.
+       (check_call): Simplify avail check.
+       (scan_stmt_for_static_refs): Update.
+       (propagate_bits): Update.
+       (merge_callee_local_info): Remove.
+       (init_function_info): Use cgraph nodes.
+       (clean_function_local_data): Break out from ...
+       (clean_function): ... here.
+       (copy_local_bitmap, copy_global_bitmap): New functions.
+       (duplicate_node_data, remove_node_data): New functions.
+       (generate_summary): Register hooks; use visibility instead of
+       master clones.
+       (propafate): Use cgraph nodes; copy bitmap to each node in cycle.
+       * ipa-reference.h (ipa_reference_local_vars_info_d,
+       ipa_reference_global_vars_info_d,
+       ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
+       ipa_reference_vars_info_t): Move to ipa-reference.c
+       (ipa_reference_get_read_local, ipa_reference_get_written_local):
+       Remove.
+       (ipa_reference_get_read_global, ipa_reference_get_written_global,
+       ipa_reference_get_not_read_global, ipa_reference_get_not_written_global):
+       Update prototype.
+       * ipa-pure-const.c (funct_state_vec): Turn into VECtor.
+       (init_state): Remove.
+       (node_duplication_hook_holder, node_removal_hook_holder): New.
+       (get_function_state, set_function_state): Use VECtor.
+       (analyze_function): Check body availability.
+       (add_new_function): Likewise.
+       (duplicate_node_data, remove_node_data): New.
+       (generate_summary): Register hooks; do not care about clones.
+       (propafate): Do not care about clones; recursive functions are not looping.
+       * ipa-utils.c (searchc, ipa_utils_reduced_inorder): Do not skip clones.
+       * ipa-prop.c (edge_removal_hook_holder, node_removal_hook_holder,
+       * edge_duplication_hook_holder, node_duplication_hook_holder): Make
+       static.
+       * tree-flow.h (function_ann_d): Remove reference_vars_info.
+       * tree-ssa-opreands.c (add_call_clobber_ops, add_call_read_ops): Update call of
+       ipa-reference accesors.
+
+2008-09-18  Simon Baldwin  <simonb@google.com>
+
+       * c-opts.c (c_common_handle_option): Add handling for
+       -Wbuiltin-macro-redefined command line option.
+       * c.opt: Added builtin-macro-redefined option.
+       * doc/invoke.texi (Warning Options): Add -Wbuiltin-macro-redefined
+       documentation.
+
+2008-09-18  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/37258
+       * tree-ssa-sccvn.c (vn_phi_compute_hash): Include the precision
+       and signedness for integral types.
+       (vn_phi_eq): Require compatible types.
+
+2008-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/34037
+       * gimplify.c (gimplify_type_sizes): When not optimizing, ensure
+       TYPE_MIN_VALUE and TYPE_MAX_VALUE is not is not DECL_IGNORED_P
+       VAR_DECL.
+       * cfgexpand.c (expand_used_vars): Keep DECL_ARTIFICIAL
+       !DECL_IGNORED_P vars in local_decls list for instantiate_decls,
+       ggc_free other TREE_LIST nodes from that chain.
+       * function.c (instantiate_decls): Instantiate also DECL_RTL
+       of vars in cfun->local_decls, free that list afterwards.
+
+2008-09-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sol2.h (WIDEST_HARDWARE_FP_SIZE): Move to...
+       * config/sparc/sparc.h (WIDEST_HARDWARE_FP_SIZE): ...here.
+
+2008-09-18  Andrew MacLeod  <amacleod@redhat.com>
+
+       * tree-outof-ssa.c (eliminate_useless_phis): Fix formatting.
+       * tree-flow-.h (struct immediate_use_iterator_d): Fix comment.
+
+2008-09-18  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/37102
+       * tree-outof-ssa.c (remove_gimple_phi_args): Remove all the PHI args
+       from a node. Check to see if another PHI is dead.
+       (eliminate_useless_phis): Rename from eliminate_virtual_phis and 
+       remove real PHIs which have no uses.
+       (rewrite_out_of_ssa): Call eliminate_useless_phis.
+
+2008-09-18  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/37284
+       * tree-cfg.c (remove_useless_stmts_1): Remove
+       GIMPLE_CHANGE_DYNAMIC_TYPE if not optimizing.
+
+2008-09-18  Nick Clifton  <nickc@redhat.com>
+
+       * config/frv/frv.h (IRA_COVER_CLASSES): Define.
+       (SECONDARY_INPUT_RELOAD_CLASS): Omit unused argument in call
+       to frv_secondary_reload_class.
+       (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
+       * config/frv/frv.c (TARGET_SECONDARY_RELOAD): Define.
+       (frv_secondary_reload_class): Omit unused parameter.
+       (frv_secondary_reload): New function.  Handle the case when
+       secondary_reload_class() is called before the reload_(in|out)
+       _optabs have been initialised.
+       * config/frv/frv-protos.h (frv_secondary_reload_class): Omit
+       unused parameter.
+       * config/frv/frv.md: Define an exclusion set between fr550_m0
+       and fr550_f0.
+
+2008-09-18  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/37456
+       * tree-ssa-reassoc.c (build_and_add_sum): If the stmt we
+       want to insert after ends a BB insert on the single fallthru
+       outgoing edge.
+
+2008-09-18  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * doc/invoke.texi: Document -mhard-dfp, -mno-hard-dfp.
+       Mention -march=z9-109, z9-ec and z10.
+
+2008-09-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl-optimization/37544
+       * regrename.c (maybe_mode_change): Exit early when copy_mode
+       is narrower than orig_mode and narrower than new_mode.
+
+2008-09-18  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR middle-end/37499
+       * sched-int.h (struct _haifa_insn_data): Remove unused field
+       ref_count.
+
+       * sched-rgn.c (ref_counts): Remove.
+       (insn_referenced): New static variable.
+       (INSN_REF_COUNT): Remove.
+       (sched_run_compute_dependencies): Use insn_referenced instead of
+       INSN_REF_COUNT.
+       (add_branch_dependences): Likewise.  Delete dead assignment.
+
+2008-09-17  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * haifa-sched.c (dep_cost_1): Recognize the producer even if the
+       consumer is an asm.  Add comment why this is important.
+       (choose_ready): Add comment to the "INSN_CODE (insn) >= 0 ||
+       recog_memoized (insn) < 0" assert.  Put ENABLE_CHECKING around
+       it.
+
+2008-09-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * expr.c (emit_group_store): Do not shift before moving via a
+       stack slot.
+
+2008-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * varasm.c (initializer_constant_valid_p): Forbid view-conversions
+       from aggregate to non-aggregate type if the bit pattern is not fully
+       preserved afterwards.
+
+2008-09-17  Richard Guenther  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_types_in_gimple_assign): Rename to ...
+       (verify_gimple_assign): ... this.  Split into ...
+       (verify_gimple_assign_unary): ... this,
+       (verify_gimple_assign_binary): ... that,
+       (verify_gimple_assign_single): ... and this.
+       (verify_types_in_gimple_stmt): Call verify_gimple_assign.
+       Fix GIMPLE_CHANGE_DYNAMIC_TYPE handling.
+       (verify_types_in_gimple_min_lval): Handle TARGET_MEM_REF.
+       (verify_types_in_gimple_reference): Be forgiving with
+       VIEW_CONVERT_EXPRs.
+       (verify_gimple_phi): Deal with virtual operands.
+
+       * tree.def (PREDICT_EXPR): Change to tcc_expression.
+
+2008-09-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * tree.c (get_callee_fndecl): Don't call the language hook.
+       * langhooks.h (lang_hooks): Remove lang_get_callee_fndecl.
+       * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): Kill.
+       (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_GET_CALLEE_FNDECL.
+
+2008-09-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.c (protected_set_expr_location): Don't unnecessarily
+       check for error_mark_node.
+
+2008-09-17  Art Haas  <ahaas@impactweather.com>
+
+       * ipa-reference.c (analyze_function): Declare step only if
+       ENABLE_CHECKING is defined.
+
+2008-09-17  Jan Hubicka  <jh@suse.cz>
+
+       PR c++/18071
+       * tree.h (DECL_INLINE): remove.
+       (DECL_DECLARED_INLINE_P): Update docs.
+       (DECL_NO_INLINE_WARNING_P): new.
+       (tree_function_decl): Replace inline_flag by no_inline_warning_flag.
+       * tree-inline.c (inlinable_function_p): Set DECL_NO_INLINE_WARNING_P.
+
+2008-09-17  Jakub Jelinek  <jakub@redhat.com>
+           Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       PR bootstrap/37441
+       * dwarf2out.c (dwarf2out_do_cfi_asm) [MIPS_DEBUGGING_INFO]: Return
+       false.
+
+2008-09-17  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-reference.c (ipa_obstack): Remove.
+       (local_info_obstack, global_info_obstack): New.
+       (add_static_var): We now handle variables only.
+       (mark_address_taken, mark_load, mark_store): New functions based on ...
+       (check_operand): ... remove.
+       (get_asm_stmt_operands): Rename to ...
+       (check_asm_memory_clobber): ... this. Look only for memory clobber.
+       (scan_stmt_for_static_refs): Rewrite.
+       (scan_op_for_static_refs): Rename to ...
+       (scan_initializer_for_static_refs): do not look for VAR_DECL
+       initializers; stop recursion on types and decls.
+       (ipa_init): Use proper obstacks.
+       (analyze_variable): Use scan_initializer_for_static_refs.
+       (init_function_info): Use local obstack.
+       (analyze_function): Simplify.
+       (add_new_function): We don't need visited_nodes obstack.
+       (generate_summary): Use proper obstacks; cleanup after propagation.
+
+2008-09-17  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/37385
+       PR tree-optimization/37491
+       * alias.c (get_alias_set): Use the canonical type.
+       * tree-vect-transform.c (vectorizable_store): Use the type of
+       the lhs for the vector type.  Adjust checking.
+       (vectorizable_load): Adjust checking.
+
+2008-09-16  Jakub Jelinek  <jakub@redhat.com>
+           Adam Nemet  <anemet@caviumnetworks.com>
+
+       PR rtl-optimization/37483
+       * ifcvt.c (noce_try_sign_mask): Use if_info->test_bb instead of
+       if_info->insn_b's bb as argument to optimize_bb_for_speed_p.
+       Rearrange code to better match the original comment.  Check
+       t_unconditional first.  Improve comment.
+
+2008-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/37529
+       * gimplify.c (gimplify_expr) <case GOTO_EXPR>: If gimplification of
+       GOTO_DESTINATION failed, don't create GIMPLE_GOTO.
+
+       PR c++/37530
+       * gimplify.c (gimplify_expr) <case TRY_CATCH_EXPR>: Don't create
+       GIMPLE_TRY if cleanup sequence is empty.
+
+2008-09-16  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR middle-end/37263
+       * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Prefer the
+       eliminate IV if the cost are the same.
+
+2008-09-16  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/37380
+       * tree-sra.c (sra_build_assignment): Do not call the gimplifier
+       if not necessary.
+
+2008-09-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/37508
+       * tree-vrp.c (simplify_truth_ops_using_ranges): Also allow -1.
+
+2008-09-15  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (movsf_ie): Fix length for TARGET_SH2A.
+
+2008-09-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * config/rs6000/rs6000.md (floatsidf2): Rewrite PowerPC64 case to
+       use gen_floatdidf2 directly.
+       (floatunssidf2): Likewise.
+       (floatsidf_ppc64_mfpgpr): Remove.
+       (floatsidf_ppc64): Remove.
+       (floatunssidf_ppc64): Remove.
+
+2008-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * ira-color.c (finish_cost_update): Free update_cost_queue_elems
+       rather than update_cost_queue.
+
+       * tree-ssa-alias.c (init_alias_info): Call bitmap_obstack_release
+       in every call starting with the second one, instead of only when
+       alias_bitmap_obstack.elements != NULL.
+
+       * tree-predcom.c (filter_suitable_components): Free all refs in
+       act->refs vector before calling release_component.
+       (add_ref_to_chain): Free ref if not adding it to chain->refs.
+
+       * tree-data-ref.c (free_subscripts): Free all subscript objects.
+
+       * tree-loop-linear.c (linear_transform_loops): Initialize
+       lambda_obstack only after calling perfect_loop_nest_depth.
+       Goto free_and_continue instead of just continue for later failures.
+
+       PR middle-end/37479
+       * doc/invoke.texi: Document -fno-dwarf2-cfi-asm.
+
+       PR libmudflap/36397
+       * tree-mudflap.c (mf_xform_derefs_1): Handle VIEW_CONVERT_EXPR.
+
+2008-09-14  Andreas Schwab  <schwab@suse.de>
+
+       * tree-call-cdce.c (check_target_format): Accept Motorola formats.
+
+2008-09-14  Jan Hubicka  <jh@suse.cz>
+
+       * invoke.texi (-fconserve-stack): Document.
+       * opts.c (decode_options): Handle conserve_stack.
+       * common.opt (fconvserve_stack): New.
+
+2008-09-14  David Edelsohn  <edelsohn@gnu.org>
+
+       * config.host: Add x-aix to host_xmake_file.
+       * config/rs6000/t-aix52: Do not override LDFLAGS.
+       * config/rs6000/x-aix: New file.
+
+2008-09-14  Andy Hutchinson  <hutchinsonandy@aim.com>
+
+       PR target/19636
+       PR target/24894
+       PR target/31644
+       PR target/31786
+       * config/avr/avr.c (legitimate_address_p): Fix problem where subreg
+       is not recognized as a valid register usage. Allow REG_X to be used
+       as a base pointer.
+       * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Remove code that
+       forces a reload when using a base register.
+
+2008-09-14  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/cygming-crtend.c (register_frame_ctor): If
+       DEFAULT_USE_CXA_ATEXIT, register __gcc_deregister_frame
+       directly with atexit.
+       (deregister_frame_ctor): Rename to ...
+       (deregister_frame_dtor): Use to call __gcc_deregister_frame
+       if !DEFAULT_USE_CXA_ATEXIT.
+
+2008-09-13  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c: Include value-prof.h
+       * Makefile.in (cgraph.o): Add value-prof.h dependency.
+
+2008-09-13  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/32581
+       * tree-profile.c (add_abnormal_goto_call_edges): New function.
+       (tree_gen_interval_profiler, tree_gen_pow2_profiler,
+       tree_gen_one_value_profiler, tree_gen_average_profiler,
+       tree_gen_ic_func_profiler, tree_gen_ior_profiler): Use it.
+
+2008-09-13  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_expand_movmem, ix86_expand_movstr): Avoid processing
+       too many bytes on misalligned blocks.
+
+2008-09-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/cfg.texi: Fix some typos.
+       * doc/extend.texi: Likewise.
+       * doc/install.texi: Likewise.
+       * doc/invoke.texi: Likewise.
+       * doc/rtl.texi: Likewise.
+       * doc/tree-ssa.texi: Likewise.
+
+2008-09-13  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/30141
+       * tree-nested.c (finalize_nesting_tree_1): Generate valid
+       gimple stores for memory rhs.
+
+2008-09-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR rtl-optimization/37489
+       * cse.c (fold_rtx): Don't return const_true_rtx for float
+       compare if FLOAT_STORE_FLAG_VALUE is undefined.
+
+2008-09-13  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/37392
+       * tree-inline.c (remap_gimple_stmt): Do not remap return value.
+
+2008-09-13  Martin Jambor  <mjambor@suse.cz>
+           Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (free_edges): New variable.
+       (NEXT_FREE_EDGE): New macro.
+       (cgraph_free_edge): New function.
+       (cgraph_remove_edge): Call cgraph_remove_edge_1.
+       (cgraph_node_remove_callees): Likewise.
+       (cgraph_node_remove_callers): Likewise.
+       (cgraph_create_edge): Reuse edges from the free list.  Do not
+       update uid if doing so.
+       (cgraph_remove_*_hook): Add free call.
+
+2008-09-13  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * ira-color.c (conflict_allocno_vec): Delete.
+       (update_cost_queue_elem): New structure.
+       (update_cost_queue): New variable.
+       (update_cost_queue_tail): Likewise.
+       (update_cost_queue_elems): Likewise.
+       (allocno_update_cost_check): Delete.
+       (initiate_cost_update): Allocate update_cost_queue_elems
+       instead of allocno_update_cost_check.
+       (finish_cost_update): Update the free()s accordingly.
+       (start_update_cost): New function.
+       (queue_update_cost): Likewise.
+       (get_next_update_cost): Likewise.
+       (update_copy_costs_1): Inline into...
+       (update_copy_costs): ...here.  Use a queue instead of recursive calls.
+       Use cover_class instead of ALLOCNO_COVER_CLASS (another_allocno),
+       once we've established they are equal.  Don't allocate update
+       costs if there is nothing to add to them.
+       (update_conflict_hard_regno_costs): Remove ALLOCNO and
+       DIVISOR arguments.  Use a queue instead of recursive calls;
+       process all the allocnos in the initial queue, rather than
+       a single allocno.
+       (assign_hard_reg): Use queue_update_cost instead of
+       conflict_allocno_vec.  Queue coalesced allocnos instead
+       of calling update_conflict_hard_regno_costs for each one.
+       Just call update_conflict_hard_regno_costs once for the
+       entire queue.
+       (ira_color): Remove conflict_allocno_vec handling.
+
+2008-09-12  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/37484
+       * graphite.c (scop_record_loop): Use snprintf instead of sprintf.
+       (save_var_name): Same.
+       (initialize_cloog_names): Same.
+       (initialize_cloog_names): Same.
+
+2008-09-12  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-scalar-evolution.c (set_instantiated_value): Set
+       instantiated_below.
+
+2008-09-12  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-opt/37377
+
+       * ira-build.c (common_loop_tree_node_dominator): Remove.
+       (copy_live_ranges_to_removed_store_destinations): New function.
+       (regno_top_level_allocno_map): Move to top level from ...
+       (ira_flattening): ... here.  Use
+       copy_live_ranges_to_removed_store_destinations.
+
+       * ira-emit.c (generate_edge_moves): Fix a comment.
+
+2008-09-12  Anatoly Sokolov  <aesok@post.ru>
+
+       PR target/37466
+       * config/avr/avr.md (movsi_lreg_const peephole2): Add match_dup for
+       scratch register after 'set' pattern.
+
+2008-09-12  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * emit-rtl.c (set_reg_attrs_from_value): Fix invalid alignment
+       information passed to mark_reg_pointer.
+       * explow.c (force_reg): Likewise.
+
+2008-09-12  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu.c (spu_override_options): Default to -mno-safe-hints
+       when building for the celledp architecture.
+
+2008-09-12  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vrp.c (simplify_truth_ops_using_ranges): Fix types.
+
+2008-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/37424
+       * ira-color.c (coalesced_pseudo_reg_slot_compare): Untie by comparing
+       the regnos instead of the addresses.
+
+2008-09-11  Janis Johnson  <janis187@us.ibm.com>
+
+       * ginclude/float.h (DEC_EVAL_METHOD): Correct the macro name.
+
+2008-09-11  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid
+       entering the weaker equivalence recording.
+
+       * tree-ssa-phiprop.c (propagate_with_phi): Fix tuplification.
+
+2008-09-11  Jeff Law <law@redhat.com>
+
+       * reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed
+       by assign_stack_local on the IRA path for stack slot sharing
+       as well as the non-IRA path.
+
+2008-09-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h: Fix whitespace issues.
+
+2008-09-11  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.h (struct ipa_param_flags): Removed.
+       (struct ipa_param_descriptor): New structure.
+       (struct ipa_node_params): ipcp_lattices, param_decls and
+       param_flags moved to ipa_param_description.
+       (ipa_get_ith_param): Renamed to ipa_get_param, changed to access
+       descriptors.  Renamed all users.
+       (ipa_is_ith_param_modified): Renamed to ipa_is_param_modified,
+       changed to access descriptors.  Renamed all users.
+       (ipa_is_ith_param_called): Renamed to ipa_is_param_called, changed
+       to access descriptors. Renamed all users.
+       * ipa-cp.c (ipcp_init_cloned_node): Call
+       ipa_initialize_node_params instead of ipa_count_formal_params and
+       ipa_create_param_decls_array.
+       (ipcp_analyze_node): Likewise.
+       (ipcp_get_ith_lattice): Renamed to ipcp_get_lattice, changed to access
+       descriptors.  Renamed all users.
+       (ipcp_initialize_node_lattices): Remove allocation.
+       * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
+       ipa_initialize_node_params instead of ipa_count_formal_params and
+       ipa_create_param_decls_array.
+       * ipa-prop.c (ipa_create_param_decls_array): Renamed to
+       ipa_populate_param_decls, made static, added parameter info,
+       renamed mt to node, removed allocation, changed to use
+       descriptors.
+       (ipa_count_formal_params): Made static, added parameter info,
+       renamed mt to node.
+       (ipa_initialize_node_params): New function.
+       (ipa_check_stmt_modifications): Changed to use descriptors.
+       (ipa_detect_param_modifications): Removed allocation, changed to
+       use descriptors.
+       (ipa_note_param_call): Changed to use descriptors.
+       (ipa_analyze_params_uses): Removed allocation.
+       (ipa_free_node_params_substructures): Changed to use descriptors.
+       (ipa_edge_duplication_hook): Use the unused attribute.
+       (ipa_node_duplication_hook): Use the unused attribute, changed to
+       use descriptors, changed to duplicate descriptors.
+
+       * ipa-inline.c (cgraph_mark_inline_edge): New parameter new_edges,
+       changed all callers.  Call ipa_propagate_indirect_call_infos if doing
+       indirect inlining.  Made static.
+       (cgraph_decide_inlining): Freeing ipa-prop structures after inlining
+       functions called only once.
+       (cgraph_decide_recursive_inlining): Don't call
+       ipa_propagate_indirect_call_infos, pass new_edges to
+       cgraph_mark_inline_edge instead.
+       (cgraph_decide_inlining_of_small_functions): Don't call
+       ipa_propagate_indirect_call_infos, pass new_edges to
+       cgraph_mark_inline_edge instead.
+       (cgraph_decide_inlining): Don't call
+       ipa_propagate_indirect_call_infos.
+       * ipa-prop.c: Check that vectors are allocated.
+
+       * ipa-inline.c (cgraph_mark_inline_edge): Returns boolean, true
+       iff a new cgraph edges have been created.
+       (cgraph_decide_inlining): New variable redo_always_inline.
+       Flattening and always_inlining loop until callgraph stabilizes.
+       * ipa-prop.c (update_call_notes_after_inlining): Returns boolean,
+       true iff new cgraph edges have been created.
+       (propagate_info_to_inlined_callees): Likewise.
+       (ipa_propagate_indirect_call_infos): Likewise.
+
+2008-09-11  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vectorizer.c (slpeel_add_loop_guard): Fix types.
+       (set_prologue_iterations): Likewise.
+       * tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
+       Likewise.
+       (vect_update_init_of_dr): Likewise.
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Fix
+       type verification.
+       * fold-const.c (fold_unary): Do not generate calculations
+       in sub-types.
+
+2008-09-11  Paolo Bonzini  <bonzini@gnu.org>
+
+       * dojump.c (do_jump) [BIT_AND_EXPR]: Move below.  Fall through to
+       TRUTH_AND_EXPR for boolean (1-bit precision) expressions.
+       (do_jump) [BIT_IOR_EXPR]: Compile as TRUTH_OR_EXPR.
+
+       * tree-flow.h (simplify_stmt_using_ranges): Accept a GSI, return
+       a bool.
+       * tree-ssa-propagate.c (substitute_and_fold): Pass a GSI to
+       VRP's simplify_stmt_using_ranges.  Do simplify_stmt_using_ranges
+       before finalizing the changes.
+       * tree-vrp.c (extract_range_from_binary_expr): Add limited support
+       for BIT_IOR_EXPR.
+       (simplify_truth_ops_using_ranges): New.
+       (simplify_div_or_mod_using_ranges, simplify_abs_using_ranges,
+       simplify_cond_using_ranges, simplify_switch_using_ranges): Return
+       whether a simplification was made.
+       (simplify_stmt_using_ranges): Ditto, and accept a GSI.  For GS_ASSIGN,
+       use a switch statement and also call simplify_truth_ops_using_ranges.
+
+2008-09-11  Jan Hubicka  <jh@suse.cz>
+
+       * ggc-common.c (loc_array): Make static.
+       * dce.c (rest_of_handle_ud_dce): Free worklist.
+
+2008-09-11  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_release_function_body): Plug memory leak on
+       ipa_transforms_to_apply and CFG; ggc_free gimple df and struct
+       function so we are sure we do not dangle it forever.
+       * function.c (outer_function_chain, find_function_data): Remove.
+       (function_context_stack): New.
+       (push_function_context, pop_function_context): Update.
+       * function.h (struct function): Remove pointer outer.
+       (outer_function_chain, find_function_data): Remove.
+       * stmt.c (force_label_rtx): Remove dead call of find_function_data.
+
+2008-09-11  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/37448
+       * cgraph.c (cgraph_create_edge): Use !cgraph_edge for sanity check.
+
+2008-09-11  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-pre.c (phi_translate_1): Fix memory leak
+
+2008-09-11  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa.c (redirect_edge_var_map_clear): Fix formatting.
+       (free_var_map_entry): New function.
+       (redirect_edge_var_map_destroy): Use it.
+
+2008-09-11  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/37448
+       * tree-inline.c (add_lexical_block): Replace with ...
+       (prepend_lexical_block): ... prepend at begginig.
+       (remap_blocks): Use it and reverse later.
+       (expand_call_inline): Use prepend_lexical_block.
+
 2008-09-11  Jan Hubicka  <jh@suse.cz>
 
        * gimplify.c (pop_gimplify_context): Free bind_expr_stack.
 
 2008-09-11  Jan Hubicka  <jh@suse.cz>
 
-       * ifcvt.c (check_cond_move_block): Make regs argument pointer to vector pointer.
+       * ifcvt.c (check_cond_move_block): Make regs argument pointer to
+       vector pointer.
        (cond_move_process_if_block): Update call.
 
 2008-09-11  Jan Hubicka  <jh@suse.cz>
        register_overhead, free_overhead, vec_heap_free): New functions.
        (vec_gc_o_reserve_1): ggc_free when resizing to 0.
        (vec_heap_o_reserve_1): free when resizing to 0; add statistics.
-       (cmp_statistic, add_statistics, dump_vec_loc_statistics): New functions.
+       (cmp_statistic, add_statistics, dump_vec_loc_statistics):
+       New functions.
 
 2008-09-11  Ira Rosen  <irar@il.ibm.com>
 
 2008-09-10  Jan Hubicka  <jh@suse.cz>
 
        * value-prof.c (gimple_ic): Fix tuplification bug.
-       * sched-deps.c (sched_insns_conditions_mutex_p): Silence unitialized var
-       warning.
+       * sched-deps.c (sched_insns_conditions_mutex_p): Silence unitialized
+       var warning.
 
 2008-09-10  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/37385
        * tree-vect-transform.c (vect_create_data_ref_ptr): Add a new argument,
        and use it as a vector type if not NULL.
-       (vectorizable_store): Call vect_create_data_ref_ptr with the type of 
+       (vectorizable_store): Call vect_create_data_ref_ptr with the type of
        vectorized rhs.
        (vect_setup_realignment): Call vect_create_data_ref_ptr with additional
        argument.
 
 2008-09-09  Sandra Loosemore  <sandra@codesourcery.com>
 
-       * doc/invoke.texi (ARM Options): Correct errors in discussion 
+       * doc/invoke.texi (ARM Options): Correct errors in discussion
        of -mfloat-abi, -mhard-float, and -msoft-float.
 
 2008-09-09  Jakub Jelinek  <jakub@redhat.com>
        calls.
 
        PR target/37438
-       * config/i386/i386.md (zero_extendqihi2_movzbl): Enable when optimizing
-       for size, not speed.
+       * config/i386/i386.md (zero_extendqihi2_movzbl): Enable when
+       optimizing for size, not speed.
 
        PR rtl-optimization/37408
        * function.c (assign_parm_find_stack_rtl): Set correct MEM_SIZE
 2008-09-09  Sebastian Pop  <sebastian.pop@amd.com>
 
        PR tree-optimization/37375
-       * tree-scalar-evolution.c (scev_info_str): Add field instantiated_below.
+       * tree-scalar-evolution.c (scev_info_str): Add field
+       instantiated_below.
        (new_scev_info_str, eq_scev_info, find_var_scev_info,
        set_scalar_evolution, get_scalar_evolution, get_instantiated_value,
        set_instantiated_value): Pass instantiated_below.
-       (analyze_scalar_evolution_1, analyze_scalar_evolution): Update calls to
-       above functions.
-       (instantiate_scev_1, instantiate_scev): Pass a basic block above which the
-       definitions are not instantiated.
+       (analyze_scalar_evolution_1, analyze_scalar_evolution): Update calls
+       to above functions.
+       (instantiate_scev_1, instantiate_scev): Pass a basic block above which
+       the definitions are not instantiated.
 
        * tree-scalar-evolution.h (instantiate_scev): Update declaration.
        (block_before_loop): New.
-       * tree-data-ref.c (dr_analyze_indices): Update uses of instantiate_scev.
+       * tree-data-ref.c (dr_analyze_indices): Update uses of
+       instantiate_scev.
        * graphite.c (block_before_scop): New.
-       (loop_affine_expr, stmt_simple_for_scop_p, harmful_stmt_in_bb): Pass a 
+       (loop_affine_expr, stmt_simple_for_scop_p, harmful_stmt_in_bb): Pass a
        basic block, not a loop for determining the parameters.
        (scopdet_edge_info, build_scops_1): Do not pass outermost loop in the
        scop.
        (idx_record_params, find_params_in_bb, find_scop_parameters,
-       build_loop_iteration_domains, add_conditions_to_domain): Update calls 
+       build_loop_iteration_domains, add_conditions_to_domain): Update calls
        to instantiate_scev.
 
        * Makefile.in (cfgloopmanip.o): Add missing dependency on TREE_FLOW_H.
 2008-09-09  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR rtl-opt/37333
-       
+
        * ira-build.c (ira_create_allocno): Setup frequency to 0.
 
        * ira-color.c (update_conflict_hard_regno_costs): Remove assert.
 
 2008-09-09  Jan Hubicka  <jh@suse.cz>
 
-       * profile.c (is_edge_inconsistent): Add debug output; ignore negative count
-       on fake edges.
+       * profile.c (is_edge_inconsistent): Add debug output; ignore
+       negative count on fake edges.
        (is_inconsistent): Add debug output.
 
 2008-09-09  Andrey Belevantsev  <abel@ispras.ru>
        PR rtl-optimization/37360
        * haifa-sched.c (max_issue): Do not assert that we never issue more
        insns than issue_rate.  Add comment.
-       
+
 2008-09-09  Richard Guenther  <rguenther@suse.de>
 
        * tree-cfg.c (verify_types_in_gimple_op): Remove.
 2008-09-06  Jan Hubicka  <jh@suse.cz>
 
        PR tree-optimization/14703
-       * tree-ssa-live.c (remove_unused_scope_block_p): Remove ignored declarations.
+       * tree-ssa-live.c (remove_unused_scope_block_p): Remove ignored
+       declarations.
        * passes.c (init_optimization_passes): Recompute inline parameters.
 
 2008-09-06  Richard Sandiford  <rdsandiford@googlemail.com>
 
 2008-09-05  Vladimir Makarov  <vmakarov@redhat.com>
 
-       * ira-color.c (ira_fast_allocation): Permit global allocno
-       allocation.
-       
+       * ira-color.c (ira_fast_allocation): Permit global allocno allocation.
+
 2008-09-05  Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
 
        Improved branch hints, safe hints, and scheduling.
        (move_operand): Disallow sub-word modes for the constant pool.
        * config/xtensa/xtensa.c (TARGET_SECONDARY_RELOAD): Define.
        (xtensa_secondary_reload_class): Replace with....
-       (xtensa_secondary_reload): this function.  Remove SIGN_EXTEND check. 
+       (xtensa_secondary_reload): this function.  Remove SIGN_EXTEND check.
        Set icode for sub-word reloads from the constant pool.
        * config/xtensa/xtensa.h (SECONDARY_INPUT_RELOAD_CLASS): Delete.
        (SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
        * config/xtensa/xtensa.md (reload<mode>_literal): New.
        * config/xtensa/xtensa-protos.h: Update prototypes.
-       
+
 2008-09-05  Joseph Myers  <joseph@codesourcery.com>
 
        * config/mips/mips.h (enum reg_class): Add FRAME_REGS.
        * ira-build.c (print_copy, print_copies, ira_debug_copy,
        ira_debug_copies): New.
        (ira_bulid): Call print_copies.
-       
+
        * doc/tm.texi (IRA_COVER_CLASSES): Fix the description.
-       
+
 2008-09-04  Samuel Tardieu  <sam@rfc1149.net>
 
        PR target/32783
 
        * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Restore a null
        pointer check lost in the recent no-unit-at-a-time patch.
-       
+
 2008-09-04  Jan Hubicka  <jh@suse.cz>
 
        PR middle-end/37343
 
 2008-09-04  Nick Clifton  <nickc@redhat.com>
 
-       * configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler
-       check.
+       * configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler check.
        * configure: Regenerate.
        * config.in: Regenerate.
        * config/i386/bsd.h (ASM_OUTPUT_ALIGNED_LOCAL): Use .lcomm with an
        (remove_unnecessary_allocnos): Use all_allocnos.
        (check_allocno_creation): Check that allocnos are in the
        corresponding bitmap all_allocnos.
-       
+
 2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR rtl-opt/37243
-       
+
        * ira-conflicts.c (REG_SUBREG_P, go_through_subreg): New.
        (process_regs_for_copy): Process subregs.  Refine check when cost
        is taken into account in ira-costs.c.
        (update_conflict_hard_regno_costs): New function.
        (assign_hard_reg): Use it.
        (ira_color): Allocate and free conflict_allocno_vec.
+
 2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR rtl-opt/37296
 
 2008-09-03 Danny Smith  <dannysmith@usrs.sourceforge.net>
 
-       * gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is
-       defined.
+       * gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is defined.
        (__gthread_setspecific): Revert 2008-08-31 change to
-       __GTHREAD_HIDE_W32API case.  Apply it to !__GTHREAD_HIDE_W32API
-       case.
+       __GTHREAD_HIDE_W32API case.  Apply it to !__GTHREAD_HIDE_W32API case.
 
 2008-09-02  Aldy Hernandez  <aldyh@redhat.com>
 
 2008-09-02  Jan Hubicka  <jh@suse.cz>
 
        * predict.c (pass_strip_predict_hints): Avoid bugs dump file.
-       * expmed.c (expand_divmod): Fix test of smod_pow2_cheap and sdiv_pow2_cheap
+       * expmed.c (expand_divmod): Fix test of smod_pow2_cheap and
+       sdiv_pow2_cheap
 
 2008-09-02  H.J. Lu  <hongjiu.lu@intel.com>
 
        (graphite.o): Add rule.
        * gimple.h (gimple_vec): ... here.
        * tree-cfg.c (print_loops): Start printing at ENTRY_BLOCK_PTR.
-       * passes.c (init_optimization_passes): Schedule 
+       * passes.c (init_optimization_passes): Schedule
        pass_graphite_transforms.
 
 2008-09-02  Samuel Tardieu  <sam@rfc1149.net>
        openmp applications.
        * pa-hpux11.h (LIB_SPEC): Likewise.
 
-       * ira.c (setup_eliminable_regset): Only declare i if ELIMINABLE_REGS is
-       defined.
+       * ira.c (setup_eliminable_regset): Only declare i if ELIMINABLE_REGS
+       is defined.
 
 2008-09-01  Jan Hubicka  <jh@suse.cz>
 
        error.
        * c-omp.c (c_finish_omp_atomic): Pass location when calling
        build_indirect_ref.
-       * c-common.c (finish_label_address_expr): Handle new location
-       argument.
+       * c-common.c (finish_label_address_expr): Handle new location argument.
        * c-common.h (build_indirect_ref): Add argument.
        (finish_label_address_expr): Same.
        * c-parser.c (c_parser_unary_expression): Pass location to build
        * config/arm/vfp.md: Document fcpys, ffariths, ffarithd, fadds, faddd,
        fconsts, fconstd, fcmps and fcmpd.  Use them in insn patterns.
        * config/arm/arm.c (arm_issue_rate): Add cortexr4f.
-       * config/arm/arm1020e.md (v10_ffarith, v10_farith): Use new insn
-       types.
+       * config/arm/arm1020e.md (v10_ffarith, v10_farith): Use new insn types.
        * config/arm/cortex-a8-neon.md (cortex_a8_vfp_add_sub,
        cortex_a8_vfp_farith: Ditto.
        * config/arm/vfp11.md (vfp_ffarith, vfp_farith): Ditto.
 
        * config/spu/spu.c (spu_expand_block_move) Update call of MOVE_RATIO.
 
-       * expr.c (MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P, SET_BY_PIECES_P): Pass speed operand.
+       * expr.c (MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P, SET_BY_PIECES_P):
+       Pass speed operand.
        * expr.h (MOVE_RATIO, CLEAR_RATIO, SET_RATIO): Update.
        * gimplify.c (gimplify_init_constructor): Add speed operand.
        * tree-sra.c (decide_block_copy): Likewise.
        * config/arm/arm.h (MOVE_RATIO): Update.
        * config/pa/pa.md: Update uses of MOVE_RATIO
        * config/pa/pa.h (MOVE_RATIO): Update.
-       * config/mips/mips.h (MOVE_RATIO, MOVE_BY_PIECES, CLEAR_RATIO, SET_RATIO): Update.
+       * config/mips/mips.h (MOVE_RATIO, MOVE_BY_PIECES,
+       CLEAR_RATIO, SET_RATIO): Update.
        * config/h8300/h8300.h (MOVE_RATIO): Update.
        * config/v850/v850.h (MOVE_RATIO): Update.
        * config/bfin/bfin.h (MOVE_RATIO): Update.
 
 2008-08-31  Andrey Belevantsev  <abel@ispras.ru>
-       Dmitry Melnik  <dm@ispras.ru>
-       Dmitry Zhurikhin  <zhur@ispras.ru>
-       Alexander Monakov  <amonakov@ispras.ru>
-       Maxim Kuvyrkov  <maxim@codesourcery.com>
+           Dmitry Melnik  <dm@ispras.ru>
+           Dmitry Zhurikhin  <zhur@ispras.ru>
+           Alexander Monakov  <amonakov@ispras.ru>
+           Maxim Kuvyrkov  <maxim@codesourcery.com>
 
        * sel-sched.h, sel-sched-dump.h, sel-sched-ir.h, sel-sched.c,
        sel-sched-dump.c, sel-sched-ir.c: New files.
-       * Makefile.in (OBJS-common): Add selective scheduling object
-       files.
+       * Makefile.in (OBJS-common): Add selective scheduling object files.
        (sel-sched.o, sel-sched-dump.o, sel-sched-ir.o): New entries.
        (SEL_SCHED_IR_H, SEL_SCHED_DUMP_H): New entries.
        (sched-vis.o): Add dependency on $(INSN_ATTR_H).
        * common.opt (fsel-sched-bookkeeping, fsel-sched-pipelining,
        fsel-sched-pipelining-outer-loops, fsel-sched-renaming,
        fsel-sched-substitution, fselective-scheduling): New flags.
-       * cse.c (hash_rtx_cb): New.
+       * cse.c (hash_rtx_cb): New.
        (hash_rtx): Use it.
        * dbgcnt.def (sel_sched_cnt, sel_sched_region_cnt,
        sel_sched_insn_cnt): New counters.
-       * final.c (compute_alignments): Export.  Free dominance info after loop_optimizer_finalize.
+       * final.c (compute_alignments): Export.  Free dominance
+       info after loop_optimizer_finalize.
        * genattr.c (main): Output maximal_insn_latency prototype.
-       * genautomata.c (output_default_latencies): New. Factor its code from ...
+       * genautomata.c (output_default_latencies): New.
+       Factor its code from ...
        (output_internal_insn_latency_func): ... here.
        (output_internal_maximal_insn_latency_func): New.
        (output_maximal_insn_latency_func): New.
        (EXECUTE_IF_SET_IN_HARD_REG_SET): New macro.
        * lists.c (remove_free_INSN_LIST_node,
        remove_free_EXPR_LIST_node): New functions.
-       * loop-init.c (loop_optimizer_init): When LOOPS_HAVE_FALLTHRU_PREHEADERS,
-       set CP_FALLTHRU_PREHEADERS when calling create_preheaders.
+       * loop-init.c (loop_optimizer_init): When
+       LOOPS_HAVE_FALLTHRU_PREHEADERS, set CP_FALLTHRU_PREHEADERS when
+       calling create_preheaders.
        (loop_optimizer_finalize): Do not verify flow info after reload.
        * recog.c (validate_replace_rtx_1): New parameter simplify.
        Default it to true.  Update all uses.  Factor out simplifying
        (setup_sched_dump): New function.
        (haifa_init_only_bb): New static function.
        (haifa_speculate_insn): New static function.
-       (try_ready): Use haifa_* instead of speculate_insn and
-       change_pattern.
+       (try_ready): Use haifa_* instead of speculate_insn and change_pattern.
        (extend_ready, extend_all): Remove.
        (sched_extend_ready_list, sched_finish_ready_list): New functions.
        (create_check_block_twin, add_to_speculative_block): Use
        (current_sched_info_var): Remove.
        (move_block_after_check): Use common_sched_info.
        (haifa_luid_for_non_insn): New static function.
-       (init_before_recovery): Use haifa_init_only_bb instead of
-       add_block.
+       (init_before_recovery): Use haifa_init_only_bb instead of add_block.
        (increase_insn_priority): New.
        * modulo-sched.c: (issue_rate): Remove static declaration.
        (sms_sched_info): Change type to haifa_sched_info.
        (deps_t): New.
        (struct sched_info): Rename to haifa_sched_info.  Use const_rtx for
        print_insn field.  Move add_block and fix_recovery_cfg to
-       common_sched_info_def.  Move compute_jump_reg_dependencies, use_cselib  ...
+       common_sched_info_def.  Move compute_jump_reg_dependencies,
+       use_cselib  ...
        (struct sched_deps_info_def): ... this new structure.
        (sched_deps_info): Declare.
        (struct spec_info_def): Remove weakness_cutoff, add
        (find_single_block_region): Add new argument to indicate that EBB
        regions should be constructed.
        (debug_live): Delete declaration.
-       (current_nr_blocks, current_blocks, target_bb): Remove static qualifiers.
+       (current_nr_blocks, current_blocks, target_bb):
+       Remove static qualifiers.
        (compute_dom_prob_ps, check_live, update_live, set_spec_fed): Delete
        declaration.
        (init_regions): Delete declaration.
        (debug_rgn_dependencies): Delete static qualifier.
        (new_ready): Use sched_deps_info.  Simplify.
        (rgn_common_sched_info, rgn_const_sched_deps_info,
-       rgn_const_sel_sched_deps_info, rgn_sched_deps_info, rgn_sched_info): New.
+       rgn_const_sel_sched_deps_info, rgn_sched_deps_info, rgn_sched_info):
+       New.
        (region_sched_info): Rename to rgn_const_sched_info.
        (deps_join): New, extracted from ...
        (propagate_deps): ... here.
        requested from command line.
        * doc/invoke.texi: Document new flags and parameters.
        * doc/tm.texi: Document new target hooks.
-       * config/ia64/ia64.c (TARGET_SCHED_GEN_SPEC_CHECK): Define to ia64_gen_check.
+       * config/ia64/ia64.c (TARGET_SCHED_GEN_SPEC_CHECK): Define to
+       ia64_gen_check.
        (dfa_state_size): Do not declare locally.
        * config/ia64/ia64.opt (msched-ar-data-spec): Default to 0.
        * config/rs6000/rs6000.c (rs6000_init_sched_context,
 
 2008-08-31  Jan Hubicka  <jh@suse.cz>
 
-       * postreload-gcse.c (eliminate_partially_redundant_loads): Use optimize_bb_for_size_p.
+       * postreload-gcse.c (eliminate_partially_redundant_loads):
+       Use optimize_bb_for_size_p.
        * predict.c (maybe_hot_frequency_p): Make inline.
        (maybe_hot_count_p): Break out from ...
        (maybe_hot_bb_p): ... this one.
        (noce_try_cmove_arith): Likewise.
        (noce_try_sign_mask): LIkewise.
        * expr.c (compress_float_constant): Update rtx_cost calls.
-       * tree-ssa-address.c (most_expensive_mult_to_index): Add speed argument.
+       * tree-ssa-address.c (most_expensive_mult_to_index): Add speed
+       argument.
        (addr_to_parts): Likewise.
        (create_mem_ref): Likewise.
        * dse.c (find_shift_sequence): Add speed argument.
        (expand_mult_highpart): Use profile.
        (expand_smod_pow2): Use profile.
        (expand_divmod): Use profile.
-       * simplify-rtx.c (simplify_binary_operation_1): Update call of rtx_cost.
+       * simplify-rtx.c (simplify_binary_operation_1): Update call of
+       rtx_cost.
        * loop-invariant.c (create_new_invariant): Use profile.
        (gain_for_invariant): Add speed parameter.
        (best_gain_for_invariant): Likewise.
        * config/m68hc11/m68hc11.c
        (m68hc11_address_cost, m68hc11_rtx_costs): Update.
        * config/cris/cris.c (cris_rtx_costs, cris_address_cost): Update.
-       * config/iq2000/iq2000.c (iq2000_rtx_costs, iq2000_address_cost): Update.
-       * config/mn10300/mn10300.c (mn10300_address_cost, mn10300_rtx_costs): Update
+       * config/iq2000/iq2000.c (iq2000_rtx_costs, iq2000_address_cost):
+       Update.
+       * config/mn10300/mn10300.c (mn10300_address_cost, mn10300_rtx_costs):
+       Update
        * config/ia64/ia64.c (ia64_rtx_costs): Update.
        * config/m68k/m68k.c (m68k_rtx_costs): Update.
        * config/rs6000/rs6000.c (rs6000_rtx_costs): Update.
        * dojump.c (do_jump): Likewise.
        * ifcvt.c (MAX_CONDITIONAL_EXECUTE): Likewise.
        (note-if_info): Add BRANCH_COST.
-       (noce_try_store_flag_constants, noce_try_addcc, noce_try_store_flag_mask,
-       noce_try_cmove_arith, noce_try_cmove_arith, noce_try_cmove_arith,
-       noce_find_if_block, find_if_case_1, find_if_case_2): Use compuated
-       branch cost.
+       (noce_try_store_flag_constants, noce_try_addcc,
+       noce_try_store_flag_mask, noce_try_cmove_arith, noce_try_cmove_arith,
+       noce_try_cmove_arith, noce_find_if_block, find_if_case_1,
+       find_if_case_2): Use computed branch cost.
        * expr.h (BRANCH_COST): Update default.
        * predict.c (predictable_edge_p): New function.
        * expmed.c (expand_smod_pow2, expand_sdiv_pow2, emit_store_flag):
        * config/sparc/sparc.h (BRANCH_COST): Update.
        * config/m32r/m32r.h (BRANCH_COST): Update.
        * config/i386/i386.h (BRANCH_COST): Update.
-       * config/i386/i386.c (ix86_expand_int_movcc): Update use of BRANCH_COST.
+       * config/i386/i386.c (ix86_expand_int_movcc): Update use of
+       BRANCH_COST.
        * config/sh/sh.h (BRANCH_COST): Update.
        * config/pdp11/pdp11.h (BRANCH_COST): Update.
        * config/avr/avr.h (BRANCH_COST): Update.
        * tree-ssa-pre.c (do_pre): Use optimize_function_for_speed_p.
        * tree-predcom.c (tree_predictive_commoning): Use
        optimize_loop_for_speed_p.
-       * varasm.c (assemble_start_function): Use optimize_function_for_speed_p.
+       * varasm.c (assemble_start_function): Use
+       optimize_function_for_speed_p.
        * bb-reorder.c (rest_of_handle_reorder_blocks): Likewise.
        * predict.c (optimize_loop_for_speed_p): Fix walk.
 
 2008-08-29  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR rtl-opt/37251
-
        * ira-color.c (push_allocnos_to_stack): Truncate
        removed_splay_allocno_vec.
 
 
 2008-08-29  Jan Hubicka  <jh@suse.cz>
 
-       * tree.c (build_function_type_skip_args, build_function_decl_skip_args):
-       New functions.
-       * tree.h (build_function_type_skip_args, build_function_decl_skip_args):
-       Declare.
+       * tree.c (build_function_type_skip_args,
+       build_function_decl_skip_args): New functions.
+       * tree.h (build_function_type_skip_args,
+       build_function_decl_skip_args): Declare.
        * gimple.c (giple_copy_call_skip_args): New function.
        (giple_copy_call_skip_args): Declare.
 
        * cgraph.h (cgraph_function_versioning): Add skip_args arugmnet
        * ipa-cp.c (ipcp_node_not_modifiable_p): Rename to ...
-       (ipcp_node_modifiable_p): ... this one; use tree_versionable_function_p.
+       (ipcp_node_modifiable_p): ... this one; use
+       tree_versionable_function_p.
        (ipcp_create_replace_map): Improve debug output.
        (ipcp_need_redirect_p): Return false when not clonning.
        (ipcp_update_callgraph): Skip args.
        * cgraphunit.c (cgraph_function_versioning): Add skip_args argument.
        (save_inline_function_body): Update call of tree_function_versioning.
        * ipa-prop.c (ipa_edge_removal_hook): Do not ICE on unanalyzed nodes.
-       * tree-inline.c (copy_arguments_for_versioning): Add skip_args argument.
+       * tree-inline.c (copy_arguments_for_versioning): Add skip_args
+       argument.
        (tree_function_versioning): Likewise.
        * tree-inline.h (tree_function_versioning): Update prototype.
 
 2008-08-29  Jan Hubicka  <jh@suse.cz>
 
-       * loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p.
-       * tree-ssa-threadupdate.c (mark_threaded_blocks): Use optimize_function_for_size_p.
+       * loop-unswitch.c (unswitch_single_loop): Use
+       optimize_loop_for_speed_p.
+       * tree-ssa-threadupdate.c (mark_threaded_blocks):
+       Use optimize_function_for_size_p.
        * tracer.c (ignore_bb_p): Use optimize_bb_for_size_p.
-       * postreload-gcse.c (eliminate_partially_redundant_load): Use optimize_bb_for_size_p.
+       * postreload-gcse.c (eliminate_partially_redundant_load):
+       Use optimize_bb_for_size_p.
        * value-prof.c (gimple_divmod_fixed_value_transform,
        gimple_mod_pow2_value_transform, gimple_mod_subtract_transform,
        gimple_stringops_transform): Use optimize_bb_for_size_p.
        * builtins.c (fold_builtin_cabs): Use optimize_function_for_speed_p.
        (fold_builtin_strcpy, fold_builtin_fputs): Use
        optimize_function_for_size_p.
-       * fold-const.c (tree_swap_operands_p): Use optimize_function_for_size_p.
+       * fold-const.c (tree_swap_operands_p): Use
+       optimize_function_for_size_p.
        * recog.c (relax_delay_slots): Likewise.
-       * tree-ssa-math-opts.c (replace_reciprocal): Use optimize_bb_for_speed_p.
+       * tree-ssa-math-opts.c (replace_reciprocal):
+       Use optimize_bb_for_speed_p.
        (execute_cse_reciprocals): Use optimize_bb_for_size_p.
        * ipa-inline.c (cgraph_decide_recursive_inlining): Use
        optimize_function_for_size_p.
        (cgraph_decide_inlining_of_small_function): Use
        optimize_function_for_size_p.
        * global.c (find_reg): Use optimize_function_for_size_p.
-       * opts.c (decode_options): Do not clear flag_tree_ch, flag_inline_functions,
-       flag_unswitch_loops, flag_unroll_loops, flag_unroll_all_loops and
-       flag_prefetch_loop_arrays. Those can work it out from profile.
+       * opts.c (decode_options): Do not clear flag_tree_ch,
+       flag_inline_functions, flag_unswitch_loops, flag_unroll_loops,
+       flag_unroll_all_loops and flag_prefetch_loop_arrays. Those can
+       work it out from profile.
        * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Use
        optimize_loop_for_speed_p.
-       * predict.c (optimize_bb_for_size_p, optimize_bb_for_speed_p): Constify
-       argument.
+       * predict.c (optimize_bb_for_size_p, optimize_bb_for_speed_p):
+       Constify argument.
        (optimize_loop_nest_for_size_p, optimize_loop_nest_for_speed_p): New.
        * tree-parloops.c (parallelize_loops): Use optimize_loop_for_size_p.
-       * tree-eh.c (decide_copy_try_finally): Use optimize_function_for_size_p.
+       * tree-eh.c (decide_copy_try_finally): Use
+       optimize_function_for_size_p.
        * local-alloc.c (block_alloc): Pass BB pointer.
        (find_free_reg): Add BB pointer, use optimize_bb_for_size_p.
        * gcse.c (gcse_main): Use optimize_function_for_size_p.
-       * loop-unroll.c (decide_unrolling_and_peeling): Use optimize_loop_for_size_p.
+       * loop-unroll.c (decide_unrolling_and_peeling):
+       Use optimize_loop_for_size_p.
        (decide_peel_completely): Likewise.
        * tree-vect-analyze.c (vect_mark_for_runtime_alias_test): Use
        optimize_loop_for_size_p.
        (vect_enhance_data_refs_alignment): Likewise.
        * tree-ssa-coalesce.c (coalesce_cost): Add optimize_for_size argument.
-       (coalesce_cost_bb, coalesce_cost_edge, create_outofssa_var_map): Update call.
+       (coalesce_cost_bb, coalesce_cost_edge, create_outofssa_var_map):
+       Update call.
        * cfgcleanup.c (outgoing_edges_match): Use optimize_bb_for_speed_p.
        (try_crossjump_bb): Use optimize_bb_for_size_p.
        * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Use
        (tree_bb_level_predictions): Do not remove GIMPLE_PREDICT.
        (tree_estimate_probability): Do not strip builtin_expect.
        (pass_strip_predict_hints): New pass.
-       * tree-inline.c (expand_call_inline): When inlining cold function, predict
-       it as unlikely.
+       * tree-inline.c (expand_call_inline): When inlining cold function,
+       predict it as unlikely.
        * passes.c (init_optimization_passes): Add pass_strip_predict_hints.
 
 2008-08-29  Richard Guenther  <rguenther@suse.de>
        * config/mips/mips.h (ISA_HAS_DMUL3): New macro.
        * config/mips/mips.md (D): New mode attribute.
        (mulsi3, muldi3): Merge it into ...
-       (mul<mode>3): ... new template.  Use _mul3 ending for 3-op
-       patterns.
+       (mul<mode>3): ... new template.  Use _mul3 ending for 3-op patterns.
        (muldi3_mul3): New pattern.
        (mulsi3_mult3): Rename to mulsi3_mul3.
 
        * config/arm/arm1020e.md: Remove out of date duplicate comment.
        (v10_cvt): Use new fmul types.
 
-2008-08-26  Paul Brook   <paul@codesourcery.com>
+2008-08-26  Paul Brook  <paul@codesourcery.com>
 
        * config/arm/vfp.md: Move pipeline description for VFP11 to...
        * config/arm/vfp11.md: ...here.  New.
        (ipcp_create_replace_map): Reformat.
        (ipcp_need_redirect_p): Simplify.
        (ipcp_insert_stage): Check that argument is used before clonning.
-       * ipa-prop.c (ipa_print_node_jump_functions): Do not handle IPA_CONST_REF.
+       * ipa-prop.c (ipa_print_node_jump_functions): Do not handle
+       IPA_CONST_REF.
        (compute_scalar_jump_functions): Simplify using is_gimple_ip_invariat.
        (determine_cst_member_ptr): Keep wrapping ADDR_EXPR of members.
        (update_call_notes_after_inlining): Expect ADDR_EXPR in operand.
        * ipa-prop.h (jump_func_type): Remove IPA_CONST_REF.
        (jump_func_type): Remove IPA_CONST_VALUE_REF.
-       * tree-inline.c (tree_function_versioning): Add variables referenced by
-       replacing trees.
+       * tree-inline.c (tree_function_versioning): Add variables referenced
+       by replacing trees.
 
 2008-08-23  Jan Hubicka  <jh@suse.cz>
 
 
        * c-tree.h (grokfield): New argument.
        * c-decl.c (grokfield): Handle new location argument.
-       * c-parser.c (c_parser_struct_declaration): Pass location to
-       grokfield.
+       * c-parser.c (c_parser_struct_declaration): Pass location to grokfield.
 
 2008-08-21  Richard Guenther  <rguenther@suse.de>
 
        (vect_get_and_check_slp_defs): Detect patterns.
        (vect_build_slp_tree): Add an argument, don't fail in case of multiple
        types.
-       (vect_analyze_slp_instance): Don't fail in case of multiple types. Call
-       vect_build_slp_tree with correct arguments. Calculate unrolling factor
-       according to the smallest type in the loop.
+       (vect_analyze_slp_instance): Don't fail in case of multiple types.
+       Call vect_build_slp_tree with correct arguments. Calculate unrolling
+       factor according to the smallest type in the loop.
        (vect_detect_hybrid_slp_stmts): Include statements from patterns.
        * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Call
        supportable_widening_operation with correct arguments.
        ("type" attribute): Removed itof and added ftrunctf,ftruncdf,
        ftruncsd, ftruncdd, itoftf, itofdf, itofsf, itofdd, itoftd,
        fdivdd, fdivtd, floaddd, floadsd, fmuldd, fmultd, fsimpdd,
-       fsimpsd, fsimptd, fstoredd, fstoresd, ftoidfp as possible
-       values.
+       fsimpsd, fsimptd, fstoredd, fstoresd, ftoidfp as possible values.
        ("bfp" mode attribute): Removed.  Every occurence replaced
        with <mode>.
        * config/s390/s390.c (struct "z10_cost"): Updated entries.
        * config/s390/2084.md (insn_reservation "x_itof"): Updated
-         type attribute.
+       type attribute.
 
 2008-08-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
 
        handled. -pedantic also enables Wmain.
        (c_common_post_options): Handle all logic for Wmain here.
        * c-common.c (warn_main): Delete.
-       (check_main_parameter_types): Make pedwarns conditional on
-       OPT_Wmain.
+       (check_main_parameter_types): Make pedwarns conditional on OPT_Wmain.
        * c-common.h (warn_main): Delete.
 
 2008-08-13  H.J. Lu  <hongjiu.lu@intel.com>
 
 2008-08-09  Richard Sandiford  <rdsandiford@googlemail.com>
 
-       * config/mips/mips.c (mips_unspec_address_offset): Move earlier in file.
+       * config/mips/mips.c (mips_unspec_address_offset): Move earlier
+       in file.
        (mips_unspec_address, mips_unspec_offset_high): Likewise.
        (mips_ok_for_lazy_binding_p, mips_load_call_address): Likewise.
        (mips16_cfun_returns_in_fpr_p): Likewise.
        * c-typeck.c (digest_init): Call verify_sequence_points from here.
        (c_finish_return): Likewise.
        (c_start_case): Likewise.
-       * c-common.c (warn_for_collisions_1): Use explicit location in
-       warning.
+       * c-common.c (warn_for_collisions_1): Use explicit location in warning.
        * c-parser.c (c_parser_condition): New. Call
        verify_sequence_points.
        (c_parser_paren_condition): Call c_parser_condition.
 2008-08-07  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/36992
-       * config/i386/emmintrin.h (_mm_move_epi64): Use
-       __builtin_ia32_movq128.
+       * config/i386/emmintrin.h (_mm_move_epi64): Use __builtin_ia32_movq128.
 
        * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVQ128.
        (bdesc_args): Add IX86_BUILTIN_MOVQ128.
        * config/sh/sh.c (prepare_move_operands, output_far_jump,
        output_branchy_insn, add_constant, gen_block_redirect,
        sh_insn_length_adjustment, sh_cannot_change_mode_class,
-       sh_output_mi_thunk, replace_n_hard_rtx, sh_secondary_reload):
-       Likewise.
+       sh_output_mi_thunk, replace_n_hard_rtx, sh_secondary_reload): Likewise.
        * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
        * config/stormy16/stormy16.c (xstormy16_output_cbranch_hi,
        xstormy16_output_cbranch_si, xstormy16_secondary_reload_class,
        * configure.ac (HAVE_GAS_CFI_DIRECTIVE): New.
        * config.in, configure: Rebuild.
        * dwarf2asm.c (dw2_asm_output_data_raw): New.
-       (dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_sleb128_raw): New.
+       (dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_sleb128_raw):
+       New.
        (dw2_force_const_mem): Externalize.
        * dwarf2asm.h: Update.
        * dwarf2out.c (dwarf2out_cfi_label): If flag_dwarf2_cfi_asm, don't
 
        (MFC_MIN_DMA_LIST_ELEMENTS): New define.
        (MFC_MAX_DMA_LIST_ELEMENTS): Likewise.
-       (MFC_MIN_DMA_LIST_SIZE): Redefine in terms of MFC_MIN_DMA_LIST_ELEMENTS.
-       (MFC_MAX_DMA_LIST_SIZE): Redefine in terms of MFC_MAX_DMA_LIST_ELEMENTS.
+       (MFC_MIN_DMA_LIST_SIZE): Redefine in terms of
+       MFC_MIN_DMA_LIST_ELEMENTS.
+       (MFC_MAX_DMA_LIST_SIZE): Redefine in terms of
+       MFC_MAX_DMA_LIST_ELEMENTS.
 
        (MFC_START_ENABLE): Remove PPU-only define.
        (MFC_PUTS_CMD, MFC_PUTFS_CMD, MFC_PUTBS_CMD): Likewise.
 
        * configure.ac: Use the m4_do macro to concatenate the warnings into
        one string in ACX_PROG_CC_WARNING_OPTS,
-       ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and ACX_PROG_CC_WARNINGS_ARE_ERRORS.
+       ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and
+       ACX_PROG_CC_WARNINGS_ARE_ERRORS.
        * configure: Regenerate.
 
 2008-07-28  Richard Guenther  <rguenther@suse.de>
        (ipa_analyze_params_uses): New function.
        (ipa_free_node_params_substructures): Also free the param_calls linked
        list.
-       (ipa_node_duplication_hook): Also duplicate the param_calls linked list.
+       (ipa_node_duplication_hook): Also duplicate the param_calls
+       linked list.
        (ipa_print_node_param_flags): New function.
        (ipa_print_all_params_modified): Renamed to ipa_print_all_param_flags.
        (ipa_print_all_param_flags): Calls ipa_print_node_param_flags.
        not optimizing so unused user vars remains visible.
        * common.opt (flag_tree_ter): Always enable by default.
        * tree-ssa-ter.c: Include flags.h
-       (is_replaceable_p): Check that locations match; when aliasing is missing
-       be conservative about loads.
+       (is_replaceable_p): Check that locations match; when aliasing
+       is missing be conservative about loads.
        * tree-optimize.c (gate_init_datastructures): Remove.
        (pass_init_datastructures): New.
        * passes.c: Reorder passes so we always go into SSA.
 
 2008-07-19  Jan Hubicka  <jh@suse.cz>
 
-       * doc/extend.texi (flatten attribute): Remove note about unit-at-a-time
+       * doc/extend.texi (flatten attribute): Remove note about
+       unit-at-a-time.
        * doc/invoke.texi (--combine): Likewise.
        (-finline-functions-called-once): Update levels when enabled.
        (-funit-at-a-time): Document new behaviour.