+2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/cpp.texi: Update to GFDL 1.2.
+ * doc/gcc.texi: Do not list GPL as Invariant Section.
+ * doc/gccint.texi: Likewise. Update copyright years.
+ * doc/install.texi: Update copyright years.
+
+2008-07-30 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/36955
+ * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add
+ a use of pic_offset_table_rtx for -msecure-plt __tls_get_addr calls.
+
+2008-07-29 Jan Hubicka <jh@suse.cz>
+
+ * c-decl.c (merge_decls): Do not handle DECL_INLINE.
+ (grokdeclarator): Likewise.
+ * langhooks.c (lhd_warn_unused_global_decl): Use
+ DECL_DECLARED_INLINE_P.
+ * print-tree.c (print_node): Remove DECL_INLINE check.
+
+2008-07-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/36945
+ * tree-ssa-sccvn.h (copy_reference_ops_from_ref): Declare.
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Export.
+ Record invariant addresses un-decomposed.
+ (copy_reference_ops_from_call): Record reference call
+ arguments properly. Simplify.
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): New
+ helper split out from ...
+ (create_component_ref_by_pieces): ... here. Simplify.
+ Prepare for recursive invocation for call arguments.
+ (create_expression_by_pieces): Adjust call to
+ create_component_ref_by_pieces.
+ (compute_avail): Process operand 2 of reference ops.
+
+2008-07-29 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (gimplify_expr): Clear TREE_SIDE_EFFECTS for
+ OBJ_TYPE_REF.
+
+2008-07-29 Jakub Jelinek <jakub@redhat.com>
+
+ * c-format.c (check_format_types): Revert unwanted checkin.
+
+2008-07-29 Jan Hubicka <jh@suse.cz>
+
+ * flags.h (flag_really_no_inline): Remove.
+ * cgraph.c (cgraph_function_possibly_inlined_p): Simplify.
+ * toplev.c (flag_really_no_inline): Remove.
+ * c-cppbuiltin.c (c_cpp_builtins): Use flag_no_inline.
+ * ipa-inline.c (cgraph_decide_inlining): Do not check flag_no_inline.
+ (cgraph_decide_inlining_incrementally): Likewise.
+ (compute_inline_parameters): Likewise.
+ * opts.c (decode_options): Simplify.
+ * c-opts.c (c_common_post_options): Do not set flag_no_inline.
+ * common.opt (finline): Initialize to 1.
+ * tree-inline.c (inlinable_function_p): Check flag_no_inline.
+
+2008-07-29 Jan Hubicka <jh@suse.cz>
+
+ * predict.c (always_optimize_for_size_p): New function.
+ (optimize_bb_for_size_p, optimize_bb_for_speed_p,
+ optimize_edge_for_size_p, optimize_edge_for_speed_p,
+ optimize_insn_for_size_p, optimize_insn_for_speed_p): New global
+ functions.
+ (rtl_profile_for_bb, rtl_profile_for_edge, rtl_default_profile): New.
+ * function.c (prepare_function_start): Set default profile.
+ * function.h (rtl_data): Add maybe_hot_insn_p.
+ * cfgexpand.c (expand_gimple_basic_block): Set RTL profile.
+ (construct_exit_block): Likewise.
+ (tree_expand_cfg): Likewise.
+ * basic-block.h
+ (optimize_bb_for_size_p, optimize_bb_for_speed_p,
+ optimize_edge_for_size_p, optimize_edge_for_speed_p,
+ optimize_insn_for_size_p, optimize_insn_for_speed_p): Declare.
+ (rtl_profile_for_bb, rtl_profile_for_edge, default_rtl_profile):
+ Declare.
+
+2008-07-29 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR 34985
+ * c-decl.c (merge_decls): Merge USED flags.
+
+2008-07-29 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_gimplify_va_arg_expr): Unshare the addr,
+ valist, next_fp, next_fp_tmp, next_fp_limit, next_o, next_o_limit,
+ next_stack, lab_false and lab_over trees.
+
+2008-07-28 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/36957
+ * tree-flow.h (tree_ssa_useless_type_conversion): Remove.
+ (useless_type_conversion_p): Remove.
+ (types_compatible_p): Remove.
+ * gimple.h (tree_ssa_useless_type_conversion): Declare.
+ (useless_type_conversion_p): Declare.
+ (types_compatible_p): Declare.
+ (gimple_expr_type): Return the base type only if it is
+ trivially convertible to the subtype.
+
+2008-07-28 Andreas Tobler <a.tobler@schweiz.org>
+
+ * configure.ac: Use the m4_do macro to concatenate the warnings into
+ one string in ACX_PROG_CC_WARNING_OPTS,
+ ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and ACX_PROG_CC_WARNINGS_ARE_ERRORS.
+ * configure: Regenerate.
+
+2008-07-28 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (insert_into_preds_of_block): Remove dead code.
+ (insert_fake_stores): Remove.
+ (realify_fake_stores): Likewise.
+ (execute_pre): Remove dead code.
+ * tree-ssa-structalias.c (get_constraint_for_1): Remove tcc_unary
+ case.
+ (find_func_aliases): Deal with it here instead.
+ Re-enable gcc_unreachable call.
+
+2008-07-28 Richard Guenther <rguenther@suse.de>
+
+ Merge from gimple-tuples-branch.
+
+ * ChangeLog.tuples: ChangeLog from gimple-tuples-branch.
+ * gimple.def: New file.
+ * gsstruct.def: Likewise.
+ * gimple-iterator.c: Likewise.
+ * gimple-pretty-print.c: Likewise.
+ * tree-gimple.c: Removed. Merged into ...
+ * gimple.c: ... here. New file.
+ * tree-gimple.h: Removed. Merged into ...
+ * gimple.h: ... here. New file.
+
+ * Makefile.in: Add dependencies on GIMPLE_H and tree-iterator.h.
+ * configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the
+ --enable-checking=gimple flag.
+ * config.in: Likewise.
+ * configure: Regenerated.
+
+ * tree-ssa-operands.h: Tuplified.
+ * tree-vrp.c: Likewise.
+ * tree-loop-linear.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-ssa-loop-im.c: Likewise.
+ * tree-dump.c: Likewise.
+ * tree-complex.c: Likewise.
+ * cgraphbuild.c: Likewise.
+ * tree-ssa-threadupdate.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tracer.c: Likewise.
+ * gengtype.c: Likewise.
+ * tree-loop-distribution.c: Likewise.
+ * tree-ssa-loop-unswitch.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraph.h: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * value-prof.c: Likewise.
+ * tree-ssa-loop-ch.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * value-prof.h: Likewise.
+ * tree.c: Likewise.
+ * tree.h: Likewise.
+ * tree-pass.h: Likewise.
+ * ipa-cp.c: Likewise.
+ * tree-scalar-evolution.c: Likewise.
+ * tree-scalar-evolution.h: Likewise.
+ * target.h: Likewise.
+ * lambda-mat.c: Likewise.
+ * tree-phinodes.c: Likewise.
+ * diagnostic.h: Likewise.
+ * builtins.c: Likewise.
+ * tree-ssa-alias-warnings.c: Likewise.
+ * cfghooks.c: Likewise.
+ * fold-const.c: Likewise.
+ * cfghooks.h: Likewise.
+ * omp-low.c: Likewise.
+ * tree-ssa-dse.c: Likewise.
+ * ipa-reference.c: Likewise.
+ * tree-ssa-uncprop.c: Likewise.
+ * toplev.c: Likewise.
+ * tree-gimple.c: Likewise.
+ * tree-gimple.h: Likewise.
+ * tree-chrec.c: Likewise.
+ * tree-chrec.h: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-ssa-sccvn.h: Likewise.
+ * cgraphunit.c: Likewise.
+ * tree-ssa-copyrename.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-nomudflap.c: Likewise.
+ * tree-call-cdce.c: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * c-format.c: Likewise.
+ * tree-stdarg.c: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-dom.c: Likewise.
+ * tree-nrv.c: Likewise.
+ * tree-ssa-propagate.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * tree-ssa-propagate.h: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * gimple-low.c: Likewise.
+ * tree-ssa-sink.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * c-semantics.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * expr.c: Likewise.
+ * tree-ssa-loop-ivcanon.c: Likewise.
+ * predict.c: Likewise.
+ * tree-ssa-loop.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-ssa-address.c: Likewise.
+ * tree-ssa-ifcombine.c: Likewise.
+ * matrix-reorg.c: Likewise.
+ * c-decl.c: Likewise.
+ * tree-eh.c: Likewise.
+ * c-pretty-print.c: Likewise.
+ * lambda-trans.c: Likewise.
+ * function.c: Likewise.
+ * langhooks.c: Likewise.
+ * ebitmap.h: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * function.h: Likewise.
+ * langhooks.h: Likewise.
+ * tree-vectorizer.h: Likewise.
+ * ipa-type-escape.c: Likewise.
+ * ipa-type-escape.h: Likewise.
+ * domwalk.c: Likewise.
+ * tree-if-conv.c: Likewise.
+ * profile.c: Likewise.
+ * domwalk.h: Likewise.
+ * tree-data-ref.c: Likewise.
+ * tree-data-ref.h: Likewise.
+ * tree-flow-inline.h: Likewise.
+ * tree-affine.c: Likewise.
+ * tree-vect-analyze.c: Likewise.
+ * c-typeck.c: Likewise.
+ * gimplify.c: Likewise.
+ * coretypes.h: Likewise.
+ * tree-ssa-phiopt.c: Likewise.
+ * calls.c: Likewise.
+ * tree-ssa-coalesce.c: Likewise.
+ * tree.def: Likewise.
+ * tree-dfa.c: Likewise.
+ * except.c: Likewise.
+ * except.h: Likewise.
+ * cfgexpand.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa-live.h: Likewise.
+ * tree-predcom.c: Likewise.
+ * lambda.h: Likewise.
+ * tree-mudflap.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * print-tree.c: Likewise.
+ * tree-ssa-copy.c: Likewise.
+ * ipa-prop.h: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * ggc-page.c: Likewise.
+ * c-omp.c: Likewise.
+ * tree-ssa-dce.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-ssa-ter.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * lambda-code.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-inline.h: Likewise.
+ * tree-iterator.c: Likewise.
+ * tree-optimize.c: Likewise.
+ * tree-ssa-phiprop.c: Likewise.
+ * tree-vect-transform.c: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * cfgloop.c: Likewise.
+ * system.h: Likewise.
+ * tree-profile.c: Likewise.
+ * cfgloop.h: Likewise.
+ * c-gimplify.c: Likewise.
+ * c-common.c: Likewise.
+ * tree-vect-generic.c: Likewise.
+ * tree-flow.h: Likewise.
+ * c-common.h: Likewise.
+ * basic-block.h: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-ssa-structalias.h: Likewise.
+ * tree-cfg.c: Likewise.
+ * passes.c: Likewise.
+ * ipa-struct-reorg.c: Likewise.
+ * ipa-struct-reorg.h: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * varpool.c: Likewise.
+ * stmt.c: Likewise.
+ * tree-ssanames.c: Likewise.
+ * tree-ssa-threadedge.c: Likewise.
+ * langhooks-def.h: Likewise.
+ * tree-ssa-operands.c: Likewise.
+ * config/alpha/alpha.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/m32c/m32c.c: Likewise.
+ * config/m32c/m32c-protos.h: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/mips/mips.c: Likewise.
+
+2008-07-28 Simon Baldwin <simonb@google.com>
+
+ * c-pragma.c (handle_pragma_message): New function.
+ (init_pragma): Register handle_pragma_message.
+ * doc/extend.texi (Diagnostic Pragmas): Added #pragma message
+ documentation.
+
+2008-07-27 Victor Kaplansky <victork@il.ibm.com>
+
+ PR tree-optimization/35252
+ * tree-vect-analyze.c (vect_build_slp_tree): Make IMAGPART_EXPR and
+ REALPART_EXPR to be considered as same load operation.
+
+2008-07-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/36830
+ * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Hash operand #2.
+ (expressions_equal_p): Return false if only one operand is null.
+
+2008-07-26 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (powerpc-*-netbsd*): Remove redundant texinfo
+ version requirements.
+
+2008-07-26 Olivier Hainque <hainque@adacore.com>
+
+ * collect2.c (symkind): New enum. Symbol kinds we care about.
+ (is_ctor_dtor): Return symkind instead of int. Adjust prototype,
+ code and head comment accordingly.
+ (scan_prog_file): Use symkind names instead of bare integers.
+
+2008-07-25 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_function_possibly_inlined_p): Do not rely on DECL_INLINE.
+ * cgraphunit.c (record_cdtor_fn): Do not initialize DECL_INLINE
+ (cgraph_preserve_function_body_p): Do not rely on DECL_INLINE.
+ * dojump.c (clear_pending_stack_adjust): Likewise.
+ * print-tree.c (print_node): Ignore DECL_INLINE.
+ * tree-inline.c (inlinable_function_p): Likewise.
+
+2008-07-25 Michael Meissner <gnu@the-meissners.org>
+
+ * doc/extend.texi (hot attribute): Document that the hot attribute
+ turns on -O3 for some ports.
+ (cold attribute): Document that the cold attribute turns on -Os
+ for some ports
+
+ * doc/tm.texi (OPTIMIZATION_OPTIONS): Update documentation to
+ reflect function specific option support.
+
+ * target.h (struct target_option_hooks): Add fields to say whether
+ the cold attribute implies -Os and the hot attribute implies -O3.
+
+ * target-def.h (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION):
+ By default, do not turn on -Os for cold functions.
+ (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): By default, do
+ not turn on -O3 for hot functions.
+
+ * c-common.c (handle_hot_attribute): Use target hook to determine
+ if hot functions should enable -O3.
+ (handle_cold_attribute): Use target hook to determine if cold
+ functions should enable -Os.
+
+ * config/i386/i386.c (ix86_target_string): Add -m3dnowa support.
+ (override_options): Move disable scheduling to
+ optimization_options.
+ (optimization_options): Disable scheduling here, not
+ override_options.
+ (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+ (TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+
+ * config/ia64/ia64.c (ia64_override_options): Move setting
+ scheduling flags to ia64_optimization_options.
+ (ia64_optimization_options): Disable scheduling options here, and
+ not in ia64_override_options.
+ (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+ (TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+
+2008-07-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/36936
+ * config/i386/i386.c (override_options): Don't clear TARGET_CMOVE.
+
+2008-07-25 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/36926
+ * ipa-prop.c (ipa_analyze_call_uses): Call
+ ipa_is_ssa_with_stmt_def instead of SSA_NAME_IS_DEFAULT_DEF.
+
+2008-07-25 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
+ movv2si_internal): Add mem = reg alternative.
+
+2008-07-25 Andreas Tobler <a.tobler@schweiz.org>
+
+ PR bootstrap/36918
+ * config/sparc/sparc.h (DEFAULT_PCC_STRUCT_RETURN): Define
+ DEFAULT_PCC_STRUCT_RETURN to 127.
+
+2008-07-24 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (record_reference): Drop non-unit-at-a-time code.
+ (build_cgraph_edges): Likewise.
+ * cgraph.c (cgraph_node): Do not update assembler hash.
+ (cgraph_remove_node): Drop non-unit-at-a-time code.
+ * tree-pass.h (pass_O0_always_inline): Remove.
+ * ipa-reference.c (gate_reference): Remove unit-at-a-time check.
+ * toplev.c (process_options): Flag unit-at-a-time does not imply
+ no section anchors.
+ * cgraphunit.c: Update comments.
+ (decide_is_function_needed): Drop non-unit-at-a-time mode.
+ (cgraph_assemble_pending_functions): Remove.
+ (cgraph_reset_node): Drop non-unit-at-a-time code.
+ (cgraph_finalize_function): Likewise.
+ (cgraph_analyze_function): Likewise.
+ (cgraph_finalize_compilation_unit): Likewise.
+ (cgraph_expand_function): Likewise.
+ (cgraph_optimize): Likesise.
+ (save_inline_function_body): Likewise.
+ * ipa-pure-const.c (gate_pure_const): Drop flag_unit_at_a_time check.
+ * tree-ssa-alias.c (maybe_be_aliased): Likewise.
+ * ipa-inline.c: Update comments.
+ (enum inlining_mode): remove INLINE_SPEED.
+ (cgraph_clone_inlined_nodes): Drop unit-at-a-time check.
+ (cgraph_mark_inline_edge): Likewise.
+ (try_inline): Likewise.
+ (cgraph_decide_inlining_incrementally): Likewise.
+ (cgraph_gate_inlining): Remove.
+ (cgraph_early_inlining): Remove flag_unit_at_a_time checks.
+ (cgraph_gate_early_inlining): Likewise.
+ (gate_inline_passes): Remove.
+ (pass_inline_parameters, pass_ipa_inline): Remove gates.
+ (cgraph_gate_O0_always_inline, cgraph_O0_always_inline,
+ pass_O0_always_inline): Remove.
+ * c-pch.c (c_pch_matching): Remove -funit-at-a-time.
+ * dwarf2out.c (reference_to_unused): Remove flag_unit_at_a_time check.
+ * opts.c (no_unit_at_a_time_default): Remove.
+ (decode_options): Remove flag_unit_at_a_time reset and warning.
+ * opts.h (no_unit_at_a_time_default): Remove.
+ * c-decl.c (diagnose_mismatched_decls): Do not require inline keyword
+ early in GNU dialect.
+ (merge_decls): Update comment; drop unit-at-a-time check.
+ (finish_decl): Likewise.
+ (grok_declaration): Remove flag_inline_trees code.
+ (finish_functions): Return on function returning non-void on all
+ statics.
+ * ipa-tye-escape.c (gate_type_escape_vars): Remove.
+ * cfgexpand.c (expand_one_static_var): Remove.
+ (expand_one_var): Remove expand_one_static_var call.
+ (expand_used_vars_for_block): Remove flag_unit_a_time check.
+ * c-opts.c (c_common_post_options): Remove flag_inline_trees code
+ and flag_unit_at_a-time compatibility checks.
+ * varasm.c (assemble_alias): Remove flag_unit_at_a_time check.
+ * tree-inline.c (flag_inline_trees): Remove.
+ (inlinable_function_p): Don't check it.
+ (expand_call_inline): Remove non-unit-at-a-time code.
+ * tree-inline.h (flag_inline_trees): Remove.
+ * tree-optimize.c (execute_early_local_optimizations): Remove
+ unit-at-a-time checks.
+ (tree_rest_of_compilation): Likewise.
+ * combine.c (setup_incoming_promotions): Likewise.
+ * tree-profile.c (tree_gen_ic_func_profiler): Likewise.
+ * tree-ssa-structalias.c (delete_points_to_sets): Likewise.
+ * passes.c (pass_inline_parameters): Update comments; remove
+ O0_alwaysinline pass.
+ (execute_one_ipa_transform_pass): Do not reset in_gimple_form.
+ (execute_one_pass): Likewise.
+ * i386.c (ix86_function_regparm): Remove unit-at-a-time check.
+ (ix86_function_sseregparm): Likewise.
+ * arm.c (arm_function_in_section_p): Likewise.
+ * bfin.c (bfin_load_pic_reg, bfin_function_ok_for_sibcall): Likewise.
+ * varpool.c: Update comments.
+ (decide_is_variable_needed): Remove unit-at-a-time checks.
+ (varpool_finalize_decl): Likewise.
+
+2008-07-24 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_omit_frame_pointer
+ to 2 instead of -1.
+ (OVERRIDE_OPTIONS): Check if flag_omit_frame_pointer is equal
+ to 2.
+
+2008-07-24 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/i386.c (get_dllimport_decl): Treat user_label_prefix for
+ imp symbol extension.
+
+ 2008-07-23 Ian Lance Taylor <iant@google.com>
+
+ * tree-vrp.c (infer_value_range): Ignore asm statements when
+ looking for memory accesses for -fdelete-null-pointer-checks.
+
+2008-07-24 Ben Elliston <bje@au.ibm.com>
+
+ * config/spu/spu-c.c (__vector_keyword): New variable.
+ (vector_keyword): Likewise.
+ (spu_categorize_keyword): New function.
+ (spu_macro_to_expand): Likewise.
+ (spu_cpu_cpp_builtins): Enable context-sensitive macros if not
+ compiling an ISO C dialect.
+
+2008-07-24 Ben Elliston <bje@au.ibm.com>
+
+ * config/rs6000/rs6000-c.c: Move GTY(()) markers to match
+ conventional usage.
+
+2008-07-23 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * configure: Regenerate.
+ * configure.ac: Require texinfo 4.7.
+ * doc/install.texi: Document texinfo 4.7 requirement.
+
+2008-07-23 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed
+ rather than for DECL_SAVED_TREE.
+ * ipa-prop.c: Include diagnostic.h.
+ (ipa_check_stmt_modifications): Check LHS of GIMPLE_MODIFY_EXPRs
+ thoroughly.
+ (ipa_detect_param_modifications): Function rewritten from scratch.
+ (ipa_compute_jump_functions): Changed accesses to modification flags.
+ (ipa_free_node_params_substructures): Update flags destruction.
+ (ipa_node_duplication_hook): Update flags duplication.
+ (ipa_print_all_params_modified): Updated flag access.
+ * ipa-prop.h (struct ipa_param_flags): New structure.
+ (struct ipa_node_params): New field modification_analysis_done,
+ modified_flags changed into param_flags.
+ (ipa_is_ith_param_modified): Changed to use new flags.
+ * Makefile.in (ipa-prop.o): Add $(DIAGNOSTIC_H) to dependencies.
+
+ * ipa-prop.c (ipa_print_all_jump_functions): Moved here from
+ ipa-cp.c and split into two functions.
+ (ipa_print_node_jump_functions): New function.
+ (compute_scalar_jump_functions): New function.
+ (type_like_member_ptr_p): New function.
+ (compute_pass_through_member_ptrs): New function.
+ (fill_member_ptr_cst_jump_function): New function.
+ (determine_cst_member_ptr): New function.
+ (compute_cst_member_ptr_arguments): New function.
+ (ipa_compute_jump_functions): Complete rewrite.
+ * ipa-prop.h (enum jump_func_type): Make explicit that we depend
+ on IPA_UNKNOWN being zero. Added value IPA_CONST_MEMBER_PTR.
+ (struct ipa_member_ptr_cst): New structure.
+ (union jump_func_value): New field member_cst.
+ * ipa-cp.c (ipcp_lat_is_insertable): New function.
+ (ipcp_lattice_from_jfunc): Produces bottom lattices for unhandled
+ jump function types.
+ (ipcp_print_all_lattices): Slight fprintf rearrangement.
+ (ipcp_print_all_structures): Call ipa_print_all_jump_functions
+ instead of ipcp_print_all_jump_functions.
+ (ipcp_insert_stage): Use ipcp_lat_is_insertable, create replace maps
+ only for replacable scalars.
+
+ * doc/invoke.texi (Optimize options): Add description of
+ -findirect-inlining.
+ * common.opt (flag_indirect_inlining): New flag.
+ * opts.c (decode_options): Set flag_indirect_inlining when
+ optimize >= 3.
+
+ * ipa-inline.c: Include ipa-prop.h.
+ (inline_indirect_intraprocedural_analysis): New function.
+ (inline_generate_summary): Allocate parameter and argument info
+ structures, call inline_indirect_intraprocedural_analysis on each
+ node when doing indirect inlining and deallocate indirect inlining
+ data structures in the end.
+ * ipa-prop.c (ipa_create_param_decls_array): Return if already done.
+ (free_all_ipa_structures_after_iinln): New function.
+ (free_all_ipa_structures_after_ipa_cp): Checks whether iinln will be
+ done.
+ * Makefile.in (ipa-inline.o): Added $(IPA_PROP_H) to dependencies.
+
+ * cgraphbuild.c (compute_call_stmt_bb_frequency): New function.
+ (build_cgraph_edges): Call compute_call_stmt_bb_frequency instead
+ of computing the frequency separately.
+ (rebuild_cgraph_edges): Call compute_call_stmt_bb_frequency instead
+ of computing the frequency separately.
+ * ipa-cp.c (ipcp_print_all_structures): Replace a call to
+ ipa_print_all_param_modified with a call to ipa_print_all_param_flags.
+ * ipa-prop.c (ipa_get_member_ptr_load_param): New function.
+ (ipa_get_stmt_member_ptr_load_param): New function.
+ (ipa_is_ssa_with_stmt_def): New function.
+ (ipa_note_param_call): New function.
+ (ipa_analyze_call_uses): New function.
+ (ipa_analyze_stmt_uses): New function.
+ (ipa_analyze_params_uses): New function.
+ (ipa_free_node_params_substructures): Also free the param_calls linked
+ list.
+ (ipa_node_duplication_hook): Also duplicate the param_calls linked list.
+ (ipa_print_node_param_flags): New function.
+ (ipa_print_all_params_modified): Renamed to ipa_print_all_param_flags.
+ (ipa_print_all_param_flags): Calls ipa_print_node_param_flags.
+ * ipa-prop.h (struct ipa_param_flags): New field called.
+ (struct ipa_param_call_note): New structure.
+ (struct ipa_node_params): New fields param_calls and
+ uses_analysis_done.
+ (ipa_is_ith_param_called): New function.
+ * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
+ ipa_analyze_params_uses and dump parameter flags.
+
+ * ipa-inline.c (cgraph_decide_recursive_inlining): Call
+ ipa_propagate_indirect_call_infos if performing indirect inlining,
+ pass a new parameter new_edges to it.
+ (add_new_edges_to_heap): New fucntion.
+ (cgraph_decide_inlining_of_small_functions): New vector
+ new_indirect_edges for newly found indirect edges , call
+ ipa_propagate_indirect_call_infos after inlining.
+ (cgraph_decide_inlining): Call ipa_propagate_indirect_call_infos after
+ inlining if performing indirect inlining. Call
+ free_all_ipa_structures_after_iinln when doing so too.
+ (inline_generate_summary): Do not call
+ free_all_ipa_structures_after_iinln here.
+ * ipa-prop.c (update_jump_functions_after_inlining): New function.
+ (print_edge_addition_message): New function.
+ (update_call_notes_after_inlining): New function.
+ (propagate_info_to_inlined_callees): New function.
+ (ipa_propagate_indirect_call_infos): New function.
+ * ipa-prop.h: Include cgraph.h
+ (struct ipa_param_call_note): Fields reordered, new field processed.
+ * cgraph.h (cgraph_edge): Shrink loop_nest field to 31 bits, add a new
+ flag indirect_call.
+ * cgraphunit.c (verify_cgraph_node): Allow indirect edges not to have
+ rediscovered call statements.
+ * cgraph.c (cgraph_create_edge): Initialize indirect_call to zero.
+ (dump_cgraph_node): Dump also the indirect_call flag.
+ (cgraph_clone_edge): Copy also the indirect_call flag.
+ * tree-inline.c (copy_bb): Do not check for fndecls from call
+ expressions, check for edge availability when moving clones.
+ (get_indirect_callee_fndecl): New function.
+ (expand_call_inline): If callee declaration is not apprent from
+ the statement, try calling get_indirect_callee_fndecl. Do not
+ issue warnings or call sorry when not inlinings an indirect edge.
+ * Makefile.in (IPA_PROP_H): Added $(CGRAPH_H) to dependencies.
+
+ * ipa-prop.c (ipa_print_node_param_flags): Make the dump format a
+ bit more frandly to matching.
+ * testsuite/g++.dg/ipa/iinline-1.C: New testcase.
+ * testsuite/gcc.dg/ipa/iinline-1.c: New testcase.
+ * testsuite/gcc.dg/ipa/modif-1.c: New testcase.
+
+2008-07-23 Michael Meissner <gnu@the-meissners.org>
+
+ PR 36907
+ * opth-gen.awk: Suppress function specific features when building
+ target libraries.
+ * optc-gen.awk: Ditto.
+
+2008-07-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR 35058
+ * diagnostic.c (pedwarn): Add opt parameter.
+ (pedwarn0): New.
+ * c-tree.h (pedwarn_init): Add opt parameter.
+ (pedwarn_c90): Likewise.
+ (pedwarn_c99): Likewise.
+ * c-errors.c (pedwarn_c99): Likewise.
+ (pedwarn_c90): Likewise.
+ * toplev.h (pedwarn): Update declaration.
+ (pedwarn0): Declare.
+ * c-lex.c: All calls to pedwarn changed.
+ * builtins.c: All calls to pedwarn changed.
+ * toplev.c: All calls to pedwarn changed.
+ * c-decl.c: All calls to pedwarn changed.
+ * c-typeck.c: All calls to pedwarn changed.
+ * c-common.c: All calls to pedwarn changed.
+ * c-parser.c: All calls to pedwarn changed.
+
2008-07-23 Michael Meissner <gnu@the-meissners.org>
Karthik Kumar <karthikkumar@gmail.com>