OSDN Git Service

2008-12-17 Sebastian Pop <sebastian.pop@amd.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a887db1..df3ced5 100644 (file)
@@ -1,7 +1,868 @@
+2008-12-17  Sebastian Pop  <sebastian.pop@amd.com>
+       
+        * doc/install.texi (Prerequisites): Document PPL and CLooG-PPL
+        dependences and the configure options.
+        (Configuration): Document --with-cloog, --with-ppl, --with-cloog-lib,
+         --with-ppl-lib, --with-cloog-incude, --with-ppl-include.
+
+2008-12-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/38556
+       * calls.c (expand_call): Check outgoing_reg_parm_stack_space
+       only if REG_PARM_STACK_SPACE is defined.
+
+2008-12-17  Jan Hubicka  <jh@suse.cz>
+           Kai Tietz <kai.tietz@onevision.com>
+
+       * calls.c (expand_call): Do not sibcall if
+       outgoing_reg_parm_stack_space does not match.
+
+2008-12-16  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/avr/avr.c (avr_mcu_t): Add attiny87, attiny327, at90pwm81,
+       atmega16m1, at90scr100, atmega128rfa1, m3000f, m3000s and m3001b
+       devices.
+       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
+       * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
+
+2008-12-16  Hariharan Sandanagobalane <hariharan@picochip.com>
+
+       PR target/38842
+       * config/picochip/picochip.opt (mae): Squeezed the comments onto one
+       line.
+
+2008-12-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.ac (gcc_cv_ld_hidden): Sun ld on Solaris 9 and up
+       supports hidden.
+       * configure: Regenerate.
+
+2008-12-16  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/37436
+       * arm.c (arm_legitimate_index): Only accept addresses that are in
+       canonical form.
+       * predicates.md (arm_reg_or_extendqisi_mem_op): New predicate.
+       * arm.md (extendqihi2): Use arm_reg_or_extendqisi_mem_op predicate
+       for operand1.
+       (extendqisi2): Likewise.
+       (arm_extendqisi, arm_extendqisi_v6): Use arm_extendqisi_mem_op
+       predicate for operand1.
+       
+2008-12-15  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * config/mips/mips.c (mips_output_conditional_branch): Assert that
+       openrands[1] is a CODE_LABEL.
+
+2008-12-15  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.c (mips_expand_builtin_direct): Set TARGET to
+       the result of mips_prepare_builtin_target.
+
+2008-12-15  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_abicalls
+       if TARGET_ABICALLS is true.
+
+2008-12-15  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.md (move_doubleword_fpr<mode>): Use
+       TARGET_FLOAT64 && !TARGET_64BIT to detect the mxhc1 case.
+
+2008-12-15  Hariharan Sandanagobalane <hariharan@picochip.com>
+
+       * config/picochip/picochip.c (picochip_override_options): Disable CFI
+       asm and change the signature of brev and byteSwap functions to use
+       unsigned values.
+       * config/picochip/picochip.md (commsTestPort): This is a complex
+       instruction and should not be vliwed. Dont set insn type.
+
+2008-12-15  Wolfgang Gellerich  <gellerich@de.ibm.com>
+       * config/s390/s390.c (s390_swap_cmp): New function.
+       (s390_non_addr_reg_read_p): New function.
+       (s390_z10_optimize_cmp): New function.
+       (s390_reorg): Added call to s390_optimize_cmp.
+       * config/s390/s390.md (nop1): New insn.
+
+2008-12-12  Rainer Emrich  <r.emrich@de.tecosim.com>
+
+       PR bootstrap/38383
+       * pa64-hpux.h (LINK_GCC_C_SEQUENCE_SPEC): Don't hardcode search path
+       for the milli.a library.
+
+2008-12-12  Andrew Pinski  <andrew_pinskia@playstation.sony.com>
+            Peter Bergner <bergner@vnet.ibm.com>
+
+       PR target/24779
+       * config/rs6000/rs6000.md (call_indirect_aix32): Move the load of the
+       TOC into the call pattern.
+       (call_indirect_aix64): Likewise.
+       (call_value_indirect_aix32): Likewise.
+       (call_value_indirect_aix64): Likewise.
+       (call_indirect_nonlocal_aix32_internal): New insn and split patterns
+       to split off the load of the TOC.
+       (call_indirect_nonlocal_aix32): Enable only after reload.
+       (call_indirect_nonlocal_aix64_internal): New insn and split patterns
+       to split off the load of the TOC.
+       (call_indirect_nonlocal_aix64): Enable only after reload.
+       (call_value_indirect_nonlocal_aix32_internal): New insn and split
+       patterns to split off the load of the TOC.
+       (call_value_indirect_nonlocal_aix32): Enable only after reload.
+       (call_value_indirect_nonlocal_aix64_internal): New insn and split
+       patterns to split off the load of the TOC.
+       (call_value_indirect_nonlocal_aix64): Enable only after reload.
+
+2008-12-12  Andreas Schwab  <schwab@suse.de>
+
+       Revert:
+       2008-12-12  Andreas Schwab  <schwab@suse.de>
+       * cfgrtl.c (rtl_verify_flow_info_1): Don't apply BLOCK_FOR_INSN on
+       a BARRIER insn.
+
+2008-12-12  Zdenek Dvorak  <ook@ucw.cz>
+
+       PR tree-optimization/32044
+       * tree-scalar-evolution.h (expression_expensive_p): Declare.
+       * tree-scalar-evolution.c (expression_expensive_p): New function.
+       (scev_const_prop): Avoid introducing expensive expressions.
+       * tree-ssa-loop-ivopts.c (may_eliminate_iv): Ditto.
+
+2008-12-12  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/38409
+       * graphite.c (nb_reductions_in_loop): Use simple_iv.
+
+2008-12-12  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
+
+       * config/i386/x86intrin.h: New header file to support all x86
+       intrinsics
+       * config.gcc (extra_headers): For x86 and x86-64, add x86intrin.h
+
+2008-12-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/38402
+       * gcc/doc/md.texi: Remove Y and document Yz, Y2, Yi and Ym
+       constraints for x86.
+
+2008-12-12  Andreas Schwab  <schwab@suse.de>
+
+       * cfgrtl.c (rtl_verify_flow_info_1): Don't apply BLOCK_FOR_INSN on
+       a BARRIER insn.
+
+2008-12-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/sync.md (memory_barrier): Remove mem:BLK from operands.
+       Use Pmode for scratch reg.
+       (*mb_internal): Use (match_dup 0) for unspec operand.
+
+2008-12-12  Alexandre Oliva  <aoliva@redhat.com>
+
+       * tree-vrp.c (extract_range_from_binary_expr): Don't shift by
+       floor_log2 of zero.  Negate widened zero.
+
+2008-12-12  Ben Elliston  <bje@au.ibm.com>
+
+       * config/fp-bit.c (nan): Rename from this ...
+       (makenan): ... to this.
+
+2008-12-11  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * config/mips/mips.md (*branch_bit<bbv><mode>,
+       *branch_bit<bbv><mode>_inverted): Renumber operands so that the
+       label becomes operands[1].
+
+2008-12-11  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       PR tree-optimization/38446
+       * graphite.c (register_bb_in_sese): New.
+       (bb_in_sese_p): Check if bb belongs to sese region by explicitly
+       looking at the bbs in the region.
+       * graphite.h (sese): Add region_basic_blocks pointer set to
+       structure and initialize at the time of defining new scop.
+
+2008-12-11  Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       * graphite.c (new_graphite_bb): Initialize GBB_STATIC_SCHEDULE.
+       (find_params_in_bb): Do not free data refs.
+       (free_graphite_bb): Add FIXME on disabled free_data_refs.
+
+2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite.c (struct ivtype_map_elt): New.
+       (debug_ivtype_elt, debug_ivtype_map_1, debug_ivtype_map,
+       new_ivtype_map_elt, ivtype_map_elt_info, eq_ivtype_map_elts,
+       gcc_type_for_cloog_iv): New.
+       (loop_iv_stack_patch_for_consts): Use the type of the induction
+       variable from the original loop, except for the automatically
+       generated loops, i.e., in the case of a strip-mined loop, in
+       which case there is no original loop: in that case just use
+       integer_type_node.
+       (new_graphite_bb): Initialize GBB_CLOOG_IV_TYPES.
+       (free_graphite_bb): Free GBB_CLOOG_IV_TYPES.
+       (clast_name_to_gcc): Accept params to be NULL.
+       (clast_to_gcc_expression): Take an extra parameter for the type.
+       Convert to that type all the expressions built by this function.
+       (gcc_type_for_clast_expr, gcc_type_for_clast_eq): New.
+       (graphite_translate_clast_equation): Compute the type of the
+       clast_equation before translating its LHS and RHS.
+       (clast_get_body_of_loop, gcc_type_for_iv_of_clast_loop): New.
+       (graphite_create_new_loop): Compute the type of the induction
+       variable before translating the lower and upper bounds and before
+       creating the induction variable.
+       (rename_variables_from_edge, rename_phis_end_scop): New.
+       (copy_bb_and_scalar_dependences): Call rename_phis_end_scop.
+       (sese_add_exit_phis_edge): Do not use integer_zero_node.
+       (find_cloog_iv_in_expr, compute_cloog_iv_types_1,
+       compute_cloog_iv_types): New.
+       (gloog): Call compute_cloog_iv_types before starting the
+       translation of the clast.
+
+       * graphite.h (struct graphite_bb): New field cloog_iv_types.
+       (GBB_CLOOG_IV_TYPES): New.
+       (debug_ivtype_map): Declared.
+       (oldiv_for_loop): New.
+
+2008-12-10  Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       PR middle-end/38459
+       * graphite.c (new_scop): Initialize SCOP_ADD_PARAMS.
+       (param_index): Assert if parameter is not know after parameter
+       detection.
+       (find_params_in_bb): Detect params directly in GBB_CONDITIONS.
+       (find_scop_parameters): Mark, that we have finished parameter
+       detection.
+       (graphite_transform_loops): Move condition detection before parameter
+       detection.
+       * graphite.h (struct scop): Add SCOP_ADD_PARAMS.
+
+2008-12-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR testsuite/35677
+       * emutls.c (__emutls_get_address): Make sure offset is really zero
+       before initializing the object's offset.
+
+2008-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/38253
+       * gimplify.c (gimplify_init_constructor): Don't force constructor
+       into memory if there is just one nonzero element.
+
+2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
+
+       Fix testsuite/gfortran.dg/graphite/id-4.f90.
+       * graphite.c (scan_tree_for_params): Do not compute the multiplicand
+       when not needed.
+
+2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite.c (build_scops_1): Initialize open_scop.exit
+       and sinfo.last.
+
+2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
+           Jan Sjodin  <jan.sjodin@amd.com>
+           Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       PR middle-end/37852
+       PR middle-end/37883
+       PR middle-end/37928
+       PR middle-end/37980
+       PR middle-end/38038
+       PR middle-end/38039
+       PR middle-end/38073
+       PR middle-end/38083
+       PR middle-end/38125
+
+       * tree-phinodes.c (remove_phi_nodes): New, extracted from...
+       * tree-cfg.c (remove_phi_nodes_and_edges_for_unreachable_block):
+       ... here.
+       * tree-flow.h (remove_phi_nodes, canonicalize_loop_ivs): Declared.
+       * Makefile.in (graphite.o): Depend on value-prof.h.
+       (graphite.o-warn): Removed -Wno-error.
+       * tree-parloops.c (canonicalize_loop_ivs): Allow reduction_list
+       to be a NULL pointer.  Call update_stmt.  Return the newly created
+       cannonical induction variable.
+
+       * graphite.h (debug_rename_map): Declared.  Fix some comments.
+
+       * graphite.c: Reimplement the code generation from graphite to gimple.
+       Include value-prof.h.
+       (loop_iv_stack_get_iv): Do not return NULL for constant substitutions.
+       (get_old_iv_from_ssa_name): Removed.
+       (graphite_stmt_p): New.
+       (new_graphite_bb): Test for useful statements before building a
+       graphite statement for the basic block.
+       (free_graphite_bb): Do not free GBB_DATA_REFS: this is a bug
+       in free_data_ref that calls BITMAP_FREE (DR_VOPS (dr)) without reason.
+       (recompute_all_dominators, graphite_verify,
+       nb_reductions_in_loop, graphite_loop_normal_form): New.
+       (scop_record_loop): Call graphite_loop_normal_form.
+       (build_scop_loop_nests): Iterate over all the blocks of the
+       function instead of relying on the incomplete information from
+       SCOP_BBS.  Return the success of the operation.
+       (find_params_in_bb): Use the data from GBB_DATA_REFS.
+       (add_bb_domains): Removed.
+       (build_loop_iteration_domains): Don't call add_bb_domains.
+       Add the iteration domain only to the basic blocks that have been
+       translated to graphite.
+       (build_scop_conditions_1): Add constraints only if the basic
+       block have been translated to graphite.
+       (build_scop_data_accesses): Completely disabled until data
+       dependence is correctly implemented.
+       (debug_rename_elt, debug_rename_map_1, debug_rename_map): New.
+       (remove_all_edges_1, remove_all_edges): Removed.
+       (get_new_name_from_old_name): New.
+       (graphite_rename_variables_in_stmt): Renamed.
+       rename_variables_in_stmt.  Call get_new_name_from_old_name.
+       Use replace_exp and update_stmt.
+       (is_old_iv): Renamed is_iv.
+       (expand_scalar_variables_stmt): Extra parameter for renaming map.
+       Use replace_exp and update_stmt.
+       (expand_scalar_variables_expr): Same.  Use the map to get the
+       new names for the renaming of induction variables and for the
+       renaming of variables after a basic block has been copied.
+       (expand_scalar_variables): Same.
+       (graphite_rename_variables): Renamed rename_variables.
+       (move_phi_nodes): Removed.
+       (get_false_edge_from_guard_bb): New.
+       (build_iv_mapping): Do not insert the induction variable of a
+       loop in the renaming iv map if the basic block does not belong
+       to that loop.
+       (register_old_new_names, graphite_copy_stmts_from_block,
+       copy_bb_and_scalar_dependences): New.
+       (translate_clast): Heavily reimplemented: copy basic blocks,
+       do not move them.  Finally, in call cleanup_tree_cfg in gloog.
+       At each translation step call graphite_verify ensuring the
+       consistency of the SSA, loops and dominators information.
+       (collect_virtual_phis, find_vdef_for_var_in_bb,
+       find_vdef_for_var_1, find_vdef_for_var,
+       patch_phis_for_virtual_defs): Removed huge hack.
+       (mark_old_loops, remove_dead_loops, skip_phi_defs,
+       collect_scop_exit_phi_args, patch_scop_exit_phi_args,
+       gbb_can_be_ignored, scop_remove_ignoreable_gbbs): Removed.
+       (remove_sese_region, ifsese, if_region_entry, if_region_exit,
+       if_region_get_condition_block, if_region_set_false_region,
+       create_if_region_on_edge, move_sese_in_condition, bb_in_sese_p,
+       sese_find_uses_to_rename_use, sese_find_uses_to_rename_bb,
+       sese_add_exit_phis_edge, sese_add_exit_phis_var,
+       rewrite_into_sese_closed_ssa): New.
+       (gloog): Remove dead code.  Early return if code cannot be
+       generated.  Call cleanup_tree_cfg once the scop has been code
+       generated.
+       (graphite_trans_scop_block, graphite_trans_loop_block): Do not
+       block loops with less than two loops.
+       (graphite_apply_transformations): Remove the call to
+       scop_remove_ignoreable_gbbs.
+       (limit_scops): When build_scop_loop_nests fails, continue on next
+       scop.  Fix open_scop.entry.
+       (graphite_transform_loops): Call recompute_all_dominators: force the
+       recomputation of correct CDI_DOMINATORS and CDI_POST_DOMINATORS.
+       Call initialize_original_copy_tables and free_original_copy_tables
+       to be able to copy basic blocks during code generation.
+       When build_scop_loop_nests fails, continue on next scop.
+       (value_clast): New union.
+       (clast_to_gcc_expression): Fix type cast warning.
+
+2008-12-10  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36792
+       * tree-ssa-pre.c (compute_avail): Handle tcc_comparison like
+       tcc_binary.
+
+2008-12-10  Daniel Berlin  <dberlin@dberlin.org>
+
+       PR tree-optimization/36792
+       * tree-ssa-pre.c (compute_avail): Don't insert defs into maximal set.
+
+2008-12-10  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR target/37033
+       * dwarf2out.c (saved_do_cfi_asm): New.
+       (dwarf2out_do_frame): Take it into account.
+       (dwarf2out_d_cfi_asm): Likewise.  Set it when appropriate.
+
+2008-12-10  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR middle-end/38271
+       * tree-sra.c (sra_build_bf_assignment): Avoid warnings for
+       variables initialized from SRAed bit fields.
+
+2008-12-10  Martin Guy <martinwguy@yahoo.it>
+
+       PR target/37668
+       * arm.c (arm_size_rtx_costs, case NEG): Don't fall through if the
+       result will be in an FPU register.
+
+2008-12-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/37170
+       PR target/38448
+       * final.c (output_addr_const) <SYMBOL_REF>: Call assemble_external
+       on the associated SYMBOL_REF_DECL node, if any.
+
+2008-12-09 David Daney <ddaney@caviumnetworks.com>
+
+       * config/mips/sync.md (sync_<optab>_12): Replace
+       MIPS_SYNC_OP_12_NOT_NOP with MIPS_SYNC_OP_12_AND.
+       (sync_old_<optab>_12): Remove third paramater to
+       MIPS_SYNC_OLD_OP_12 macro, replace MIPS_SYNC_OLD_OP_12_NOT_NOP
+       with MIPS_SYNC_OLD_OP_12_AND.
+       (sync_new_<optab>_12): Replace MIPS_SYNC_NEW_OP_12_NOT_NOP
+       with MIPS_SYNC_NEW_OP_12_AND.
+       (sync_nand_12): Replace MIPS_SYNC_OP_12_NOT_NOT with
+       MIPS_SYNC_OP_12_XOR, reduce length attribute to 40.
+       (sync_old_nand_12): Remove third paramater to MIPS_SYNC_OLD_OP_12
+       macro, replace MIPS_SYNC_OLD_OP_12_NOT_NOT with
+       MIPS_SYNC_OLD_OP_12_XOR and reduce length attribute to 40.
+       (sync_new_nand_12): Replace MIPS_SYNC_NEW_OP_12_NOT_NOT with
+       MIPS_SYNC_NEW_OP_12_XOR.
+       * config/mips/mips.h (MIPS_SYNC_OP_12, MIPS_SYNC_OP_12_NOT_NOP,
+       MIPS_SYNC_OP_12_NOT_NOT,MIPS_SYNC_OLD_OP_12_NOT_NOP,
+       MIPS_SYNC_OLD_OP_12_NOT_NOT, MIPS_SYNC_NEW_OP_12,
+       MIPS_SYNC_NEW_OP_12_NOT_NOP, MIPS_SYNC_NEW_OP_12_NOT_NOT,
+       MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND): Rewritten
+       to implement new __sync_nand semantics.
+       (MIPS_SYNC_OLD_OP_12): Implement new __sync_nand semantics, and
+       remove third parameter.
+       (MIPS_SYNC_OLD_OP_12_NOT_NOP_REG,
+       MIPS_SYNC_OLD_OP_12_NOT_NOT_REG): Removed.
+       (MIPS_SYNC_OP_12_NOT_NOP): Renamed to MIPS_SYNC_OP_12_AND.
+       (MIPS_SYNC_OP_12_NOT_NOT): Renamed to MIPS_SYNC_OP_12_XOR.
+       (MIPS_SYNC_OLD_OP_12_NOT_NOP): Renamed to MIPS_SYNC_OLD_OP_12_AND.
+       (MIPS_SYNC_OLD_OP_12_NOT_NOT): Renamed to MIPS_SYNC_OLD_OP_12_XOR.
+       (MIPS_SYNC_NEW_OP_12_NOT_NOP): Renamed to MIPS_SYNC_NEW_OP_12_AND.
+       (MIPS_SYNC_NEW_OP_12_NOT_NOT): Renamed to MIPS_SYNC_NEW_OP_12_XOR
+
+2008-12-09  Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       * graphite.c (graphite_transform_loops): Always call find_transform ()
+       in ENABLE_CHECKING.  So we test these code paths, even if we do not
+       generate code.
+
+2008-12-09  Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       * graphite.c (print_graphite_bb): Fix printing to file != dump_file.
+
+2008-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/38454
+       * function.h (struct function): Add always_inline_functions_inlined.
+       * ipa-inline.c (cgraph_early_inlining): Set it to true.
+       * tree-optimize.c (execute_fixup_cfg): Likewise.
+       * builtins.c (avoid_folding_inline_builtin): New function.
+       (fold_call_expr): Don't optimize always_inline builtins before
+       inlining.
+       (fold_call_stmt): Likewise.
+       (fold_builtin_call_array): Likewise.  Don't call
+       fold_builtin_varargs for BUILT_IN_MD builtins.
+
+       PR tree-optimization/37416
+       * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle NOP_EXPR.
+
+2008-12-09  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/sourcebuild.texi (Test Directives): Fix formatting.
+
+2008-12-09  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
+
+       * doc/invoke.texi (-fira-region): Describe new option.
+       (-fira-algorithm): Change the values.
+
+       * ira-conflicts.c (build_conflict_bit_table,
+       build_allocno_conflicts): Use ira_reg_classes_intersect_p.
+       (ira_build_conflicts): Use flag flag_ira_region instead of
+       flag_ira_algorithm.  Prohibit usage of callee-saved likely spilled
+       base registers for allocnos crossing calls.
+
+       * flags.h (enum ira_algorithm): Redefine.
+       (enum ira_region): New.
+       (flag_ira_region): New.
+
+       * cfgloopanal.c (estimate_reg_pressure_cost): Use flag_ira_region
+       instead of flag_ira_algorithm.
+
+       * toplev.c (flag_ira_algorithm): Change the initial value.
+       (flag_ira_region): New.
+
+       * ira-int.h (ira_reg_classes_intersect_p,
+       ira_reg_class_super_classes): New.
+
+       * ira-color.c (update_copy_costs): Use
+       ira_reg_classes_intersect_p.  Use right class to find hard reg index.
+       (update_conflict_hard_regno_costs): Ditto.  Add a new parameter.
+       (assign_hard_reg): Ditto.  Pass additional argument to
+       update_conflict_hard_regno_costs.  Do not uncoalesce for priority
+       coloring.
+       (allocno_priorities, setup_allocno_priorities,
+       allocno_priority_compare_func): Move before color_allocnos.
+       (color_allocnos): Add priority coloring.  Use flag flag_ira_region
+       instead of flag_ira_algorithm.
+       (move_spill_restore): Check classes of the same reg allocno from
+       different regions.
+       (update_curr_costs): Use ira_reg_classes_intersect_p.
+       (ira_reassign_conflict_allocnos): Ditto.
+
+       * opts.c (decode_options): Always set up flag_ira.  Set up
+       flag_ira_algorithm.  Warn CB can not be used for architecture.
+       (common_handle_option): Modify code for -fira-algorithm.  Add code
+       to process -fira-region.
+
+       * ira-lives.c (update_allocno_pressure_excess_length): Process
+       superclasses too.
+       (set_allocno_live, clear_allocno_live, mark_reg_live,
+       mark_reg_dead, process_bb_node_lives): Ditto.
+
+       * ira-emit.c (ira_emit): Fix insn codes.
+
+       * ira-build.c (propagate_allocno_info): Use flag flag_ira_region
+       instead of flag_ira_algorithm.
+       (allocno_range_compare_func): Ignore classes for priority coloring.
+       (setup_min_max_conflict_allocno_ids): Ditto.
+       (ira_flattening): Use ira_reg_classes_intersect_p.
+
+       * genpreds.c (write_enum_constraint_num): Output CONSTRAINT__LIMIT.
+
+       * common.opt (fira-algorithm): Modify.
+       (fira-region): New.
+
+       * ira.c (setup_class_hard_regs): Initialize.
+       (setup_cover_and_important_classes): Modify code setting class
+       related info for priority coloring.
+       (setup_class_translate): Ditto.
+       (ira_reg_classes_intersect_p, ira_reg_class_super_classes): New.
+       (setup_reg_class_intersect_union): Rename to
+       setup_reg_class_relations.  Add code for setting up new variables.
+       (find_reg_class_closure): Do not check targetm.ira_cover_classes.
+       (ira): Use flag flag_ira_region instead of flag_ira_algorithm.
+
+       * ira-costs.c (common_classes): New.
+       (print_costs): Use flag flag_ira_region instead of flag_ira_algorithm.
+       (find_allocno_class_costs): Ditto.  Use common_classes.  Translate
+       alt_class.
+       (ira_costs): Allocate/deallocate common_classes.
+
+       * config/m32c/m32.h (REG_ALLOC_ORDER): Add reg 19.
+       (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): New entries for
+       R02A_REGS.
+
+       * reload1.c (choose_reload_regs): Use MODE_INT for partial ints in
+       smallest_mode_for_size.
+
+2008-12-10  Ben Elliston  <bje@au.ibm.com>
+
+       * config/rs6000/linux-unwind.h (get_regs): Constify casts.
+
+2008-12-09  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (estimate_bb_frequencies): Fix test if profile is present.
+
+2008-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/35468
+       * tree-ssa-ccp.c (fold_stmt_r): Don't fold reads from constant
+       string on LHS.
+
+2008-12-09  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/38445
+       * tree-ssa-structalias.c (emit_pointer_definition): Only visit
+       names once.
+       (emit_alias_warning): Adjust.
+
+2008-12-09  Andrew Haley  <aph@redhat.com>
+
+       * fixed-value.c (do_fixed_add): Add comment.
+       * tree-ssa-loop-ivopts.c (iv_ca_cost): Likewise.
+       * builtins.c (fold_builtin_sqrt): Likewise.
+
+2008-12-09  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR/38366
+       * function.c (aggregate_value_p): Get fntype from CALL_EXPR in any
+       case.
+       * calls.c (nitialize_argument_information): Add fntype argument
+       and use it for calls.promote_function_args.
+       (expand_call): Pass fntype to aggregate_value_p if no fndecl
+       available and pass additional fntype to
+       initialize_argument_information.
+       * config/i386/i386.c (ix86_reg_parm_stack_space): Remove cfun part
+       to get function abi type.
+       (init_cumulative_args): Use for abi kind detection fntype, when no
+       fndecl is available.
+
+2008-12-09  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md (movti, movdi_64, movdi_31,
+       *movsi_zarch, *movhi, *movqi, *mov<mode>_64, *mov<mode>_31,
+       *mov<mode>_64dfp, *mov<mode>_64, *mov<mode>_31, mov<mode>): Remove
+       Q->Q alternative.
+       (Integer->BLKmode splitter): Removed.
+
+2008-12-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.c (alpha_set_memflags): Process memory
+       references in full insn sequence.
+
+2008-12-09  Jason Merrill  <jason@redhat.com>
+
+       * gimplify.c (gimplify_init_constructor): Revert to using < rather
+       than <= for sparseness test.
+
+       PR c++/38410
+       * gimplify.c (gimplify_init_constructor): Don't write out a static
+       copy of the CONSTRUCTOR for TREE_ADDRESSABLE types or small sparse
+       initializers.
+
+2008-12-09 Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       PR middle-end/38084
+       Fix testsuite/gfortran.dg/graphite/id-3.f90.
+       * graphite.c (scopdet_basic_block_info): Fix bug that found some
+       regions more than once.
+
+2008-12-09  Ben Elliston  <bje@au.ibm.com>
+
+       * emutls.c (__emutls_get_address): Prototype.
+       (__emutls_register_common): Likewise.
+
+       * config/dfp-bit.c (DFP_TO_INT): Remove unnecessary cast.
+
+2008-12-09  Ben Elliston  <bje@au.ibm.com>
+
+       * config/rs6000/darwin-ldouble.c (fmsub): Remove unused variable, v.
+
+2008-12-08  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.md (UNSPECV_GOTO_RECEIVER): New constant.
+       (nonlocal_goto_receiver): New instruction.
+
+2008-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/35443
+       * c-pretty-print.c (pp_c_expression): Handle BIND_EXPR.
+
+       PR c/35442
+       * c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Handle
+       VIEW_CONVERT_EXPR the same as CASE_CONVERT.
+
+2008-12-08  Richard Henderson  <rth@redhat.com>
+
+       PR 38240
+       * tree.h (TYPE_MODE): Invoke vector_type_mode when needed.
+       (SET_TYPE_MODE): New.
+       * c-decl.c (parser_xref_tag): Use it.
+       (finish_enum): Likewise.
+       * tree.c (build_pointer_type_for_mode): Likewise.
+       (build_reference_type_for_mode, build_index_type): Likewise.
+       (build_range_type, make_vector_type): Likewise.
+       (build_common_tree_nodes_2): Likewise.
+       * stor-layout.c (compute_record_mode): Likewise.
+       (finalize_type_size, layout_type, make_fract_type): Likewise.
+       (make_accum_type, initialize_sizetypes): Likewise.
+       (vector_type_mode): New.
+       * function.c (allocate_struct_function): Call
+       invoke_set_current_function_hook before querying anything else.
+
+       * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Add avx.
+
+2008-12-08  Luis Machado  <luisgpm@br.ibm.com>
+
+       * alias.c (find_base_term): Synch LO_SUM handling with what
+       find_base_value does.
+
+2008-12-08  Andrew Haley  <aph@redhat.com>
+           Kamaraju Kusumanchi <raju.mailinglists@gmail.com>
+
+       * gimple.h (gimple_build_try): Fix declaration.
+
+       * builtins.c (fold_builtin_sqrt): Don't use a conditional operator.
+       * fixed-value.c (do_fixed_add): Likewise.
+       * tree-ssa-loop-ivopts.c (iv_ca_cost): Likewise.
+
+2008-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/36802
+       * omp-low.c (use_pointer_for_field): Only call maybe_lookup_decl
+       on parallel and task contexts.
+
+2008-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple.c (recalculate_side_effects) <tcc_constant>: New case.
+
+2008-12-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/38405
+       * tree-vrp.c (simplify_truth_ops_using_ranges): Make sure to
+       not sign-extend truth values.
+
+2008-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-sra.c (scalarize_use): Create another temporary with the proper
+       type for signed types in the use_all && !is_output bitfield case.
+
+2008-12-06  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR rtl-optimization/36365
+       * df-core.c (df_worklist_dataflow_overeager): Remove.
+       (df_worklist_dataflow): Don't call it, use double-queue only.
+       * params.def (PARAM_DF_DOUBLE_QUQUQ_THRESHOLD_FACTOR): Remove.
+
+2008-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/38428
+       * tree-ssa-operands.c (get_expr_operands) <case BIT_FIELD_REF>: Set
+       gimple_set_has_volatile_ops if the BIT_FIELD_REF is volatile.
+
+2008-12-07  Ben Elliston  <bje@au.ibm.com>
+
+       * gthr-single.h (__gthread_once): Adjust prototype to match all
+       other gthreads models.
+
+2008-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.c (override_options): Use CPU_AMDFAM10
+       instead of PROCESSOR_AMDFAM10 for barcelona's schedule.
+
+       PR middle-end/38422
+       * fold-const.c (fold_unary) <CASE_CONVERT>: Don't convert MULT_EXPR
+       operands to mult_type if it isn't narrower than op0's type.
+
+2008-12-06  Jan Hubicka  <jh@suse.cz>
+           Jakub Jelinek <jakub@redhat.com>
+
+       PR tree-optimization/38074
+       * cgraphbuild.c (compute_call_stmt_bb_frequency): Fix handling of 0
+       entry frequency.
+       * predict.c (combine_predictions_for_bb): Ignore predictor predicting
+       in both dirrection for first match heuristics.
+       (tree_bb_level_predictions): Disable noreturn heuristic when there
+       is no returning path.
+
+2008-12-05  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       PR rtl-optimization/38272
+       * reload1.c (choose_reload_regs): Keep reload_spill_index correct
+       in all cases.
+
+2008-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/35336
+       * c-pretty-print.c (pp_c_postfix_expression): Handle BIT_FIELD_REF.
+       (pp_c_expression): Likewise.
+
+2008-12-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR c/38416
+       * c-parser.c (struct c_token): Make pragma_kind 8 bits.
+
+2008-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/37248
+       * fold-const.c (make_bit_field_ref): Change bitpos and bitsize
+       arguments to HOST_WIDE_INT.  If type has different signedness
+       than unsignedp or different precision from bitsize, create
+       the right type for BIT_FIELD_REF and cast to type.
+       (fold_truthop): Change first_bit and end_bit to HOST_WIDE_INT.
+
+       Revert:
+       2008-03-05  Richard Guenther  <rguenther@suse.de>
+       PR c++/35336
+       * fold-const.c (fold_truthop): Remove code generating
+       BIT_FIELD_REFs of structure bases.
+       (fold_binary): Likewise.
+       (make_bit_field_ref): Remove.
+       (optimize_bit_field_compare): Remove.
+       (all_ones_mask_p): Remove.
+
+2008-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-sra.c (sra_explode_bitfield_assignment): Always
+       call unsigned_type_for, if the precision is higher than
+       needed, call build_nonstandard_integer_type.
+
+       PR debug/38367
+       * function.c (assign_parm_find_stack_rtl): If promoted_mode
+       is wider than DECL_MODE, adjust MEM_OFFSET (stack_parm) for
+       big endian.
+
+       PR middle-end/38338
+       * builtins.c (expand_builtin_apply_args): Put before parm_birth_insn
+       only if internal_arg_pointer is a non-virtual pseudo.
+
+2008-12-05  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/rs6000/rs6000.md (move_from_CR_gt_bit): Enable for
+       TARGET_HARD_FLOAT && !TARGET_FPRS, not TARGET_E500.
+       * config/rs6000/spe.md (e500_cr_ior_compare): Likewise.
+
+2008-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/37716
+       * gimplify.c (gimplify_expr): Allow COND_EXPR if
+       gimplify_ctxp->allow_rhs_cond_expr.
+
+2008-12-05  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.c (alpha_fold_vector_minmax): Create
+       VIEW_CONVERT_EXPR to convert output to long_integer_type_node.
+
+       (alpha_emit_conditional_branch): Do not generate direct branch
+       for UNORDERED comparisons.
+
+2008-12-05  Andreas Schwab  <schwab@suse.de>
+
+       * config/rs6000/linux-unwind.h (frob_update_context): Check for
+       NULL lr.
+
+2008-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/38408
+       * fold-const.c (fold_checksum_tree): Change buf type to union
+       tree_node.
+
+2008-12-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR bootstrap/38262
+       * Makefile.in (LIBS): Remove GMPLIBS, CLOOGLIBS and PPLLIBS.
+       (BACKENDLIBS): New.
+       (cc1-dummy, cc1): Add BACKENDLIBS, remove GMPLIBS.
+
+2008-12-05  Ben Elliston  <bje@au.ibm.com>
+
+       * c-parser.c (c_parser_enum_specifier): Initialise ident_loc and
+       comma_loc.
+       (c_parser_initelt): Initialise des_loc and ellipsis_loc.
+
+2008-12-04  Eric Botcazou  <ebotcazou@adacore.com>
+           Gary Funck  <gary@intrepid.com>
+
+       * cse.c (lookup_as_function): Delete mode frobbing code.
+       (equiv_constant): Re-implement it there for SUBREGs.
+
+2008-12-04  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/36509
+       * Makefile.in (tree-ssa-alias-warnings.o): Remove.
+       (tree-ssa-structalias.o): Remove errors.h dependency.
+       (tree-ssa-reassoc.o): Likewise.
+       * tree-ssa-reassoc.c: Do not include errors.h.
+       * tree-ssa-alias-warnings.c: Remove.
+       * tree-ssa-alias.c (compute_may_aliases): Remove call to
+       strict_aliasing_warning_backend.
+       * tree-ssa-structalias.c (emit_pointer_definition): New function.
+       (emit_alias_warning): Likewise.
+       (set_uids_in_ptset): Warn for clear cases of type-punning.
+       * tree-inline.c (remap_gimple_op_r): Preserve TREE_NO_WARNING
+       on INDIRECT_REFs.
+
+2008-12-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cse.c (equiv_constant): Fix pasto.
+
 2008-12-04  Nick Clifton  <nickc@redhat.com>
 
