+2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
+ Account for loop unrolling in the insn-to-prefetch ratio heuristic.
+ (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
+ the unroll_factor.
+
+2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
+ a diagnostic info when the insn-to-mem ratio is too small.
+
+2010-05-07 Richard Guenther <rguenther@suse.de>
+
+ * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
+ the linker plugin.
+ (store_arg): Queue temp_filename for deletion instead of
+ the whole argument.
+
+2010-05-07 Richard Guenther <rguenther@suse.de>
+
+ * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
+ (run_gcc): Handle LTRANS phase invocation.
+ * collect2.c (maybe_run_lto_and_relink): Do not set
+ WPA_SAVE_LTRANS.
+
+2010-05-07 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
+ this is also meaningful on PARM_DECLs and RESULT_DECLs.
+
+2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
+
+2010-05-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44020
+ * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
+ code when PRE is not yet initialized.
+
+2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/dbxmdebug.h: Remove.
+ * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
+
+2010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
+
+ * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
+ with null pointer and also warn about ordered comparison of zero with
+ pointer if -Wextra.
+
+2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-blocking.c
+ (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
+ * graphite-clast-to-gimple.c
+ (clast_to_gcc_expression): Same.
+ (precision_for_value): Same.
+ (precision_for_interval): Same.
+ (gcc_type_for_interval): Same.
+ (graphite_create_new_guard): Same.
+ (compute_bounds_for_level): Same.
+ (graphite_create_new_loop_guard): Same.
+ * graphite-interchange.c
+ (build_linearized_memory_access): Same.
+ (pdr_stride_in_loop): Same.
+ (memory_strides_in_loop_1): Same.
+ (memory_strides_in_loop): Same.
+ (extend_scattering): Same.
+ (psct_scattering_dim_for_loop_depth): Same.
+ (pbb_number_of_iterations): Same.
+ * graphite-poly.h
+ (debug_iteration_domains): Same.
+ * graphite-ppl.c
+ (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
+ (ppl_set_inhomogeneous_gmp): Same.
+ (ppl_strip_loop): Same.
+ (ppl_lexico_compare_linear_expressions): Same.
+ (ppl_read_polyhedron_matrix): Same.
+ (ppl_max_for_le_pointset): Same.
+ * graphite-ppl.h
+ (ppl_read_polyhedron_matrix): Same.
+ (tree_int_to_gmp): Same.
+ (gmp_cst_to_tree): Same.
+ (ppl_set_inhomogeneous): Same.
+ (ppl_set_inhomogeneous_tree): Same.
+ (ppl_set_coef): Same.
+ (ppl_set_coef_tree): Same.
+ * graphite-sese-to-poly.c
+ (build_pbb_scattering_polyhedrons): Same.
+ (build_scop_scattering): Same.
+ (scan_tree_for_params_right_scev): Same.
+ (scan_tree_for_params): Same.
+ (find_params_in_bb): Same.
+ (find_scop_parameters): Same.
+ (add_upper_bounds_from_estimated_nit): Same.
+ (build_loop_iteration_domains): Same.
+ (add_condition_to_domain): Same.
+ (pdr_add_memory_accesses): Same.
+
+2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
+ CLooG's value_* macros to their respective mpz_* counterparts.
+ * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
+ (graphite_create_new_loop_guard): Same.
+ * graphite-interchange.c (build_linearized_memory_access): Same.
+ (pdr_stride_in_loop): Same.
+ (memory_strides_in_loop_1): Same.
+ (1st_interchange_profitable_p): Same.
+ * graphite-poly.c (extend_scattering): Same.
+ (psct_scattering_dim_for_loop_depth): Same.
+ (pbb_number_of_iterations): Same.
+ (pbb_number_of_iterations_at_time): Same.
+ * graphite-poly.h (new_1st_loop): Same.
+ * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
+ (oppose_constraint): Same.
+ (insert_constraint_into_matrix): Same.
+ (ppl_set_inhomogeneous_gmp): Same.
+ (ppl_set_coef_gmp): Same.
+ (ppl_strip_loop): Same.
+ (ppl_lexico_compare_linear_expressions): Same.
+ (ppl_max_for_le_pointset): Same.
+ (ppl_min_for_le_pointset): Same.
+ (ppl_build_realtion): Same.
+ * graphite-ppl.h (gmp_cst_to_tree): Same.
+ (ppl_set_inhomogeneous): Same.
+ (ppl_set_inhomogeneous_tree): Same.
+ (ppl_set_coef): Same.
+ (ppl_set_coef_tree): Same.
+ * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
+ (build_scop_scattering): Same.
+ (add_value_to_dim): Same.
+ (scan_tree_for_params_right_scev): Same.
+ (scan_tree_for_params_int): Same.
+ (scan_tree_for_params): Same.
+ (find_params_in_bb): Same.
+ (find_scop_parameters): Same.
+ (add_upper_bounds_from_estimated_nit): Same.
+ (build_loop_iteration_domains): Same.
+ (create_linear_expr_from_tree): Same.
+ (add_condition_to_domain): Same.
+ (pdr_add_memory_accesses): Same.
+
+2010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
+ Jason Merrill <jason@redhat.com>
+
+ * c-common.c (c_common_reswords): Add nullptr.
+ * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
+ * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
+ (gen_type_die_with_usage): Likewise.
+ * dbxout.c (dbxout_type): Likewise.
+ * sdbout.c (plain_type_1): Likewise.
+
+2010-05-06 Jason Merrill <jason@redhat.com>
+
+ * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
+ Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
+ ret appropriately.
+ (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
+
+ * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
+ stripping WITH_SIZE_EXPR.
+ (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
+ change.
+
+2010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
+ list of obsolete configurations.
+ Disabled check for obsolete configurations.
+ (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
+ Removed support for previous versions.
+ * config/mips/iris.h: Removed.
+ * config/mips/iris5.h: Removed.
+ * config/mips/iris6.h: Merged old iris.h contents.
+ (TARGET_IRIX): Removed.
+ (DRIVER_SELF_SPECS): Removed mabi=32.
+ (IDENT_ASM_OP): Removed undef.
+ (STARTFILE_SPEC): Removed mabi=32.
+ (ENDFILE_SPEC): Likewise.
+ (IRIX_SUBTARGET_LINK_SPEC): Likewise.
+ (MACHINE_TYPE): Update for IRIX 6.5.
+ * config/mips/mips.c (mips_build_builtin_va_list): Replaced
+ TARGET_IRIX by TARGET_IRIX6.
+ (mips_file_start): Likewise.
+ (mips_output_external): Remove IRIX 5/6 O32 support.
+ (mips_output_function_prologue): Likewise.
+ * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
+ TARGET_IRIX6.
+ (TARGET_CPU_CPP_BUILTINS): Likewise.
+ (TARGET_IRIX): Removed.
+ * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
+ (MULTILIB_DIRNAMES): Removed 32.
+ (MULTILIB_OSDIRNAMES): Removed ../lib.
+ * doc/install.texi (Prerequisites): Don't reference IRIX before
+ 6.5.
+ (Specific, mips-sgi-irix5): Document removal.
+ (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI
+ removal.
+ Remove references to older IRIX 6 releases and the O32 ABI.
+
+2010-05-06 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/Wunused-var-8.c: Move to...
+ * c-c++-common/Wunused-var-6.c: ... here. New test.
+
+ PR bootstrap/43994
+ * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
+ instead of DF_REF_REAL_REG.
+
+2010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR target/43888
+ * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
+ handling to still return true for x64 targets.
+
+2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
+
+2010-05-06 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/43791
+ * ipa-inline.c (update_caller_keys): Remove bogus
+ disregard_inline_limits check.
+
+2010-05-06 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/43984
+ * tree-ssa-pre.c (inserted_phi_names): Remove.
+ (inserted_exprs): Change to bitmap.
+ (create_expression_by_pieces): Set bits, don't append to vector.
+ (insert_into_preds_of_block): Don't handle inserted_phi_names.
+ (eliminate): Don't look at inserted_phi_names, remove deleted
+ insns from inserted_exprs.
+ (remove_dead_inserted_code): Adjust to use bitmaps instead of
+ vectors.
+ (init_pre, fini_pre): Allocate and free bitmaps.
+ (execute_pre): Insert insns on edges before elimination.
+
+2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * tree.c (initializer_zerop): Handle STRING_CST.
+
+2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 40989
+ * doc/invoke.texi (Wimplicit): Document as C only.
+ * opts.c (common_handle_option): Add argument kind.
+ (handle_option): Rename as read_cmdline_option. Factor out code to...
+ (handle_option): ... here. New.
+ (handle_options): Rename as read_cmdline_options.
+ (decode_options): Update call.
+ (set_option): Use option index instead of option pointer. Classify
+ diagnostics correctly.
+ (enable_warning_as_error): Call handle_option.
+ * opts.h (set_option): Update declaration.
+ (handle_option): Declare.
+ * langhooks.h (struct lang_hooks): Add argument kind to
+ handle_option.
+ * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
+ * c-opts.c (set_Wimplicit): Delete.
+ (c_family_lang_mask): New static constant.
+ (c_common_handle_option): Add argument kind. Use handle_option
+ instead of set_Wimplicit.
+ (c_common_post_options): warn_implicit and warn_implicit_int
+ are disabled by default.
+ * c-common.c (warn_implicit): Do not define here.
+ * c-common.h (warn_implicit): Do not declare here.
+ (c_common_handle_option): Update declaration.
+ * lto-opts.c (lto_reissue_options): Update call to set_option.
+
+2010-05-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43571
+ * domwalk.c (walk_dominator_tree): Walk the dominator
+ sons in more optimal order.
+
+2010-05-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43934
+ * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
+ (stmt_cost): Likewise.
+ (extract_true_false_args_from_phi): New helper.
+ (determine_max_movement): For PHI nodes verify we can hoist them
+ and compute their cost.
+ (determine_invariantness_stmt): Handle PHI nodes.
+ (move_computations_stmt): Likewise. Hoist PHI nodes in
+ if-converted form using COND_EXPRs.
+ (move_computations): Return TODO_cleanup_cfg if we hoisted PHI
+ nodes.
+ (tree_ssa_lim): Likewise.
+ * tree-flow.h (tree_ssa_lim): Adjust prototype.
+ * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
+
+2010-05-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43987
+ * tree-ssa-structalias.c (could_have_pointers): For possibly
+ address-taken variables force pointers to be recorded.
+ (create_variable_info_for_1): Likewise.
+ (push_fields_onto_fieldstack): Pass in wheter all fields
+ must have pointers.
+ (find_func_aliases): Query types instead of vars whether
+ they contain pointers where appropriate.
+
+2010-05-06 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (record_reference_ctx): Add varpool_node.
+ (record_reference, mark_address, mark_load, mark_store): Record
+ references.
+ (record_references_in_initializer): Update call of record_references.
+ (rebuild_cgraph_edges): Remove all references before rebuiding.
+ * cgraph.c (cgraph_create_node): Clear ref list.
+ (cgraph_remove_node): Remove references.
+ (dump_cgraph_node): Dump references.
+ (cgraph_clone_node): Clone references.
+ * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
+ (struct cgraph_node, varpool_node): Add ref_lst.
+ * ipa-ref.c: New file.
+ * ipa-ref.h: New file.
+ * ipa-ref-inline.h: New file.
+ * lto-cgraph.c (output_varpool): Take cgrag node set argument.
+ (referenced_from_other_partition_p): New function.
+ (lto_output_varpool_node): Take set arugment; call
+ referenced_from_other_partition.
+ (lto_output_ref): New.
+ (add_references): New.
+ (output_refs): New.
+ (output_cgraph): Compute boundary based on references;
+ output refs.
+ (output_varpool): Accept cgraph_node_set argument.
+ (input_ref): New.
+ (input_refs): New.
+ (input_cgraph): Call input_refs.
+ * lto-section-in.c (lto_section_name): Add refs.
+ * Makefile.in: (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
+ (ipa-ref.o): New file.
+ * varpool.c (varpool_node): Clear ipa ref list.
+ (varpool_remove_node): Remove references.
+ (dump_varpool_node): Dump references.
+ (varpool_assemble_decl): Only compile finalized ones.
+ (varpool_extra_name_alias): Initialize ref list.
+ * lto-streamer.c (lto-get_section_name): Add .refs section.
+ * lto-streamer.h (lto_section_type): Add LTO_section_refs.
+ (referenced_from_other_partition_p): Declared.
+
+2010-05-06 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/43901
+ * tree-vect-stmts.c (vectorizable_call): Assert that vector
+ type is not NULL if it's transformation phase, and return
+ FALSE if it's analysis.
+ (vectorizable_conversion, vectorizable_operation,
+ vectorizable_type_demotion, vectorizable_type_promotion):
+ Likewise.
+
+2010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
+
+ * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
+ Delete.
+ * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
+ New define.
+ * config/mips/mips-protos.h
+ (mips_small_register_classes_for_mode_p): Delete prototype.
+
+2010-05-06 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
+ * config/arm/arm.c (multiple_operation_profitable_p,
+ compute_offset_order): New static functions.
+ (load_multiple_sequence, store_multiple_sequence): Use them.
+ Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
+ memory offsets, not register numbers.
+ (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
+
2010-05-05 Steven Bosscher <steven@gcc.gnu.org>
* stor-layout.c (pending_sizes): Change the type to