+2011-05-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (legitimize_tls_address)
+ <TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
+ expanders directly for TARGET_GNU2_TLS. Determine pic and
+ __tls_get_addr symbol reference here. Update call to
+ gen_tls_global_dynamic_{32,64} for added arguments.
+ <TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
+ expanders directly for TARGET_GNU2_TLS. Determine
+ __tls_get_addr symbol reference here. Update call to
+ gen_tls_local_dynamic_base_{32,64} for added arguments. Attach
+ unique UNSPEC REG_EQUIV to libcall block.
+ (ix86_tls_get_addr): Declare static.
+ * config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration.
+ * config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3.
+ Do not determine pic and __tls_get_addr symbol reference here. Do not
+ call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS.
+ (tls_local_dynamic_base_32): Ditto for operands 1 and 2.
+ (tls_global_dynamic_64): Add operand 2. Do not determine
+ __tls_get_addr symbol reference here. Do not call
+ gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here.
+ (tls_local_dynamic_base64): Ditto for operand 1.
+
+2011-05-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * function.c (expand_function_start): Initialize stack_check_probe_note
+ only if the generic stack checking mechanism is used.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/15256
+ * tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize
+ (A & B) | C, combine (A op CST1) op CST2.
+ (tree_ssa_forward_propagate_single_use_vars): Only bother to
+ visit assigns that have uses.
+
+2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common.
+ * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
+ (unpack_ts_type_common_value_fields): ...this. Update comment.
+ (unpack_value_fields): Adjust for renaming.
+ (lto_input_ts_type_tree_pointers): Split into...
+ (lto_input_ts_type_common_tree_pointer): ...this and...
+ (lto_input_ts_type_non_common_tree_pointers): ...this.
+ (lto_input_tree_pointers): Adjust for above split.
+ * lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
+ (pack_ts_type_common_value_fields): ...this. Update comment.
+ (lto_output_ts_type_tree_pointers): Split into...
+ (lto_output_ts_type_common_tree_pointers): ...this and...
+ (lto_output_ts_type_non_common_tree_pointers): ...this.
+ (lto_output_tree_pointers): Adjust for above split.
+ * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
+ TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
+ * stor-layout.c (vector_type_mode): Adjust location of mode field.
+ * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
+ Define.
+ (struct tree_type): Split into...
+ (struct tree_type_common: ...this and...
+ (struct tree_type_with_lang_specific): ...this and...
+ (struct tree_type_non_common): ...this. Adjust accessor macros
+ accordingly.
+ (TYPE_VALUES_RAW): Define.
+ (union tree_node): Update for above changes.
+ * tree.c (tree_node_structure_for_code) [tcc_type]: Return
+ TS_TYPE_NON_COMMON.
+ (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
+ Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
+ (tree_code_size) [tcc_type]: Use struct tree_type_non_common.
+ * treestructu.def (TS_TYPE): Remove.
+ (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
+ Define.
+
+2011-05-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48159
+ * tree-ssa.c (reset_debug_uses): New function.
+ * tree-flow.h (reset_debug_uses): New prototype.
+ * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
+ * tree-loop-distribution.c (generate_loops_for_partition): Call
+ reset_debug_uses on the stmts that will be removed. Keep around
+ all debug stmts, don't count them as bits in partition bitmap.
+ (generate_builtin): Don't count debug stmts or labels as bits in
+ partition bitmap.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_type_hash_1): Merge with ...
+ (gimple_type_hash): ... this.
+ (gtc_visit): Remove mode parameter and simplify accordingly.
+ (gimple_types_compatible_p_1): Likewise.
+ (gimple_types_compatible_p): Likewise.
+ (iterative_hash_gimple_type): Likewise.
+ (visit): Likewise.
+ (gimple_type_eq): Adjust.
+
+2011-05-11 Revital Eres <revital.eres@linaro.org>
+
+ * ddg.c (create_ddg_dep_from_intra_loop_link): If a true dep edge
+ enters the branch create an anti edge in the opposite direction
+ to prevent the creation of reg-moves.
+ * modulo-sched.c: Adjust comment to reflect the fact we are
+ scheduling closing branch.
+ (PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT and redefine.
+ (stage_count): New field in struct partial_schedule.
+ (calculate_stage_count): New function.
+ (normalize_sched_times): Rename to reset_sched_times and handle
+ incrementing the sched time of the nodes by a constant value
+ passed as parameter.
+ (duplicate_insns_of_cycles): Skip closing branch.
+ (sms_schedule_by_order): Schedule closing branch.
+ (ps_insn_find_column): Handle closing branch.
+ (sms_schedule): Call reset_sched_times and adjust the code to
+ support scheduling of the closing branch.
+ (ps_insert_empty_row): Update calls to normalize_sched_times
+ and rotate_partial_schedule functions.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48953
+ * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
+
+2011-05-11 Joseph Myers <joseph@codesourcery.com>
+
+ * opts.c (finish_options): Move warning settings from process_options.
+ * toplev.c (process_options): Move warning settings to finish_options.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/18041
+ * tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ...
+ (simplify_bitwise_binary): ... this. Handle operand conversions
+ by applying them to the result instead.
+ (tree_ssa_forward_propagate_single_use_vars): Adjust. CSE tree code.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_canonical_types_compatible_p): Split out
+ from gimple_types_compatible_p and friends. Do not recurse
+ to pointed-to types.
+ (gimple_canonical_type_eq): Use it.
+ (iterative_hash_canonical_type): Split out from
+ iterative_hash_gimple_type and friends. Do not recurse
+ to pointed-to types.
+ (gimple_canonical_type_hash): Use it, allocate the hash here.
+
+2011-05-11 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (doloop_register_get): Ignore DEBUG_INSNs while
+ recognizing doloop.
+
+2011-05-11 Revital Eres <revital.eres@linaro.org>
+
+ * loop-doloop.c (doloop_condition_get): Use prev_nondebug_insn
+ instead of PREV_INSN.
+
+2011-05-11 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (sms_schedule): Support new form of doloop pattern
+ * loop-doloop.c (doloop_condition_get): Likewise.
+ * config/arm/thumb2.md (*thumb2_addsi3_compare0): Remove "*".
+ (doloop_end): New.
+ * config/arm/arm.md (*addsi3_compare0): Remove "*".
+
+2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.def (CASE_LABEL_EXPR): Add an operand.
+ * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
+
+2011-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (c_override_global_bindings_to_false): Remove.
+ (global_bindings_p): Don't check
+ c_override_global_bindings_to_false.
+ * c-tree.h (c_override_global_bindings_to_false): Remove.
+ * c-typeck.c (composite_type): Don't set
+ c_override_global_bindings_to_false.
+
+2011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/48857, 48495
+ * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
+ (VSX_MODE): Ditto.
+ (VSX_MOVE_MODE): Ditto.
+ (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
+ VSX vector types. Add V2DImode.
+ (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
+ ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
+ (MODES_TIEABLE_P): Ditto.
+
+ * config/rs6000/rs6000.c (rs6000_emit_move): Use
+ ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
+ VSX_VECTOR_MODE.
+ (init_cumulative_args): Ditto.
+ (rs6000_function_arg_boundary): Ditto.
+ (rs6000_function_arg_advance_1): Ditto.
+ (rs6000_function_arg): Ditto.
+ (rs6000_function_ok_for_sibcall): Ditto.
+ (emit_frame_save): Ditto.
+ (rs6000_function_value): Ditto.
+ (rs6000_libcall_value): Ditto.
+
+2011-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
+ i386/darwin-lib.h to $libgcc_tm_file.
+ * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.
+
+2011-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
+
+2011-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New files.
+ * config/rs6000/rs6000-tables.opt: New file (generated).
+ * config.gcc (powerpc*-*-*, rs6000*-*-*): Add
+ rs6000/rs6000-tables.opt to extra_options.
+ * config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define.
+ * config/rs6000/rs6000.c (rs6000_select): Remove.
+ (processor_target_table): Move contents to rs6000-cpus.def.
+ (darwin_rs6000_override_options): Check
+ global_options_set.x_rs6000_cpu_index instead of
+ rs6000_select[1].string.
+ (rs6000_option_override_internal): Likewise.
+ (rs6000_handle_option): Don't assert that global structures are in
+ use. Don't handle OPT_mcpu_ and OPT_mtune_ here.
+ (rs6000_default_cpu): New variable.
+ (rs6000_file_start): Set it instead of local default_cpu. Check
+ rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and
+ global_options_set.x_rs6000_tune_index instead of rs6000_select.
+ (rs6000_darwin_file_start): Check rs6000_default_cpu and
+ global_options_set.x_rs6000_cpu_index instead of rs6000_select.
+ * config/rs6000/rs6000.h (struct rs6000_cpu_select,
+ rs6000_select): Remove.
+ * config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index):
+ Remove.
+ (mcpu=, mtune=): Use Var, Init, Enum and Save.
+ * config/rs6000/t-rs6000
+ ($(srcdir)/config/rs6000/rs6000-tables.opt): New.
+ * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
+ global_options_set.x_rs6000_cpu_index instead of
+ rs6000_select[1].string.
+ * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
+ global_options_set.x_rs6000_cpu_index instead of
+ rs6000_select[1].string.
+
+2011-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (libgcc_tm_file): Define instead of including files
+ from ../../libgcc/config/ in tm_file.
+ * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Define.
+ * configure: Regenerate.
+ * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
+ libgcc_tm.h, cs-libgcc_tm.h): New.
+ (TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
+ (clean): Remove libgcc_tm.h.
+ * config/arm/symbian.h (RENAME_LIBRARY): Remove.
+ * mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
+ * system.h (DECLARE_LIBRARY_RENAMES): Poison.
+
+2011-05-10 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/48896
+ * config/avr/avr.c (avr_ret_register): Return unsigned int
+ instead of int.
+ (avr_function_value): Mark fn_decl_or_type as unused, don't pass
+ it to avr_libcall_value.
+ avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
+ expand_expr.
+ (avr_expand_binop_builtin): Ditto.
+ (avr_expand_unop_builtin): Ditto.
+
+2011-05-10 DJ Delorie <dj@redhat.com>
+
+ * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
+ (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
+ * config/rx/rx.c (rx_align_for_label): Add label and
+ uses_threshold parameters. Do not align when the label is not
+ used enough.
+ * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
+
+2011-05-10 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (combine_conversions): Pattern-match
+ a series of conversions and apply foldings similar to what
+ fold-const does.
+ (tree_ssa_forward_propagate_single_use_vars): Call it.
+
+2011-05-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48611
+ PR tree-optimization/48794
+ * tree-eh.c (remove_unreachable_handlers): Don't remove regions
+ referenced from RESX or EH_DISPATCH arguments.
+
+ PR debug/48928
+ * dfp.c (decimal_to_decnumber): Handle conversion from
+ dconst{1,2,m1,half}.
+
+2011-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
+ for !flag_prefer_avx128.
+ (ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.
+
+2011-05-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (fold_range_test): Pass LOC to build_range_check.
+ (fold_ternary_loc): Use expr_location_or.
+
+2011-05-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR debug/48853
+ * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
+ POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
+ Pmode and mem_mode is not VOIDmode.
+
+2011-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST, TYPE_QUAL_VOLATILE,
+ TYPE_QUAL_RESTRICT): Convert to enum.
+
+2011-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
+ (const_pow2_1_to_8_operand): Ditto.
+ (const_pow2_1_to_128_operand): Ditto.
+ (const_pow2_1_to_32768_operand): Ditto.
+ * config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
+ const_pow2_1_to_8_operand for operand 3 predicate. Use exact_log2
+ in insn constraint to check integer value of operand 3.
+ * config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.
+
+ (PINSR_MODE): New mode iterator.
+ (sse2p4_1): New mode attribute.
+ (<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
+ sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
+ iterator. Use const_int_operand instead of
+ const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate. Use
+ exact_log2 in insn constraint to check integer value of operand 3.
+
+2011-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (blendbits): Remove mode attribute.
+ (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
+ instead of const_0_to_<blendbits>_operand for operand 3 predicate.
+ Check integer value of operand 3 in insn constraint.
+
+2011-05-09 Richard Guenther <rguenther@suse.de>
+
+ * lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
+ for diagnostics.
+ (lto_symtab_merge): Likewise. Do not register types here.
+ (lto_symtab_merge_decls_2): Likewise.
+ (lto_symtab_merge_decls_1): Likewise.
+ * gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
+ * gimple.c (enum gtc_mode): Declare.
+ (gimple_types_compatible_p): Make static.
+
+2011-05-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
+ temporary register to match Pmode.
+
+2011-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
+ and *vec_concatv4si_1_avx.
+
+2011-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/48927
+ * ira-conflicts.c (commutative_constraint_p): Use
+ recog_data.alternative_enabled_p to disable alternatives where
+ "enabled" attribute is false.
+ (get_dup_num): Ditto.
+ * ira-lives.c (single_reg_class): Ditto.
+ (ira_implicitly_set_insn_hard_regs): Ditto.
+
+2011-05-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
+ (dataflow_set_preserve_mem_locs): Likewise.
+
+2011-05-09 Philipp Thomas <pth@suse.de>
+
+ * config/mep/mep.c (mep_validate_vliw): Syntax description
+ should not be translated.
+
+2011-05-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
+ * config/mips/mips-tables.opt: New file (generated).
+ * config.gcc (mips*-*-*): Add mips/mips-tables.opt to extra_options.
+ * config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
+ MIPS_ARCH_OPTION_NATIVE): Define.
+ * config/mips/mips.c (mips_cpu_info_table): Move contents to
+ mips-cpus.def.
+ (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
+ mips_parse_cpu): Remove.
+ (mips_cpu_info_from_opt, mips_default_arch): New.
+ (mips_handle_option): Don't assert that global structures are in
+ use. Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
+ (mips_option_override): Use new variables and functions to set
+ state of these options. Use strcmp to check for individual CPU names.
+ * config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
+ definition.
+ * config/mips/mips.opt (march=): Use ToLower and Enum.
+ (mips): Use ToLower, Enum and Var.
+ (mtune=): Use ToLower and Enum.
+ * config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.
+
+2011-05-08 Jan Hubicka <jh@suse.cz>
+
+ * gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
+ Arrange type pairs to be UID ordered.
+ (gimple_lookup_type_leader): Make inline.
+
+2011-05-09 Nick Clifton <nickc@redhat.com>
+
+ PR target/48899
+ * config/iq2000/iq2000.opt (iq2000_tune): Initialise to
+ PROCESSOR_DEFAULT.
+
+ PR target/48897
+ * config/mn10300/mn10300.c (extract_bundle): Remove spurious local
+ variable 's'.
+
+2011-05-08 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * combine.c (simplify_comparison): Abstract out parts into...
+ (simplify_compare_const): ... new function.
+ (try_combine): Generalize parallel arithmetic/compare combining
+ to call simplify_compare_const() and CANONICALIZE_COMPARE().
+
+2011-05-08 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
+ (cgraph_create_virtual_clone): Call hooks once virtual clone
+ is finished.
+ * cgraph.h (cgraph_clone_node): Update prototype.
+ * ipa-cp.c (ipcp_estimate_growth): Use
+ estimate_ipcp_clone_size_and_time.
+ * ipa-inline-transform.c (clone_inlined_nodes): Update.
+ * lto-cgraph.c (input_node): Update.
+ * ipa-inline.c (recursive_inlining): Update.
+ * ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
+ (evaluate_conditions_for_known_args): Break out from ...
+ (evaluate_conditions_for_edge): ... here.
+ (evaluate_conditions_for_ipcp_clone): New function.
+ (inline_node_duplication_hook): Update clone summary based
+ on parameter map.
+ (estimate_callee_size_and_time): Rename to ...
+ (estimate_node_size_and_time): take NODE instead of EDGE;
+ take POSSIBLE_TRUTHS as argument.
+ (estimate_callee_size_and_time): Update.
+ (estimate_ipcp_clone_size_and_time): New function.
+ (do_estimate_edge_time): Update.
+
+2011-05-08 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48908
+ PR middle-end/48905
+ * expmed.c (expand_shift_1): Compute adjusted constant shift
+ amount manually.
+
+2011-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/avr/avr.c (print_operand_address): Fix invalid RTL access.
+
+2011-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
+
+2011-05-08 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/invoke.texi (-fuse-linker-plugin): Improve grammar.
+
+2011-05-07 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-transform.c (inline_call): Account when program size
+ decreases.
+ * ipa-inline.c (relative_time_benefit): New function.
+ (edge_badness): Reorganize to be power 2 based; fix thinko when
+ computing badness for negative growth; update comments to match
+ reality; better dumps.
+
+2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * langhooks.h (lang_hooks_for_types): Change global_bindings_p's return
+ type to bool and adjust comment.
+ * fold-const.c (fold_range_test): Adjust call to global_bindings_p.
+ (fold_mathfn_compare): Remove calls to global_bindings_p.
+ (fold_inf_compare): Likewise.
+ * stor-layout.c (variable_size): Adjust call to global_bindings_p.
+ * c-tree.h (global_bindings_p): Adjust prototype.
+ * c-decl.c (global_bindings_p): Return bool and simplify.
+
+2011-05-07 Zdenek Dvorak <ook@ucw.cz>
+
+ PR tree-optimization/48837
+ * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
+ when accumulator transformation is performed.
+
+2011-05-06 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (ix86_tune_indices): Add
+ X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
+ (TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macro.
+ * i386.c (initial_ix86_tune_features): Add
+ X86_SOFTARE_PREFETCHING_BENEFICIAL.
+ (software_prefetching_beneficial_p): Remove predicate.
+ (ix86_option_override_internal): Use new macro.
+
+2011-05-06 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (update_callee_keys): Don't reset node growth cache.
+
+2011-05-06 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_add_thunk): Create real function node instead
+ of alias node; finalize it and mark needed/reachale; arrange visibility
+ to be right and add it into the corresponding same comdat group list.
+ (dump_cgraph_node): Dump thunks.
+ * cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
+ cgraph_function_with_gimple_body_p,
+ cgraph_first_function_with_gimple_body,
+ cgraph_next_function_with_gimple_body): New functions.
+ (FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
+ New macros.
+ * ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
+ (ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
+ * cgraphunit.c (cgraph_finalize_function): Only look into possible
+ devirtualization when optimizing.
+ (verify_cgraph_node): Verify thunks.
+ (cgraph_analyze_function): Analyze thunks.
+ (cgraph_mark_functions_to_output): Output thunks only in combination
+ with function they are assigned to.
+ (assemble_thunk): Turn thunk into non-thunk; don't try to turn
+ alias into normal node.
+ (assemble_thunks): New functoin.
+ (cgraph_expand_function): Use it.
+ * lto-cgraph.c (lto_output_node): Stream thunks.
+ (input_overwrite_node): Stream in thunks.
+ * ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
+ * lto-streamer-out.c (lto_output): Do not try to output thunk's body.
+ * ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
+ * ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
+ (inline_analyze_function): Do not care about thunk jump functions.
+ (inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
+ * ipa-prop.c (ipa_prop_write_jump_functions): Use
+ cgraph_function_with_gimple_body_p.
+ * passes.c (do_per_function_toporder): Use
+ cgraph_function_with_gimple_body_p.
+ (execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
+ (ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
+ (function_called_by_processed_nodes_p): Likewise.
+
2011-05-06 Joseph Myers <joseph@codesourcery.com>
* config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
2011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
- PR target/47930
- * config/arm/arm.opt (marm): Document it.
- (mthumb): Reject negative variant.
+ PR target/47930
+ * config/arm/arm.opt (marm): Document it.
+ (mthumb): Reject negative variant.
2011-05-06 Uros Bizjak <ubizjak@gmail.com>