-       * config/stormy16/stormy16.md: Remove extraneous spaces and
-       quotes.
+       * config/stormy16/stormy16.md: Remove extraneous spaces and quotes.
        * config/stormy16/stormy16.c: Remove extraneous spaces and fix up
        formatting of quotes.
 
 
 2008-12-03  Tomas Bily  <tbily@suse.cz>
 
-        PR middle-end/38250
-        * tree-loop-distribution.c (build_size_arg): New function.
-        (generate_memset_zero): Checks if dr_analyze_innermost succeed.
-        Reorganized generating of stmts.
-        * testsuite/gcc.dg/tree-ssa/pr38250.c: New file.
-        * tree-data-ref.c (dr_analyze_innermost): Returns bool.
-        Indicate if analysis succeed.
-        * tree-data-ref.h (dr_analyze_innermost): Returns bool.
-        * tree-predcom.c (valid_initializer_p, find_looparound_phi):
-        Uses new definition of dr_analyze_innermost.
+       PR middle-end/38250
+       * tree-loop-distribution.c (build_size_arg): New function.
+       (generate_memset_zero): Checks if dr_analyze_innermost succeed.
+       Reorganized generating of stmts.
+       * testsuite/gcc.dg/tree-ssa/pr38250.c: New file.
+       * tree-data-ref.c (dr_analyze_innermost): Returns bool.
+       Indicate if analysis succeed.
+       * tree-data-ref.h (dr_analyze_innermost): Returns bool.
+       * tree-predcom.c (valid_initializer_p, find_looparound_phi):
+       Uses new definition of dr_analyze_innermost.
 
 2008-12-03  Ben Elliston  <bje@au.ibm.com>
 
        * configure: Regenerated.
 
 2008-12-03  Eric Botcazou  <ebotcazou@adacore.com>
