OSDN Git Service

* config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index edff505..794c496 100644 (file)
@@ -1,3 +1,507 @@
+2011-04-29  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
+       unspec plus offset.  Tidy macho code.
+
+2011-04-29  Martin Jambor  <mjambor@suse.cz>
+
+       * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
+       node instead of a decl.  Update all callers.
+       * cgraph.h: Update declaration.
+
+2011-04-28  Ira Rosen  <ira.rosen@linaro.org>
+
+       PR tree-optimization/48765
+       * tree-vectorizer.h (vect_make_slp_decision): Return bool.
+       * tree-vect-loop.c (vect_analyze_loop_operations): Add new argument
+       to indicate if loop aware SLP is being used.  Scan the statements
+       and update the vectorization factor according to the type of
+       vectorization before statement analysis.
+       (vect_analyze_loop_2): Get a return value from vect_make_slp_decision,
+       pass it to vect_analyze_loop_operations.
+       (vectorizable_reduction): Set number of copies to 1 in case of pure
+       SLP statement.
+       * tree-vect-stmts.c (vectorizable_conversion,
+       vectorizable_assignment, vectorizable_shift,
+       vectorizable_operation, vectorizable_type_demotion,
+       vectorizable_type_promotion, vectorizable_store, vectorizable_load):
+       Likewise.
+       (vectorizable_condition): Move the check that it is not SLP
+       vectorization before the number of copies check.
+       * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if decided
+       to vectorize the loop using SLP.
+
+2011-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/48597
+       * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
+       inline asm.
+
+2011-04-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
+       *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
+       (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
+       i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
+       x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
+       linux*.h headers.
+       * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
+       Define.
+       * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
+       * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
+       * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
+       * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't
+       undefine.
+       * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
+       REG_NAME.
+       * config/i386/linux.h (REG_NAME): Don't define.
+       * config/i386/linux64.h (REG_NAME): Don't define.
+       * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
+       Undefine before defining.
+
+2011-04-28  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names
+       array.
+       (estimate_function_body_sizes): Build nonconstant_names array; handle
+       BUILT_IN_CONSTANT_P.
+
+2011-04-28  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/48804
+       Revert
+       2011-04-28  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (solve_constraints): Build succ graph
+       as late as possible.
+2011-04-28  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (dump_constraint): Don't end the line.
+       (debug_constraint): Do it here.
+       (dump_constraints): And here.
+       (rewrite_constraints): And here.
+       (dump_constraint_edge): Remove.
+       (dump_constraint_graph): Rewrite to produce DOT output.
+       (solve_constraints): Build succ graph as late as possible.
+       Dump constraint graphs before and after solving.
+
+2011-04-28  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
+       New function split out from ...
+       (find_func_aliases): ... here.  Call it.
+       (find_func_aliases_for_call): Likewise.
+
+2011-04-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * internal-fn.h (internal_fn_name_array): Declare.
+       (internal_fn_flags_array): Likewise.
+
+2011-04-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (ssemodesuffix):  Merge with ssevecsize,
+       ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
+       Move from sse.md.
+       (ssemodefsuffix): Remove.
+       (ssevecmodesuffix): New mode attribute.
+       (fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
+       *float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
+       *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
+       *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
+       *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
+       *sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
+       *ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
+       ssemodesuffix mode attribute.
+       (float splitters): Use ssevecmodesuffix mode attribute.
+       * config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
+       (sseinsmode): Rename from avxvecmode.
+       (avxsizesuffix): Rename from avxmodesuffix.
+       (sseintvecmode): Rename from avxpermvecmode.
+       (ssedoublevecmode): Rename from ssedoublesizemode.
+       (ssehalfvecmode): Rename from avxhalfvecmode.
+       (ssescalarmode): Rename from avxscalarmode.
+       (<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
+       templates for ssemodesuffix mode attribute.
+       (*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
+       mode attribute.
+
+       Adjust RTX patterns globally for renamed mode attributes.
+
+2011-04-27  Jan Hubcika  <jh@suse.cz>
+
+       * ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
+       * ipa-inline-analysis.c: Include alloc-pool.h.
+       (edge_predicate_pool): New.
+       (trye_predicate_p): New function
+       (false_predicate_p): New function.
+       (add_clause): Sanity check that false clauses are "optimized";
+       never add clauses to predicate that is already known to be false.
+       (and_predicate): Use flase_predicate_p.
+       (evaulate_predicate): Rename to ...
+       (evaluate_predicate): ... this one; update all callers; assert
+       that false is not listed among possible truths.
+       (dump_predicate): Use true_predicate_p.
+       (account_size_time): Use false_predicate_p.
+       (evaulate_conditions_for_edge): Rename to ...
+       (evaluate_conditions_for_edge) ... this one.
+       (edge_set_predicate): New function.
+       (inline_edge_duplication_hook): Duplicate edge predicates.
+       (inline_edge_removal_hook): Free edge predicates.
+       (dump_inline_edge_summary): Add INFO parameter; dump edge predicates.
+       (dump_inline_summary): Update.
+       (estimate_function_body_sizes): Set edge predicates.
+       (estimate_calls_size_and_time): Handle predicates.
+       (estimate_callee_size_and_time): Update.
+       (remap_predicate): Add toplev_predicate; update comment.
+       (remap_edge_predicates): New function.
+       (inline_merge_summary): Compute toplev predicate; update.
+       (read_predicate): New function.
+       (read_inline_edge_summary): Use it.
+       (inline_read_section): Likewise.
+       (write_predicate): New function.
+       (write_inline_edge_summary): Use it.
+       (inline_write_summary): Likewise.
+       (inline_free_summary): Free alloc pool and edge summary vec.
+
+2011-04-27  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (changed_count): Remove.
+       (changed): Use a bitmap.
+       (unify_nodes): Adjust.
+       (do_sd_constraint): Likewise.
+       (do_ds_constraint): Likewise.
+       (do_complex_constraint): Likewise.
+       (solve_graph): Likewise.
+
+2011-04-27  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.
+
+2011-04-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
+       (avx_vperm2f128_*_operand): Ditto.
+       * config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
+       Use avx_vpermilp_parallel in insn condition.
+       (*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
+       Use avx_vperm2f128_parallel in insn condition.
+
+2011-04-27  Richard Guenther  <rguenther@suse.de>
+
+       * Makefile.in (tree-ssa-structalias.o): Remove
+       gt-tree-ssa-structalias.h dependency.
+       (GTFILES): Remove tree-ssa-structalias.c.
+       * tree.c (allocate_decl_uid): New function.
+       (make_node_stat): Use it.
+       (copy_node_stat): Likewise.
+       * tree.h (allocate_decl_uid): Declare.
+       * tree-ssa-alias.h (delete_alias_heapvars): Remove.
+       * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
+       * tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
+       * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag.
+       * tree-ssa-structalias.c (heapvar_for_stmt): Remove.
+       (struct heapvar_map): Likewise.
+       (heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
+       heapvar_insert): Likewise.
+       (make_heapvar_for): Rename to ...
+       (make_heapvar): ... this.  Simplify.
+       (fake_var_decl_obstack): New global var.
+       (build_fake_var_decl): New function.
+       (make_constraint_from_heapvar): Adjust.
+       (handle_lhs_call): Likewise.
+       (create_function_info_for): Likewise.
+       (intra_create_variable_infos): Likewise.
+       (init_alias_vars): Allocate fake_var_decl_obstack.
+       (init_alias_heapvars, delete_alias_heapvars): Remove.
+       (compute_points_to_sets): Do not call init_alias_heapvars.
+       (ipa_pta_execute): Likewise.
+       (delete_points_to_sets): Free fake_var_decl_obstack.
+
+2011-04-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/divmovti4.c (union qword_UTItype): New data type.
+       (si_from_UTItype, si_to_UTItype): New functions.
+       (__udivmodti4): Use them to implement type-punning.
+       * config/spu/multi3.c (union qword_TItype): New data type.
+       (si_from_TItype, si_to_TItype): New functions.
+       (__multi3): Use them to implement type-punning.
+
+2011-04-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu.c (spu_expand_epilogue): Do not emit barrier.
+
+2011-04-27  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-prop.c (function_insertion_hook_holder): New holder.
+       (ipa_add_new_function): New function.
+       (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks):
+       Register/deregister holder.
+
+2011-04-27  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/48772
+       * tree-ssa-pre.c (eliminate): Update call stmts after elimination only.
+
+2011-04-27  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-alias.c (indirect_refs_may_alias_p): Fix
+       TARGET_MEM_REF handling.
+
+2011-04-27  Nick Clifton  <nickc@redhat.com>
+
+       * config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS,
+       ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS.
+       (REG_CLASS_NAMES): Likewise.
+       (REG_CLASS_CONTENTS): Likewise.
+       (EVEN_ACC_REGS): New macro.  Alias for QUAD_ACC_REGS.
+       (ACC_REGS): New macro.  Alias for QUAD_ACC_REGS.
+       (FEVEN_REGS): New macro.  Alias for QUAD_ACC_REGS.
+       (FPR_REGS): New macro.  Alias for QUAD_ACC_REGS.
+       (EVEN_REGS): New macro.  Alias for QUAD_REGS.
+       * config/frv/frv.c (frv_secondary_reload_class): Remove use of
+       duplicate register classes.
+       (frv_class_likely_spilled_p): Likewise.
+       (frv_register_move_cost): Likewise.
+
+       * config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
+       end of the regno_reg_class array.
+
+2011-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/48742
+       * c-typeck.c (build_binary_op): Don't wrap arguments if
+       int_operands is true.
+
+2011-04-26  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/48767
+       * config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call
+       targetm.calls.must_pass_in_stack for void type.
+
+2011-04-26  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphbuild.c (build_cgraph_edges): Update call
+       of cgraph_create_edge and cgraph_create_indirect_edge.
+       * cgraph.c (cgraph_create_edge_including_clones,
+       cgraph_create_edge_1, cgraph_allocate_init_indirect_info,
+       cgraph_update_edges_for_call_stmt_node): Do not take nest
+       argument; do not initialize call_stmt_size/time.
+       (dump_cgraph_node): Do not dump nest.
+       (cgraph_clone_edge): Do not take loop_nest argument;
+       do not propagate it; do not clone call_stmt_size/time.
+       (cgraph_clone_node): Likewise.
+       (cgraph_create_virtual_clone): Update.
+       * cgraph.h (struct cgraph_edge): Remove
+       call_stmt_size/call_stmt_time/loop_nest.
+       (cgraph_create_edge, cgraph_create_indirect_edge,
+       cgraph_create_edge_including_clones, cgraph_clone_node): Update
+       prototype.
+       * tree-emutls.c (gen_emutls_addr): Update.
+       * ipa-inline-transform.c (update_noncloned_frequencies): Do not handle
+       loop_nest; handle indirect calls, too.
+       (clone_inlined_nodes): Do not care about updating inline summaries.
+       * cgraphunit.c (cgraph_copy_node_for_versioning): Update.
+       * lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not
+       stream call_stmt_size/call_stmt_time/loop_nest.
+       * ipa-inline.c (edge_badness): Update.
+       (ipa_inline): dump summaries after inlining.
+       * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
+       New.
+       (inline_edge_summary): New function.
+       * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
+       (inline_edge_removal_hook): Handle edge summaries.
+       (inline_edge_duplication_hook): New hook.
+       (inline_summary_alloc): Alloc hooks.
+       (initialize_growth_caches): Do not register removal hooks.
+       (free_growth_caches); Do not free removal hook.
+       (dump_inline_edge_summary): New function.
+       (dump_inline_summary): Use it.
+       (estimate_function_body_sizes, estimate_edge_size_and_time): Update.
+       (inline_update_callee_summaries): New function.
+       (inline_merge_summary): Use it.
+       (do_estimate_edge_time, do_estimate_edge_growth): Update.
+       (read_inline_edge_summary): New function.
+       (inline_read_section): Use it.
+       (write_inline_edge_summary): New function.
+       (inline_write_summary): Use it.
+       (inline_free_summary): Free edge new holders.
+       * tree-inline.c (copy_bb): Update.
+
+2011-04-26  Jason Merrill  <jason@redhat.com>
+
+       * tree-eh.c (lower_try_finally_switch): Create the label along with
+       the CASE_LABEL_EXPR.
+
+2011-04-26  David S. Miller  <davem@davemloft.net>
+           Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (gcc_cv_as_sparc_gotdata_op): Specify alignment.
+       * configure: Regenerate.
+
+2011-04-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/48258
+       * config/rs6000/vector.md (UNSPEC_REDUC): New unspec for vector
+       reduction.
+       (VEC_reduc): New code iterator and splitters for vector reduction.
+       (VEC_reduc_name): Ditto.
+       (VEC_reduc_rtx): Ditto.
+       (reduc_<VEC_reduc_name>_v2df): Vector reduction expanders for VSX.
+       (reduc_<VEC_reduc_name>_v4sf): Ditto.
+
+       * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
+       support for extracting SF on VSX.
+
+       * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): New insn for
+       generating xscvspdp.
+       (vsx_extract_v4sf): New insn to extract SF from V4SF vector.
+       (vsx_reduc_<VEC_reduc_name>_v2df): New insns and splitters for
+       double add, minimum, maximum vector reduction.
+       (vsx_reduc_<VEC_reduc_name>_v4sf): Ditto.
+       (vsx_reduc_<VEC_reduc_name>_v2df2_scalar): New combiner insn to
+       optimize double vector reduction.
+       (vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Ditto.
+
+2011-04-26  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/fr30/fr30.h (inhibit_libc): Don't define.
+       * config/m32r/m32r-protos.h: Correct comment.
+       * config/v850/v850.h (GHS_default_section_names,
+       GHS_current_section_names): Use tree, not union tree_node *.
+
+2011-04-26  Xinliang David Li  <davidxl@google.com>
+
+       * tree-ssa-uninit.c (warn_uninitialized_phi): Pass warning code.
+       * c-family/c-opts.c (c_common_handle_option): Set
+       warn_maybe_uninitialized.
+       * opts.c (common_handle_option): Ditto.
+       * common.opt:  New option.
+       * tree-ssa.c (warn_uninit): Add one more parameter.
+       (warn_uninitialized_var): Pass warning code.
+       * tree-flow.h: Interface change.
+
+
+2011-04-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test TARGET_NEWABI.
+       (WINT_TYPE_SIZE): Use INT_TYPE_SIZE.
+       (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards.
+
+2011-04-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Remove.
+       * config/mips/mips.opt (mmips-tfile): Remove.
+
+       * doc/install.texi (Specific, mips-*-*): Move mips-tfile,
+       mips-tdump reference to ...
+       (Specific, alpha*-dec-osf5.1): ... here.  Adapt for Tru64 UNIX.
+       * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS
+       reference by Tru64 UNIX.
+
+2011-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/48768
+       * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
+       is error_mark_node, set value to NULL.
+
+       PR tree-optimization/48734
+       * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
+       if return value from maybe_fold_*_comparsions isn't something
+       the code is prepared to handle.
+
+2011-04-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/predicates.md (ext_QIreg_operand): Remove extra
+       mode check.
+       (ext_QIreg_nomode_operands): Remove.
+       * config/i386/i386.md (*anddi_1): Use ext_QIreg_operand.
+       (*andsi_1): Ditto.
+       (*andhi_1): Ditto.
+
+2011-04-26  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/arm/arm.c (arm_gen_constant): Remove can_negate_initial.
+
+2011-04-26  Richard Guenther  <rguenther@suse.de>
+
+       * c-typeck.c (build_unary_op): Do not expand array-refs via
+       pointer arithmetic.  Only adjust qualifiers for function types.
+
+2011-04-26  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/48694
+       * tree.h (OEP_CONSTANT_ADDRESS_OF): New operand_equal_flag.
+       * fold-const.c (operand_equal_p): For TREE_CONSTANT ADDR_EXPRs
+       compare the operands with OEP_CONSTANT_ADDRESS_OF.  Treat trees
+       with TREE_SIDE_EFFECTS equal when OEP_CONSTANT_ADDRESS_OF is set.
+
+2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * c-family/c-common.c (struct c_common_resword): Add __underlying_type.
+       * c-family/c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
+        * doc/extend.texi: Document __underlying_type.
+
+2011-04-25  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/titan.md (automata_option "progress"): Remove.
+
+2011-04-25  Jeff Law  <law@redhat.com>
+
+       * tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.
+
+2011-04-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * system.h (ENUM_BITFIELD): Remove.
+
+2011-04-25  Maxim Kuvyrkov  <maxim@codesourcery.com>
+           Eric Botcazou <ebotcazou@adacore.com>
+
+       * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
+       for STORE_FLAG_VALUE==-1 case.
+
+2011-04-24  Richard Sandiford  <richard.sandiford@linaro.org>
+
+       PR target/43804
+       * config/m68k/constraints.md (T): Allow PIC operands that satisfy
+       LEGITIMATE_PIC_OPERAND_P.
+
+2011-04-24  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
+       WPA hack.
+       * ipa-prop.h (ipa_get_param, ipa_is_param_used,
+       ipa_param_cannot_devirtualize_p, ipa_param_types_vec_empty,
+       ipa_get_ith_jump_func, ipa_get_lattice): Fortify array bounds.
+       * ipa-inline-analysis.c (add_clause): Fix clause ordering.
+       (and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
+       Sanity check predicate length.
+       (remap_predicate): Likewise; sanity check jump functions.
+       (inline_read_section, inline_write_summary): Sanity check
+       predicate length.
+
+2011-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR other/48748
+       * doc/extend.texi (Type Traits): Document __is_standard_layout,
+       __is_literal_type, and __is_trivial; update throughout about
+       possibly cv-qualified void types.
+
+2011-04-24  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
+       testsuite and make it version agnostic.
+
+2011-04-22  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline-analysis.c (inline_write_summary): Fix thinko.
+
+2011-04-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/48685
+       * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
+       to VOID_TYPE even around MODIFY_EXPR.
+
 2011-04-22  Mike Stump  <mikestump@comcast.net>
 
        * gensupport.c (read_md_rtx): Fix typo in comment.
 2011-04-22  Jan Hubicka  <jh@suse.cz>
 
        * gengtype.c (open_base_files): Add ipa-inline.h include.
-       * ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to ipa-prop.c
-       update all uses.
+       * ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to
+       ipa-prop.c; update all uses.
        * ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
-       * ipa-inline-transform.c (inline_call): Use inline_merge_summary to merge
-       summary of inlined function into former caller.
+       * ipa-inline-transform.c (inline_call): Use inline_merge_summary to
+       merge summary of inlined function into former caller.
        * ipa-inline.c (max_benefit): Remove.
        (edge_badness): Compensate for removal of benefits.
-       (update_caller_keys): Use reset_node_growth_cache/reset_edge_growth_cache.
+       (update_caller_keys): Use
+       reset_node_growth_cache/reset_edge_growth_cache.
        (update_callee_keys): Likewise.
        (update_all_callee_keys): Likewise.
-       (inline_small_functions): Do not collect max_benefit; do not
-       reset stimated_growth; call free_growth_caches and initialize_growth_caches.
-       * ipa-inline.h (struct condition, type clause_t, struct predicate, struct
-       size_time_entry): New structures.
+       (inline_small_functions): Do not collect max_benefit; do not reset
+       estimated_growth; call free_growth_caches and initialize_growth_caches.
+       * ipa-inline.h (struct condition, type clause_t, struct predicate,
+       struct size_time_entry): New structures.
        (INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
-       (inline_summary): Remove size_inlining_benefit, time_inlining_benefit and
-       estimated_growth.
+       (inline_summary): Remove size_inlining_benefit, time_inlining_benefit
+       and estimated_growth.
        (edge_growth_cache_entry): New structure.
        (node_growth_cache, edge_growth_cache): New global vars.
        (estimate_growth): Turn into inline.
        initialize_growth_caches, free_growth_caches): Declare.
        (estimate_edge_growth): Rewrite.
        (estimate_edge_time): Implement as inline cache lookup.
-       (reset_node_growth_cache, reset_edge_growth_cache): New inline functions.
+       (reset_node_growth_cache, reset_edge_growth_cache): New inline
+       functions.
        (MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
        (NUM_CONDITIONS): New constant.
        (predicate_conditions): New enum.
        (IS_NOT_CONSTANT): New constant.
        (edge_removal_hook_holder): New var.
        (node_growth_cache, edge_growth_cache): New global vars.
-       (true_predicate, single_cond_predicate, false_predicate, not_inlined_predicate,
-       add_condition, add_clause, and_predicates, or_predicates, predicates_equal_p,
-       evaulate_predicate, dump_condition, dump_clause, dump_predicate, account_size_time,
+       (true_predicate, single_cond_predicate, false_predicate,
+       not_inlined_predicate, add_condition, add_clause, and_predicates,
+       or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
+       dump_clause, dump_predicate, account_size_time,
        evaulate_conditions_for_edge): New functions.
        (inline_summary_alloc): Move to heap.
        (inline_node_removal_hook): Clear condition and entry vectors.
        (inline_write_summary): Write all the new data.
        * ipa-prop.c (ipa_get_param_decl_index): Export.
        (ipa_lattice_from_jfunc): Move here from ipa-cp.c
-       * ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc): Declare.
-       (ipa_get_lattice): Move hre from ipa-cp.c
+       * ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc):
+       Declare.
+       (ipa_get_lattice): Move here from ipa-cp.c
        * Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
        * params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
        * cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
        cgraph_edge_inlinable_p): Remove.
        * cgraphunit.c: Include ipainline.h
-       (cgraph_process_new_functions): Update call of compute_inline_parameters.
+       (cgraph_process_new_functions): Update call of
+       compute_inline_parameters.
 
 2011-04-22  Richard Guenther  <rguenther@suse.de>
 
 2011-04-21  Dimitrios Apostolou  <jimis@gmx.net>
            Jeff Law  <law@redhat.com>
 
-       * gengtype-state.c (read_a_state_token): Fix argument to
-       obstack_free.
+       * gengtype-state.c (read_a_state_token): Fix argument to obstack_free.
        * gengtype.c (matching_file_name_substitute): Likewise.
 
 2011-04-21  Richard Guenther  <rguenther@suse.de>
        (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
        (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
 
+2011-03-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/48226
+       * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If we see a
+       vector when peeking at the next token for vector, don't expand the
+       keywords.
+
 2011-03-21  Georg-Johann Lay  <avr@gjlay.de>
 
        * config/avr/avr-protos.h (expand_epilogue): Change prototype