+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.
* 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 *
* 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.