-            Jakub Jelinek  <jakub@redhat.com>
-            Andrew Pinski  <andrew_pinski@playstation.sony.com>
+           Jakub Jelinek  <jakub@redhat.com>
+           Andrew Pinski  <andrew_pinski@playstation.sony.com>
 
        PR rtl-optimization/38281
        * combine.c (distribute_notes): When invoking SET_INSN_DELETED on i2,
 2008-12-02  Martin Jambor  <mjambor@suse.cz>
 
        PR middle-end/37861
-        * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not check
-        for INDIRECT_REFs.
-        (forward_propagate_addr_into_variable_array_index): Check that the
-        offset is not computed from a MULT_EXPR, use is_gimple_assign rather
-        than the gimple code directly.
-        
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not check
+       for INDIRECT_REFs.
+       (forward_propagate_addr_into_variable_array_index): Check that the
+       offset is not computed from a MULT_EXPR, use is_gimple_assign rather
+       than the gimple code directly.
+
 2008-12-02  Ben Elliston  <bje@au.ibm.com>
 
        * config/spu/float_disf.c (__floatdisf): Prototype.
 
 2008-12-02  Danny Smith  <dannysmith@users.sourceforge.net>
 
-        PR target/38054
+       PR target/38054
        * config/i386/winnt.c (i386_pe_encode_section_info): Condition stdcall
        decoration of function RTL names here on Ada language.
 
        (generate_edge_moves): Use store_can_be_removed_p instead of
        not_modified_p.
        (ira_emit): Call setup_entered_from_non_parent_p.
-       
+
        * ira-build.c (copy_info_to_removed_store_destinations):
        Accumulate CALL_FREQ, CALL_CROSSED_NUM, and
        ALLOCNO_EXCESS_PRESSURE_POINTS_NUM.
        (ira_flattening): Don't CHECK MEM_OPTIMIZED_DEST[_P], always
        update all accumulated attributes.
-       
+
 2008-11-19  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR bootstrap/37790
        ira_finish_allocno_live_range_list): New prototypes.
        (ira_allocno_live_ranges_intersect_p,
        ira_pseudo_live_ranges_intersect_p): Remove.
-       
+
        * ira-conflicts.c (ira_allocno_live_ranges_intersect_p,
        ira_pseudo_live_ranges_intersect_p): Rename to
        allocnos_have_intersected_live_ranges_p and
        (copy_info_to_removed_store_destinations): Ditto.  Use
        ira_copy_allocno_live_range_list.
        (ira_flattening): Use ira_merge_allocno_live_ranges.
-       
+
        * ira.c (too_high_register_pressure_p): New function.
        (ira): Switch off sharing spill slots if the pressure is too high.
 
 
        PR target/38156
        * tree-parloops.c (loop_parallel_p): NULL vect_dump.
-       (separate_decls_in_region): Create shared struct even when there 
+       (separate_decls_in_region): Create shared struct even when there
        are only reductions.
 
 2008-11-19  Hariharan Sandanagobalane <hariharan@picochip.com>
        * builtins.c (expand_builtin_sync_operation): Warn for changed
        semantics in NAND builtins.
        * c.opt (Wsync-nand): New warning option.  Describe -Wsync-nand.
-       
+
        * doc/invoke.texi (Warning options): Add Wsync-nand.
        * doc/extend.texi (Atomic Builtins) [__sync_fetch_and_nand]: Correct
        __sync_fetch_and_nand builtin operation in the example.  Add a note
        (ira_build): Call it.
 
        * ira-costs.c (record_reg_classes): Set up ALLOCNO_BAD_SPILL_P.
-       
+
 2008-11-14  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/38104
        * config/mips/sde.h: Likewise.
        * config/mips/iris6.h: Likewise.
        * config/mips/vr.h: Likewise.
-       * config/mips/mips.h (BASE_DRIVER_SELF_SPECS): New. 
+       * config/mips/mips.h (BASE_DRIVER_SELF_SPECS): New.
 
 2008-11-10  Vladimir Makarov  <vmakarov@redhat.com>
 
 
        * ira-costs.c (scan_one_insn): Use alloc_pref for load from
        equivalent memory.
-       
+
 2008-11-10  Kaz Kojima  <kkojima@gcc.gnu.org>
 
        PR rtl-optimization/37514
        PR middle-end/37379
        * tree-scalar-evolution.c (instantiate_scev_1): Return
        chrec_dont_know for VL_EXP_CLASS_P.
-       
+
 2008-11-06  Uros Bizjak  <ubizjak@gmail.com>
 
        * reg-stack.c (reg_to_stack): Add missing braces in memset
 
        PR target/26397
        * config/rs6000/aix.h (LIBSTDCXX_STATIC): Define.
-       
+
 2008-11-06  Kazu Hirata  <kazu@codesourcery.com>
 
        PR target/35574
 
        * doc/sourcebuild.texi (Torture Tests): Add ADDITIONAL_TORTURE_OPTIONS.
 
-2008-11-06  Ben Elliston  <bje@au.ibm.com>     
+2008-11-06  Ben Elliston  <bje@au.ibm.com>
 
        * config/rs6000/rs6000.c (rs6000_override_options): Comment fix.
 
        merging read-only and read-write sections or assembler emits
        read-write .eh_frame sections.
        * configure: Regenerate.
-       
+
 2008-11-03  Nathan Froyd  <froydnj@codesourcery.com>
 
        Revert:
        PR target/37878
        * config/rs6000/predicates.md (word_offset_memref_operand):
        Restructure code and look inside auto-inc/dec addresses.
-       
+
 2008-10-29  Steve Ellcey  <sje@cup.hp.com>
 
        PR target/32277
        * real.h (real_can_shorten_arithmetic): Declare.
 
 2008-10-29  Bernd Schmidt  <bernd.schmidt@analog.com>
-       
+
        * config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315,
        ENABLE_WA_05000257, ENABLE_WA_05000283, ENABLE_WA_05000315): New.
        * config/bfin/bfin.c (bfin_cpus): Add these workaround bits as
        * ira-int.h (ira_allocno): Add member updated_cover_class_cost.
        (ALLOCNO_UPDATED_COVER_CLASS_COST): New.
        (ira_fast_allocation): Remove the prototype.
-       
+
        * ira-color.c (update_copy_costs, allocno_cost_compare_func,
        assign_hard_reg, calculate_allocno_spill_cost): Use updated costs.
        (color_pass): Modify the updated costs.
        (ira_color): Rename to color.  Make it static.
        (ira_fast_allocation): Rename to fast_allocation.  Make it static.
        (ira_color): New function.
-       
+
        * ira-conflicts.c (process_regs_for_copy): Propagate hard reg cost
        change.
 
 
        * ira-costs.c (setup_allocno_cover_class_and_costs): Don't set up
        updated costs.
-       
+
 2008-10-27  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR middle-end/37813
        From Jie Zhang  <jie.zhang@analog.com>
        * config/bfin/bfin.md (composev2hi): Put operands into vector
        with correct order.
-       
+
 2008-10-22  Chao-ying Fu  <fu@mips.com>
 
        * config/mips/mips.opt (msmartmips): Accept -mno-smartmips.
 
        * doc/invoke.texi (Option Summary): Add -T to linker options.
        (Link Options): Document -T.
-       
+
 2008-10-21  Jakub Jelinek  <jakub@redhat.com>
 
        * tree-inline.c (tree_inlinable_function_p): Remove tuples
 
        * doc/rtl.texi (clobber): Change descriotion of RA behaviour for
        early clobbers of pseudo-registers.
-       
+
 2008-10-15  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR middle-end/37674
        * ira-build.c (ira_flattening): Recalculate
        ALLOCNO_TOTAL_NO_STACK_REG_P and ALLOCNO_TOTAL_CONFLICT_HARD_REGS
        from the scratch instead of the propagation.
-       
+
 2008-10-15  Richard Sandiford  <rdsandiford@googlemail.com>
 
        * doc/rtl.texi (const_double): Remove the "addr" operand.
        * haifa-sched.c (create_check_block_twin): Update calls to the above.
        * sel-sched.c (create_speculation_check): Likewise.
        * doc/tm.texi: Provide documentation for new target hooks.
-               
+
        * config/ia64/ia64.c: Include sel-sched.h.  Rewrite speculation hooks.
        (ia64_gen_spec_insn): Removed.
        (get_spec_check_gen_function, insn_can_be_in_speculative_p,
        (ia64_dfa_new_cycle): Assert that last_scheduled_insn is set when
        a group barrier is needed.  Fix vertical spacing.  Guard the code
        doing state transition with last_scheduled_insn check.
-       Mark that a stop bit should be before current insn if there was a 
+       Mark that a stop bit should be before current insn if there was a
        cycle advance.  Update current_cycle and mem_ops_in_group.
        (ia64_h_i_d_extended): Change use of current_sched_info to
        sched_deps_info. Reallocate stops_p by larger chunks.
        ia64_free_sched_context): New static functions.
        (gen_func_t): New typedef.
        (get_spec_load_gen_function): New function.
-       (SPEC_GEN_EXTEND_OFFSET): Declare.      
+       (SPEC_GEN_EXTEND_OFFSET): Declare.
        (ia64_set_sched_flags): Check common_sched_info instead of *flags.
        (get_mode_no_for_insn): Change the condition that prevents use of
        special hardware registers so it can now handle pseudos.
        (sel2_run): New variable.
        (ia64_reorg): When flag_selective_scheduling2 is set, run the
        selective scheduling pass instead of schedule_ebbs.
-       
+
        * config/ia64/ia64.md (speculable1, speculable2): New attributes.
        (UNSPEC_LDS_A): New UNSPEC.
        (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
        instead of Common Report Var.
 
        * config/ia64/itanium2.md: Remove incorrect bypass.
-       
+
        * config/ia64/t-ia64 (ia64.o): Add dependency on sel-sched.h.
 
 2008-10-14  Jakub Jelinek  <jakub@redhat.com>
        PR middle-end/37808
        * df-scan.c (df_ref_change_reg_with_loc_1): Added test to make
        sure that ref has valid bb.
-       
+
 2008-10-12  Richard Henderson  <rth@redhat.com>
 
        PR middle-end/37447
        * global.c (compute_regs_asm_clobbered, build_insn_chain):
        Replaced struct df_ref * with df_ref.
        * ifcvt.c (dead_or_predicable): Replaced struct df_ref * with df_ref.
-       * sel-sched-ir.c (maybe_downgrade_id_to_use, setup_id_reg_sets):
+       * sel-sched-ir.c (maybe_downgrade_id_to_use, setup_id_reg_sets):
        Replaced struct df_ref * with df_ref.
        * ira-lives.c (mark_ref_live, def_conflicts_with_inputs_p,
        mark_ref_dead, process_bb_node_lives): Replaced struct df_ref *
        (print_statistics, dump_alloc_pool_statistics): Enhance the
        printing of statistics to print the number of elements and to use
        unsigned longs.
-       
+
 2008-10-07  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/37576
 
 2008-10-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
 
-       * config/rs6000/rs6000.md (fseldfsf4): Add TARGET_SINGLE_FLOAT 
+       * config/rs6000/rs6000.md (fseldfsf4): Add TARGET_SINGLE_FLOAT
        condition.
        (fselsfdf4): Make condition on "TARGET_HARD_FLOAT && TARGET_FPRS &&
        TARGET_DOUBLE_FLOAT && TARGET_SINGLE_FLOAT".
        and VECTOR_TYPE recurse with useless_type_conversion_p which
        properly handles void pointer conversion.
 
-2008-10-02  Danny Smith  <dannysmith@users.sourceforge.net>  
+2008-10-02  Danny Smith  <dannysmith@users.sourceforge.net>
 
        PR target/37528
        * config/i386/mingw32.h (LIBGCC_SPEC) : Replace with ..
        (coalesced_allocnos_live_at_points_p,
        set_coalesced_allocnos_live_points): New functions.
        (coalesce_spill_slots): Rewrite.
-       
+
        * ira-lives.c (remove_some_program_points_and_update_live_ranges,
        ira_compress_allocno_live_ranges): New functions.
 
 
 2008-09-25 Sergei Dyshel <sergeid@il.ibm.com>
 
-       * matrix-reorg.c (transform_allocation_sites): Initializers 
+       * matrix-reorg.c (transform_allocation_sites): Initializers
        added to avoid the warning.
 
 2008-09-25  Martin Jambor  <mjambor@suse.cz>
        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
 
 2008-09-22  Danny Smith  <dannysmith@users.sourceforge.net>
 
-       PR target/37528 
+       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.
        * 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
        (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
        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 
+       (eliminate_useless_phis): Rename from eliminate_virtual_phis and
        remove real PHIs which have no uses.
        (rewrite_out_of_ssa): Call eliminate_useless_phis.
 
 
        * doc/rtl.texi: Removed reference to REG_NO_CONFLICT notes.
        * optabs.c (expand_binop, expand_absneg_bit, expand_unop,
-       expand_copysign_bit): Change call to emit_no_conflict_block to
+       expand_copysign_bit): Change call to emit_no_conflict_block to
        emit_insn and remove unneeded code to construct extra args.
        (emit_no_conflict_block): Removed.
        * optabls.h: (emit_no_conflict_block): Removed.
        * dojump.c (do_jump): Likewise.
        * tree-ssa-sccvn.c (simplify_unary_expression): Likewise.
        * tree-gimple.c (is_gimple_cast): Likewise.
-       * fold-const.c (decode_field_reference)
+       * fold-const.c (decode_field_reference)
        (fold_sign_changed_comparison, fold_unary, fold_comparison)
        (fold_binary): Likewise.
        * tree-ssa-alias-warnings.c (find_alias_site_helper)
        (compute_reloc_for_constant, output_addressed_constants): Likewise.
        * emit-rtl.c (component_ref_for_mem_expr)
        (set_mem_attributes_minus_bitpos): Likewise.
-       * expr.c (highest_pow2_factor, expand_expr_real_1)
+       * expr.c (highest_pow2_factor, expand_expr_real_1)
        (is_aligning_offset): Likewise.
        * dwarf2out.c (loc_descriptor_from_tree_1, add_bound_info): Likewise.
        * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Likewise.