aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/ChangeLog-2010
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/ChangeLog-2010')
-rw-r--r--gcc-4.9/gcc/ChangeLog-201040863
1 files changed, 40863 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/ChangeLog-2010 b/gcc-4.9/gcc/ChangeLog-2010
new file mode 100644
index 000000000..917704a07
--- /dev/null
+++ b/gcc-4.9/gcc/ChangeLog-2010
@@ -0,0 +1,40863 @@
+2010-12-31 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (powerpc-*-darwin*): Update reference to
+ Apple Developer Tools.
+
+2010-12-31 Ken Werner <ken.werner@de.ibm.com>
+
+ * config/arm/sync.md (sync_clobber, sync_t2_reqd): New code attribute.
+ (arm_sync_old_<sync_optab>si, arm_sync_old_<sync_optab><mode>): Use
+ the sync_clobber and sync_t2_reqd code attributes.
+ * config/arm/arm.c (arm_output_sync_loop): Reverse the operation if
+ the t2 argument is NULL.
+
+2010-12-31 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/sourcebuild.texi (Top Level): Adjust link to libgo.
+
+2010-12-31 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Specific): Remove reference to interix.com.
+
+2010-12-31 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.h (PRINT_OPERAND): Delete.
+ * config/pdp11/pdp11.c (TARGET_PRINT_OPERAND,
+ TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define
+ (pdp11_asm_print_operand, pdp11_asm_print_operand_punct_valid_p):
+ New function.
+ * config/pdp11/pdp11.md (tablejump): Fix generated assembly.
+
+2010-12-31 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/47111
+ * config/rtems.h (NO_IMPLICIT_EXTERN_C): Undef before defining.
+
+ PR target/47112
+ * config/mips/r3900.h: Update Copyright years.
+ (MIPS_CPU_STRING_DEFAULT): Undef before defining.
+ (MULTILIB_DEFAULTS, MIPS_ABI_DEFAULT, SUBTARGET_CC1_SPEC): Likewise.
+
+ PR target/47135
+ * config/pdp11/pdp11.c (pdp11_asm_print_operand_punct_valid_p): Change
+ type to match target.def .
+
+ PR target/47114
+ * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): Add
+ ATTRIBUTE_UNUSED to declaration.
+ (rs6000_elf_asm_out_destructor): Likewise.
+
+ PR target/47084
+ * config/mn10300/linux.h (PRINT_OPERAND): Update for name changes
+ to mn10300_print_operand / mn10300_print_operand_address.
+
+2010-12-30 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * config/mips/mips.h (SHIFT_COUNT_TRUNCATED): Change
+ TARGET_LOONGSON_2EF to TARGET_LOONGSON_VECTORS.
+ * config/mips/mips.c (mips_shift_truncation_mask): Likewise.
+
+2010-12-30 Joseph Myers <joseph@codesourcery.com>
+
+ * config/openbsd.opt: New.
+ * config.gcc (alpha*-*-openbsd*,
+ i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123],
+ i[34567]86-*-openbsd*, m68k*-*-openbsd*, mips*-*-openbsd*,
+ sparc64-*-openbsd*, vax-*-openbsd*): Use openbsd.opt.
+
+2010-12-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
+ patterns.
+
+2010-12-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/47038
+ * config/sparc/sparc.c (sparc_file_end): Call resolve_unique_section
+ on the GOT helper if USE_HIDDEN_LINKONCE.
+
+2010-12-30 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/46889
+ * c-decl.c (detect_field_duplicates): Ensure hash is used for
+ finding duplicates when first field is anonymous.
+
+2010-12-30 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR target/44606
+ * reload1.c (choose_reload_regs): Don't look for equivalences for
+ output reloads of constant loads.
+
+2010-12-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Explicitly derive
+ default values from MEM mode if no memory attributes are present.
+ Do not use mode alignment, even on STRICT_ALIGNMENT targets, when
+ called with an expression (not a type).
+
+2010-12-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (upper_128bits_state): Remove comments.
+ (block_info_def): Add unchanged.
+ (move_or_delete_vzeroupper_2): Short circuit if upper 128bits
+ are unchanged in the block.
+
+2010-12-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46519
+ * config/i386/i386.c (block_info_def): Remove referenced, count
+ and rescanned.
+ (move_or_delete_vzeroupper_2): Updated.
+ (move_or_delete_vzeroupper_1): Rewritten to avoid recursive call.
+ (rescan_move_or_delete_vzeroupper): Removed.
+ (move_or_delete_vzeroupper): Repeat processing all basic blocks
+ until no basic block state is changed to used at exit.
+
+2010-12-30 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md (movmemhi, movmemhi1): Correct
+ constraints.
+ * config/pdp11/pdp11.c (output_block_move): Rewrite.
+
+2010-12-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47060
+ * tree-parloops.c (reduction_phi): Return NULL if PHI is NULL.
+
+2010-12-29 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11-protos.h (pdp11_asm_output_var): Declare.
+ * config/pdp11/pdp11.c (pdp11_asm_output_var): New function.
+ * config/pdp11/pdp11.h (ASM_OUTPUT_ALIGNED_COMMON,
+ ASM_OUTPUT_ALIGNED_LOCAL): New macros.
+ (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
+
+2010-12-30 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/47129
+ * config/ia64/ia64.c: Include "dwarf2out.h" .
+
+ PR target/47063
+ * config/alpha/vms.h (MALLOC_ALIGNMENT): Don't undef / define.
+ (MALLOC_ABI_ALIGNMENT): Undef / define.
+
+ PR target/47101
+ * vmsdbgout.c (vmsdbgout_init): Rename main_input_filename to filename.
+ (vmsdbgout_finish): Likewise.
+
+ PR target/47097
+ * config/i386/lynx.h (DBX_REGISTER_NUMBER): Add cast to avoid
+ mixing signed and unsigned types in conditional expression.
+
+2010-12-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47074
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Call
+ pop_gimplify_context if returning early.
+
+2010-12-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ * Makefile.in (graphite.o): Depends on DIAGNOSTIC_CORE_H.
+ (graphite-clast-to-gimple.o): Same.
+ (graphite-poly.o): Same.
+ * graphite-clast-to-gimple.c: Include diagnostic-core.h.
+ * graphite-poly.c: Same.
+ * graphite.c: Same.
+
+2010-12-28 Richard Guenther <rguenther@suse.de>
+
+ PR debug/46931
+ * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Update
+ SSA before removing dead stmts.
+
+2010-12-28 H.J. Lu <hongjiu.lu@intel.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-builtin-types.def (PUSHORT): New.
+ (INT_FTYPE_PUSHORT): Likewise.
+ (INT_FTYPE_PUNSIGNED): Likewise.
+ (INT_FTYPE_PULONGLONG): Likewise.
+ Remove "DEF_FUNCTION_TYPE (UINT16)".
+
+ * config/i386/i386.c (ix86_builtins): Remove
+ IX86_BUILTIN_RDRAND16, IX86_BUILTIN_RDRAND32 and
+ IX86_BUILTIN_RDRAND64. Add IX86_BUILTIN_RDRAND16_STEP,
+ IX86_BUILTIN_RDRAND32_STEP and IX86_BUILTIN_RDRAND64_STEP.
+ (bdesc_special_args): Remove IX86_BUILTIN_RDRAND16,
+ IX86_BUILTIN_RDRAND32 and IX86_BUILTIN_RDRAND64.
+ (ix86_init_mmx_sse_builtins): Handle IX86_BUILTIN_RDRAND16_STEP,
+ IX86_BUILTIN_RDRAND32_STEP and IX86_BUILTIN_RDRAND64_STEP.
+ (ix86_expand_builtin): Likewise.
+ (ix86_expand_special_args_builtin): Remove UINT16_FTYPE_VOID.
+
+ * config/i386/i386.md (UNSPEC_RDRAND): New.
+ (UNSPECV_RDRAND): Removed.
+ (rdrand<mode>): Likewise.
+ (rdrand<mode>_1): Also set FLAGS_REG. Replace UNSPECV_RDRAND
+ with UNSPEC_RDRAND.
+
+ * config/i386/immintrin.h (_rdrand_u16): Removed.
+ (_rdrand_u32): Likewise.
+ (_rdrand_u64): Likewise.
+ (_rdrand16_step): New.
+ (_rdrand32_step): Likewise.
+ (_rdrand64_step): Likewise.
+
+ * doc/extend.texi (__builtin_ia32_rdrand16): Removed.
+ (__builtin_ia32_rdrand32): Likewise.
+ (__builtin_ia32_rdrand64): Likewise.
+ (__builtin_ia32_rdrand16_step): New.
+ (__builtin_ia32_rdrand32_step): Likewise.
+ (__builtin_ia32_rdrand64_step): Likewise.
+
+2010-12-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ * Makefile.in (graphite.o): Add dependence on DIAGNOSTIC_H.
+ * graphite.c: Include diagnostic.h.
+
+2010-12-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ * Makefile.in (TREE_VECTORIZER_H): Removed duplicate definition.
+ (tree-browser.o): Update dependences.
+ (omega.o): Same.
+ (tree-chrec.o): Same.
+ (tree-scalar-evolution.o): Same.
+ (tree-data-ref.o): Same.
+ (sese.o): Same.
+ (graphite.o): Same.
+ (graphite-blocking.o): Same.
+ (graphite-clast-to-gimple.o): Same.
+ (graphite-cloog-util.o): Same.
+ (graphite-dependences.o): Same.
+ (graphite-flattening.o): Same.
+ (graphite-interchange.o): Same.
+ (graphite-poly.o): Same.
+ (graphite-ppl.o): Same.
+ (graphite-scop-detection.o): Same.
+ (graphite-sese-to-poly.o): Same.
+ (tree-loop-linear.o): Same.
+ (tree-loop-distribution.o): Same.
+ (tree-parloops.o): Same.
+ (lambda-mat.o): Same.
+ (lambda-trans.o): Same.
+ (lambda-code.o): Same.
+ * tree-browser.o: Do not include unnecessary .h files.
+ * omega.o: Same.
+ * tree-chrec.o: Same.
+ * tree-scalar-evolution.o: Same.
+ * tree-data-ref.o: Same.
+ * sese.o: Same.
+ * graphite.o: Same.
+ * graphite-blocking.o: Same.
+ * graphite-clast-to-gimple.o: Same.
+ * graphite-cloog-util.o: Same.
+ * graphite-dependences.o: Same.
+ * graphite-flattening.o: Same.
+ * graphite-interchange.o: Same.
+ * graphite-poly.o: Same.
+ * graphite-ppl.o: Same.
+ * graphite-scop-detection.o: Same.
+ * graphite-sese-to-poly.o: Same.
+ * tree-loop-linear.o: Same.
+ * tree-loop-distribution.o: Same.
+ * tree-parloops.o: Same.
+ * lambda-mat.o: Same.
+ * lambda-trans.o: Same.
+ * lambda-code.o: Same.
+ * graphite.h: Removed.
+
+2010-12-28 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md: Correct length attribute for float
+ literal case.
+
+2010-12-28 Jie Zhang <jie@codesourcery.com>
+
+ * builtins.c (SLOW_UNALIGNED_ACCESS): Remove.
+
+2010-12-27 Joseph Myers <joseph@codesourcery.com>
+
+ * config/freebsd.opt (assert=, defsym=, profile, pthread,
+ rpath-link=, rpath=, soname=): New Driver options.
+
+2010-12-26 Martin Jambor <mjambor@suse.cz>
+
+ * tree.c (get_binfo_at_offset): Use BINFO_TYPE instead of TREE_TYPE,
+ compare TYPE_MAIN_VARIANTs of types.
+
+2010-12-26 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/m68k/t-linux (M68K_MLIB_CPU): Only include 680x0 CPUs.
+
+2010-12-24 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/47036
+ * sel-sched-ir.c (fallthru_bb_of_jump): Remove special support for
+ unconditional jumps.
+ * sel-sched.c (moveup_expr): Ditto.
+
+2010-12-23 Sebastian Pop <sebastian.pop@amd.com>
+ Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46758
+ * graphite-sese-to-poly.c (scan_tree_for_params_right_scev): Use
+ tree_int_to_gmp instead of int_cst_value.
+ (scan_tree_for_params_int): Same.
+ (scan_tree_for_params): Same.
+ (pdr_add_data_dimensions): Use ppl_set_inhomogeneous_tree.
+
+2010-12-23 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/47002
+ * tree-data-ref.c (compute_data_dependences_for_loop): Pass in a
+ pointer to the loop_nest.
+ (analyze_all_data_dependences): Initialize and free the loop_nest.
+ (free_dependence_relations): Do not free loop_nest.
+ (build_rdg): Pass in the loop_nest, datarefs, and dependence_relations.
+ (free_rdg): Also free the data on edges.
+ * tree-data-ref.h (build_rdg): Update declaration.
+ (compute_data_dependences_for_loop): Same.
+ * tree-if-conv.c (if_convertible_loop_p_1): Pass in the loop_nest.
+ (if_convertible_loop_p): Allocate and free loop_nest.
+ * tree-loop-distribution.c (rdg_flag_loop_exits): Free conds.
+ (free_rdg_components): VEC_free components.
+ (distribute_loop): Update call to build_rdg. Allocate and free
+ loop_nest, datarefs, and dependence_relations.
+ * tree-loop-linear.c (linear_transform_loops): Allocate and free
+ loop_nest.
+ * tree-parloops.c (loop_parallel_p): Same.
+ * tree-predcom.c (tree_predictive_commoning_loop): Same.
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Pass to
+ compute_data_dependences_for_loop a pointer to LOOP_VINFO_LOOP_NEST.
+ * tree-vect-loop.c (new_loop_vec_info): Initialize LOOP_VINFO_LOOP_NEST.
+ (destroy_loop_vec_info): Free LOOP_VINFO_MAY_ALIAS_DDRS and
+ LOOP_VINFO_LOOP_NEST.
+ * tree-vect-slp.c (destroy_bb_vec_info): Call free_data_refs and
+ free_dependence_relations.
+ * tree-vectorizer.h (struct _loop_vec_info): Add a field loop_nest.
+ (LOOP_VINFO_LOOP_NEST): New.
+
+2010-12-23 Martin Jambor <mjambor@suse.cz>
+
+ * ipa.c (cgraph_remove_unreachable_nodes): Update former_clone_of even
+ when not checking.
+
+2010-12-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_ld_eh_frame_hdr): Only check GNU ld for
+ --eh-frame-hdr. Check for working Sun ld version.
+ (HAVE_LD_EH_FRAME_HDR): Adapt comment.
+ (glibc_header_dir): Set only once. Rename to ...
+ (target_header_dir): ... this. Adapt users.
+ (gcc_cv_target_dl_iterate_frame_hdr): Check on *-*-solaris2*.
+ (TARGET_DL_ITERATE_PHDR): Define if present.
+ * configure: Regenerate.
+ * config.in: Likewise.
+ * config/t-sol2 (LIB2ADDEH, LIB2ADDEHDEP): Define.
+ * crtstuff.c (USE_PT_GNU_EH_FRAME): Define for recent Solaris 11
+ with linker support and dl_iterate_phdr.
+ * unwind-dw2-fde-glibc.c (USE_PT_GNU_EH_FRAME): Likewise.
+ (_Unwind_IteratePhdrCallback) [PT_SUNW_UNWIND]: Also accept
+ PT_SUNW_UNWIND .eh_frame_hdr sections.
+ [CRT_GET_RFIB_DATA && __i386__ && __sun__ && __svr4__]: Add
+ load_base to data->dbase.
+ [CRT_GET_RFIB_DATA && __x86_64__ && __sun__ && __svr4__]: Handle
+ 64-bit Solaris 10+/x86.
+ * config/sol2-gld.h [TARGET_DL_ITERATE_PHDR && HAVE_LD_EH_FRAME_HDR]
+ (LINK_EH_SPEC): Define.
+
+2010-12-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/extend.texi (Function Attributes, Volatiles): Fix typos.
+ * doc/install.texi (Prerequisites, Specific): Likewise.
+ * doc/invoke.texi (C Dialect Options, Debugging Options)
+ (Optimize Options, MicroBlaze Options)
+ (RS/6000 and PowerPC Options, RX Options, Code Gen Options): Likewise.
+ * doc/objc.texi (Method signatures)
+ (Fast enumeration protocol): Likewise.
+ * doc/tm.texi.in (Run-time Target, Register Arguments)
+ (Scheduling, Macros for Initialization, Misc): Likewise.
+ * doc/tm.texi: Renerate.
+
+2010-12-23 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * doc/objc.texi (Modern GNU Objective-C runtime API): Mention that
+ reference documentation for functions in the API is in the header
+ files.
+ (Messaging with the GNU Objective-C runtime, Dynamically
+ registering methods, Forwarding hook): New sections.
+
+2010-12-22 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/47019
+ * sese.h (scev_analyzable_p): Parameters of a SCoP are SCEV analyzable.
+
+2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-aux-info.c (gen_formal_list_for_type): Use prototype_p.
+ * c-decl.c (diagnose_arglist_conflict): Likewise.
+ (diagnose_mismatched_decls, merge_decls): Likewise.
+ (c_builtin_function, c_builtin_function_ext_scope): Likewise.
+ (start_decl, start_function): Likewise.
+ * c-tree.h (C_DECL_ISNT_PROTOTYPED): Likewise.
+ * config/ia64/ia64.h (INIT_CUMULATIVE_ARGS): Likewise.
+ * config/mep/mep.c (mep_validate_interrupt): Likewise.
+ * config/pa/pa.h (INIT_CUMULATIVE_ARGS): Likewise.
+ * config/rs6000/rs6000.c (init_cumulative_args): Likewise.
+ * config/sh/sh.c (sh_init_cumulative_args): Likewise.
+ * config/sparc/sparc.c (init_cumulative_args): Likewise.
+ * dwarf2out.c (add_prototyped_attribute): Likewise.
+ (gen_subprogram_die): Likewise.
+ * ipa-type-escape.c (check_function_parameter_and_return_types):
+ Likewise.
+ (check_call): Likewise.
+ * tree-ssa.c (useless_type_conversion_p): Likewise.
+
+2010-12-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.md ("mov<mode>"): Use nonimmediate_operand
+ predicate for destination operand.
+ * config/spu/spu.c (spu_expand_mov): If move destination is an
+ invalid subreg, perform move in the subreg's inner mode instead.
+
+2010-12-22 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/45934
+ PR tree-optimization/46302
+ PR tree-optimization/46987
+ * gimple-fold.c (get_base_binfo_for_type): Removed.
+ (gimple_get_relevant_ref_binfo): Likewise.
+ (gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality,
+ removed parameter inplace, updated the caller.
+ * gimple.h (gimple_get_relevant_ref_binfo): Remove declaration.
+ * ipa-cp.c (ipcp_propagate_types): Do not derive types from constants.
+ (ipcp_discover_new_direct_edges): Do not do devirtualization based on
+ constants.
+ * ipa-prop.c (compute_known_type_jump_func): Use
+ get_ref_base_and_extent and get_binfo_at_offset instead of
+ gimple_get_relevant_ref_binfo.
+ (compute_known_type_jump_func): Likewise.
+ (update_jump_functions_after_inlining): Do not derive types from
+ constants.
+ (try_make_edge_direct_virtual_call): Likewise.
+ * tree.c (get_binfo_at_offset): Get type from non-artificial fields.
+
+2010-12-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/svr4.h: Remove.
+ * system.h (USING_SVR4_H, SVR4_ASM_SPEC): Poison.
+ * config.gcc, config/bfin/bfin.h, config/cris/cris.h,
+ config/fr30/fr30.h, config/frv/frv.h, config/i386/openbsdelf.h,
+ config/i386/vx-common.h, config/ia64/elf.h, config/ia64/ia64.h,
+ config/ia64/sysv4.h, config/iq2000/iq2000.h, config/m68k/linux.h,
+ config/m68k/m68kelf.h, config/mips/mips.h, config/mips/vxworks.h,
+ config/moxie/moxie.h, config/netbsd-aout.h, config/openbsd.h,
+ config/rs6000/sysv4.h, config/sh/elf.h, config/sh/sh.h,
+ config/sol2.h, config/sparc/sysv4.h, config/stormy16/stormy16.h,
+ config/v850/v850.h, config/vxworks.h: Remove or update comments
+ referring to svr4.h.
+
+2010-12-22 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/45352
+ PR rtl-optimization/46521
+ PR rtl-optimization/46522
+ * sel-sched.c (reset_sched_cycles_in_current_ebb): Recheck the
+ DFA state on the last iteration of the advancing loop.
+ (sel_sched_region_1): Propagate the rescheduling bit to the next
+ block also for empty blocks.
+
+2010-12-22 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/46724
+ * function.c (assign_parms_augmented_arg_list): Name and mark
+ DECL of result address as NAMELESS rather than IGNORED.
+ (assign_parms): Set DECL_VALUE_EXPR for indirect result.
+ * tree.h (tree_decl_common::decl_flag_2): Document RESULT_DECL.
+ (DECL_HAS_VALUE_EXPR_P): Accept RESULT_DECL.
+ * dwarf2out.c (loc_list_from_tree) <RESULT_DECL>: Use
+ DECL_VALUE_EXPR.
+ * dbxout.c (dbxout_expand_expr) <RESULT_DECL>: Likewise.
+ * var-tracking.c (vt_add_function_parameter): New, split out of...
+ (vt_add_function_parameters): ... this. Handle incoming
+ pointer to hold result.
+
+2010-12-22 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/arm.c (output_move_double): Update the comment
+ above the function to reflect the current implementation.
+
+2010-12-21 Steven Bosscher <steven@gcc.gnu.org>
+
+ De-hookize profile infrastructure.
+ * value-prof.c (value_prof_hooks): Remove.
+ (struct value_prof_hooks): Remove.
+ (gimple_value_prof_hooks): Remove.
+ (gimple_register_value_prof_hooks): Remove.
+ (find_values_to_profile): Remove.
+ (value_profile_transformations): Remove.
+ (gimple_value_profile_transformations): No longer static.
+ (gimple_find_values_to_profile): Likewise.
+ * value-prof.h (gimple_register_value_prof_hooks): Remove prototype.
+ (find_values_to_profile): Likewise.
+ (value_profile_transformations): Likewise.
+ (tree_register_profile_hooks): Likewise.
+ (struct profile_hooks): Remove.
+ (tree_profile_hooks): Remove.
+ (gimple_find_values_to_profile): New protoype.
+ (gimple_value_profile_transformations): Likewise.
+ (gimple_init_edge_profiler): Likewise.
+ (gimple_gen_edge_profiler): Likewise.
+ (gimple_gen_interval_profiler): Likewise.
+ (gimple_gen_pow2_profiler): Likewise.
+ (gimple_gen_one_value_profiler): Likewise.
+ (gimple_gen_ic_profiler): Likewise.
+ (gimple_gen_ic_func_profiler): Likewise.
+ (gimple_gen_const_delta_profiler): Likewise.
+ (gimple_gen_average_profiler): Likewise.
+ (gimple_gen_ior_profiler): Likewise.
+ * profile.c (profile_hooks): Remove.
+ (instrument_edges): Call profiling functions directly instead
+ of through removed profile_hooks.
+ (instrument_values): Likewise.
+ (branch_prob): Call gimple_find_values_to_profile instead of
+ removed find_values_to_profile.
+ Call gimple_init_edge_profiler instead of removed hook.
+ (tree_register_profile_hooks): Remove.
+ * tree-profile.c (tree_init_ic_make_global_vars): Rename to
+ init_ic_make_global_vars.
+ (tree_init_edge_profiler): Rename to gimple_init_edge_profiler
+ and no longer static.
+ (tree_gen_edge_profiler, tree_gen_interval_profiler,
+ tree_gen_pow2_profiler, tree_gen_one_value_profiler,
+ tree_gen_ic_profiler, tree_gen_ic_func_profiler,
+ tree_gen_const_delta_profiler, tree_gen_average_profiler,
+ tree_gen_ior_profiler): Similarly renamed and no longer static.
+ (tree_profiling): Do not initialize tree profiling hooks.
+ (tree_profile_hooks): Remove.
+
+2010-12-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/46880
+ * config/i386/sse.md (sse2_loadlpd, sse2_movsd): Fix shufpd source
+ operand.
+
+2010-12-21 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/47001
+ * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
+ the loads in reduction are different and there are no gaps between
+ them.
+
+2010-12-21 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/45310
+ * tree-ssa-phiprop.c (propagate_with_phi): Remove statement
+ completely from the function, including EH traces.
+
+2010-12-21 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/46755
+ * ira.c (ira): If some dead edges were removed, find and delete
+ any blocks that might have become unreachable.
+
+2010-12-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/47008
+ * postreload.c (reload_combine_note_store): Also handle
+ PRE_MODIFY and POST_MODIFY.
+
+2010-12-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/arm/arm.c (require_pic_register): Set INSN_LOCATOR for all
+ instructions injected into the prologue to prologue_locator.
+
+2010-12-21 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/47000
+ * tree-inline.c (estimate_operator_cost): Handle VIEW_CONVERT_EXPR.
+
+2010-12-21 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/arm-ldmstm.ml: Fix a typo in comment.
+
+2010-12-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/45852
+ * expr.c (store_expr): Ignore alt_rtl if equal to target,
+ but has side-effects.
+
+2010-12-21 Anatoly Sokolov <aesok@post.ru>
+
+ * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/sh/sh-protos.h (secondary_reload_info, sh_secondary_reload):
+ Remove forward declaration.
+ * config/sh/sh.c (sh_preferred_reload_class): New function.
+ (sh_secondary_reload): Make static.
+ (TARGET_PREFERRED_RELOAD_CLASS): Define.
+
+2010-12-20 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/linux.h (OPTION_GLIBC): Define differently if
+ SINGLE_LIBC.
+ * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC):
+ Define differently if SINGLE_LIBC.
+ * config/rs6000/linux.h (OPTION_GLIBC): Define differently if
+ SINGLE_LIBC.
+ * config/rs6000/linux64.h (OPTION_GLIBC): Define differently if
+ SINGLE_LIBC.
+ * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
+ *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Define
+ SINGLE_LIBC instead of OPTION_GLIBC.
+ (*-*-uclinux*): Define DEFAULT_LIBC and SINGLE_LIBC.
+ (bfin*-uclinux*, moxie-*-uclinux*, m68k-*-uclinux*): Don't define
+ DEFAULT_LIBC or use linux.opt.
+
+2010-12-20 Richard Henderson <rth@redhat.com>
+
+ * config/mn10300/mn10300.c (mn10300_legitimize_pic_address): Generate
+ UNSPEC patterns by hand, with the proper mode; use gen_const_mem.
+ * config/mn10300/mn10300.md (call, call_value): Generate UNSPEC_PLT
+ by hand, with the proper mode.
+ (symGOT2reg, symGOT2reg_i, symGOTOFF2reg): Remove.
+ (symGOTOFF2reg_i, sym2PIC, sym2PLT): Remove.
+
+2010-12-20 Sanjin Liu <scliu@faraday-tech.com>
+ Mingfeng Wu <mingfeng@faraday-tech.com>
+
+ * config/arm/arm-cores.def: Add Faraday CPU support -
+ fa526/fa626/fa606te/fa626te/fmp626/fa726te.
+ * config/arm/arm-tune.md: Regenerate.
+ * config/arm/arm.c (arm_fa726te_tune): New tune_params for fa726te
+ (fa726te_sched_adjust_cost): New cost function for fa726te.
+ (arm_issue_rate): Add fa726te.
+ * config/arm/arm.md (generic_sched): Add Faraday cores to generic_sched
+ and include machine description files.
+ * config/arm/bpabi.h (TARGET_FIX_V4BX_SPEC): Add fa526 and fa626.
+ * config/arm/t-arm (MD_INCLUDES): Include machine description files for
+ Faraday cores.
+ * config/arm/t-arm-elf: Add multilib option for Faraday cores.
+ * config/arm/t-linux-eabi: Add multilib option for Faraday cores except
+ fa526 and fa626.
+ * doc/invoke.texi: Document -mcpu for Faraday cores.
+ * config/arm/fa526.md: New file.
+ * config/arm/fa606te.md: New file.
+ * config/arm/fa626te.md: New file.
+ * config/arm/fmp626.md: New file.
+ * config/arm/fa726te.md: New file.
+
+2010-12-20 Yvan Roux <yvan.roux@st.com>
+
+ * config/arm/lib1funcs.asm (ARM_DIV_BODY case __OPTIMIZE_SIZE__): Fix
+ condition on IT instruction for early termination.
+
+2010-12-20 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't define.
+ (DBX_REGISTER_NUMBER): Define.
+ * config/rs6000/lynx.h (DBX_REGISTER_NUMBER): Define.
+ * config/rs6000/netbsd.h (DBX_REGISTER_NUMBER): Define.
+ * config/rs6000/sysv4.h (SIZE_TYPE): Define.
+ (ASM_SPEC): Define without using SVR4_ASM_SPEC.
+ (DBX_REGISTER_NUMBER): Undefine.
+ * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
+ powerpc-*-eabisim*, powerpc-*-elf*, powerpc-*-eabialtivec*,
+ powerpc-xilinx-eabi*, powerpc-*-eabi*, powerpc-*-rtems*,
+ powerpc-*-linux* | powerpc64-*-linux*, powerpc64-*-gnu*,
+ powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
+ powerpc-wrs-vxworks|powerpc-wrs-vxworksae, powerpcle-*-elf*,
+ powerpcle-*-eabisim*, powerpcle-*-eabi*): Don't use svr4.h.
+
+2010-12-20 Iain Sandoe <iains@gcc.gnu.org>
+ Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/46916
+ * opts.c (finish_options): Enable -freorder-functions
+ when -freorder-blocks-and-partition is active.
+
+2010-12-20 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR c++/46904
+ PR middle-end/46916
+ PR target/46950
+ * config/darwin.c (generating_for_darwin_version): New var.
+ (darwin_text_section): Remove.
+ (darwin_rodata_section): Do not check function section here.
+ (darwin_emit_unwind_label): Do not emit for Darwin >= 9.
+ Emit distinct labels for successive calls for the same decl.
+ (darwin_override_options): Set generating_for_darwin_version.
+ Add FIXME and disable -freorder-blocks-and-partition.
+ Suppress automatic asynchronous unwind tables for m32.
+ Switch off -freorder-blocks-and-partition when unwind tables
+ will be generated. Update to use generating_for_darwin_version.
+ (darwin_function_section): Check for cases that need to be placed
+ in coalesced sections.
+ * config/darwin-sections.def: Define hot, cold, startup and
+ exit sections for both coalesced and regular code.
+ * config/darwin.h (USE_SELECT_SECTION_FOR_FUNCTIONS): Delete.
+ * config/darwin10.h (TARGET_ASM_EMIT_UNWIND_LABEL): Delete.
+
+2010-12-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/cppopts.texi: Use @var when appropriate.
+ * doc/extend.texi (Structure-Packing Pragmas): Likewise.
+ * doc/gimple.texi (Logical Operators)
+ (Adding a new GIMPLE statement code): Likewise.
+ * doc/invoke.texi (Target Options, Precompiled Headers): Likewise.
+ * doc/plugins.texi (Plugins): Likewise.
+
+ * doc/install.texi (Configuration, Building, Testing, Specific):
+ Remove leading whitespace from examples.
+
+2010-12-19 Andi Kleen <ak@linux.intel.com>
+
+ PR lto/46905
+ * collect2.c (main): Handle -fno-lto.
+ * opts.c (common_handle_option): Handle -fno-lto.
+
+2010-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/46729
+ * config/sparc/sparc.h (GLOBAL_OFFSET_TABLE_REGNUM): New macro.
+ (PIC_OFFSET_TABLE_REGNUM): Rewrite in terms of above macro.
+ * config/sparc/sparc.c (pic_helper_needed): Delete.
+ (global_offset_table): Likewise.
+ (pic_helper_symbol): Rename to...
+ (got_helper_rtx): ...this.
+ (global_offset_table_rtx): New global variable.
+ (sparc_got_symbol): Likewise.
+ (sparc_got): New static function.
+ (check_pic): Use local variable and call sparc_got.
+ (sparc_tls_symbol): Initialize to NULL_RTX.
+ (sparc_tls_got): In non-PIC mode, reload the GOT register for Sun TLS
+ and 32-bit ABI and copy the GOT symbol to a new register otherwise.
+ (get_pc_thunk_name): Rename local variable.
+ (gen_load_pcrel_sym): New wrapper around load_pcrel_sym{si,di}.
+ (load_pic_register): Rename to...
+ (load_got_register): ...this. Adjust and call gen_load_pcrel_sym.
+ (sparc_expand_prologue): Do not test flag_pic.
+ (sparc_output_mi_thunk): Use pic_offset_table_rtx directly.
+ (sparc_file_end): Test got_helper_rtx instead of pic_helper_needed.
+ Rename local variable and do not call get_pc_thunk_name again.
+ * config/sparc/sparc.md (load_pcrel_sym): Add operand #3.
+
+2010-12-19 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR middle-end/46674
+ PR middle-end/46221
+ * varasm.c (symbol_alias_set_t): New typedef for derived pointer_set
+ wrapper class.
+ (symbol_alias_set_create): New wrapper function.
+ (symbol_alias_set_destroy): Likewise.
+ (symbol_alias_set_contains): Likewise.
+ (symbol_alias_set_insert): Likewise.
+ (compute_visible_aliases): Use the above and return symbol_alias_set_t,
+ not a pointer_set.
+ (remove_unreachable_alias_pairs): Adjust likewise to match.
+ (finish_aliases_1): Likewise.
+
+2010-12-19 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/arm/arm.c (arm_legitimate_index_p): Add VFP load/store
+ index range case. Change to SF/DFmode tests to avoid capturing HFmode.
+ (thumb2_legitimate_index_p): Same.
+
+2010-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46969
+ * tree-parloops.c (struct reduction_info): Add reduc_version.
+ (reduction_info_hash): Return reduc_version field.
+ (reduction_phi): Set reduc_version to gimple_uid (phi).
+ (build_new_reduction): Set reduc_version to SSA_NAME_VERSION of
+ phi result.
+ (set_reduc_phi_uids): New function.
+ (gather_scalar_reductions): Call it at the end through htab_traverse.
+
+2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_try_catch_finally_statement): Call
+ objc_maybe_warn_exceptions.
+ (c_parser_objc_synchronized_statement): Call
+ objc_maybe_warn_exceptions.
+
+2010-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46985
+ * tree-scalar-evolution.c (instantiate_scev_r): If chrec is NULL,
+ return it immediately.
+
+2010-12-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/46915
+ * config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead
+ of next_real_insn. Search forward checking for both ASM_INPUT and
+ ASM_OPERANDS asms until exit condition is found.
+ (branch_needs_nop_p): Likewise.
+ (use_skip_p): New function.
+ (output_cbranch): Use use_skip_p.
+ (output_bb, output_bvb): Likewise.
+
+2010-12-18 Kai Tietz <kai.tietz@onevision.com>
+
+ PR target/36834
+ * config/i386/i386.c (ix86_keep_aggregate_return_pointer):
+ New local function.
+ (ix86_return_pops_args): Use ix86_keep_aggregate_return_pointer
+ function instead of KEEP_AGGREGATE_RETURN_POINTER.
+ (ix86_handle_callee_pop_aggregate_return): New handler.
+ (ix86_attribute_table): Add new attribute
+ callee_pop_aggregate_return.
+ * doc/extend.texi (callee_pop_aggregate_return): Add
+ attribute documentation.
+
+2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS):
+ Only set sjlj exceptions for NeXT/m32.
+
+2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION):
+ Only expose when not building for target.
+
+2010-12-17 Joseph Myers <joseph@codesourcery.com>
+
+ * config/netbsd.opt, config/netbsd-elf.opt: New files.
+ * config.gcc (alpha*-*-netbsd*, arm*-*-netbsdelf*, arm*-*-netbsd*,
+ i[34567]86-*-netbsdelf*, i[34567]86-*-netbsd*, x86_64-*-netbsd*,
+ m68k*-*-netbsdelf*, mips*-*-netbsd*, powerpc-*-netbsd*,
+ sh*-*-netbsd*, sparc-*-netbsdelf*, sparc64-*-netbsd*,
+ vax-*-netbsdelf*, vax-*-netbsd*): Use these .opt files.
+
+2010-12-17 Richard Henderson <rth@redhat.com>
+
+ * regcprop.c (find_oldest_value_reg): Continue search instead of
+ failing if an element in the copy chain is of the wrong regclass.
+
+2010-12-17 Paolo Bonzini <bonzini@gnu.org>
+
+ PR c/20385
+ * function.c (used_types_insert): Handle ERROR_MARK.
+ * c-decl.c (grokdeclarator): Handle ERROR_MARK.
+ (declspecs_add_type): Leave error_mark_node in specs->type.
+ (finish_declspecs): Change it to integer_type_node here.
+ * c-parser.c (c_parser_peek_2nd_token): Move earlier.
+ (enum c_lookahead_kind): New.
+ (c_parser_next_token_starts_typename): New name of
+ c_parser_next_tokens_start_typename. Accept lookahead enum
+ and handle it here instead of...
+ (c_parser_next_tokens_start_declaration): ... here. Call it.
+ (c_parser_declspecs): Accept another argument. Do not exit
+ on C_ID_ID if it is guessed to be an unknown typename.
+ (c_parser_parms_declarator): Use 2nd token to distinguish a K&R
+ declaration from an ANSI declaration starting with an unknown
+ typename.
+ (c_parser_struct_declaration, c_parser_objc_type_name,
+ c_parser_typeof_specifier, c_parser_declarator,
+ c_parser_direct_declarator_inner): Adjust calls.
+ (c_parser_parameter_declaration): Likewise.
+ (c_parser_type_name): Pass back an error_mark_node to the caller.
+ (c_parser_postfix_expression): Do error recovery when
+ c_parser_type_name returns NULL.
+
+2010-12-17 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/netware.h (ASM_SPEC, SIZE_TYPE, PTRDIFF_TYPE): Define.
+ * config/i386/nto.h (LIB_SPEC, ASM_SPEC): Define.
+ (DBX_REGISTER_NUMBER): Undefine.
+ * config/i386/sol2.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
+ * config/i386/vxworksae.h (ASM_SPEC, SIZE_TYPE, PTRDIFF_TYPE):
+ Define.
+ * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
+ i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
+ i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
+ x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
+ i[3456x]86-*-netware*, i[34567]86-*-nto-qnx*,
+ i[34567]86-*-solaris2*,
+ i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae): Don't use svr4.h.
+
+2010-12-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (move_or_delete_vzeroupper_2): Replace
+ "BB [%i]" with "[bb %i]" in dump.
+ (move_or_delete_vzeroupper_1): Likewise.
+ (rescan_move_or_delete_vzeroupper): Likewise. Always dump
+ upper 128bit state at exit.
+
+2010-12-17 Joseph Myers <joseph@codesourcery.com>
+
+ * config/interix.opt: New.
+ * config/interix.h (LINK_SPEC): Don't handle -soname*.
+ * config.gcc (i[34567]86-*-interix3*): Use interix.opt.
+
+2010-12-17 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.md (maddhisi4, *maddhidi4): Use the canonical
+ operand order for plus.
+ Drop redundant % from constraints.
+
+2010-12-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/t-spu-elf (LIB2FUNCS_EXCLUDE): Add _floattisf and
+ _floatunstisf.
+ * config/spu/spu.md ("floattisf2"): New expander.
+ ("floatunstisf2"): New insn pattern and splitter.
+ ("cgt_ti_m1"): New insn pattern.
+
+2010-12-17 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/arm/arm.c (arm_select_cc_mode): Before calling
+ arm_select_dominance_cc_mode for AND or IOR operations, ensure
+ that op is NE or EQ.
+
+2010-12-17 Alexander Monakov <amonakov@ispras.ru>
+
+ PR middle-end/46761
+ * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Prefer
+ to use unadjusted UB.
+
+2010-12-17 Dodji Seketeli <dodji@redhat.com>
+
+ * dwarf2out.c (gen_type_die_with_usage): Do not try to emit debug
+ info for a redundant typedef that has DECL_ORIGINAL_TYPE set. Use
+ that underlying type instead.
+
+2010-12-16 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44563
+ * ipa-inline.c: Update doplevel comment.
+ (cgraph_estimate_size_after_inlining): Remove times attribute.
+ (cgraph_mark_inline_edge): Update.
+ (cgraph_mark_inline): Remove.
+ (cgraph_estimate_growth): Update.
+ (cgraph_check_inline_limits): Remove one only argument.
+ (cgraph_edge_badness): Update.
+ (cgraph_decide_recursive_inlining): Update.
+ (cgraph_decide_inlining_of_small_function): Fix handling of
+ tree_can_inline_p and call_stmt_cannot_inline_p.
+ (cgraph_flatten): Likewise.
+ (cgraph_decide_inlining): Update.
+ (cgraph_decide_inlining_incrementally): Fix handling of
+ call_stmt_cannot_inline_p.
+
+2010-12-16 Joseph Myers <joseph@codesourcery.com>
+
+ * config/darwin.opt (dylinker, headerpad_max_install_names,
+ keep_private_externs, nofixprebinding, nomultidefs, noprebind,
+ noseglinkedit, object, prebind, prebind_all_twolevel_modules,
+ preload, private_bundle, pthread, seglinkedit, twolevel_namespace,
+ twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New
+ Driver options.
+ * config/darwin.h (LINK_SPEC): Remove '*' after
+ headerpad_max_install_names.
+
+2010-12-16 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46924
+ * graphite-sese-to-poly.c (detect_commutative_reduction): Do not
+ detect reductions outside the current SESE region.
+ * sese.h (stmt_in_sese_p): New.
+ (defined_in_sese_p): Call stmt_in_sese_p.
+
+2010-12-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46966
+ * graphite-sese-to-poly.c (build_scop_drs): Call free_gimple_bb for
+ for bbs that are removed from SCOP_BBS vector.
+
+2010-12-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Always punt if the call to
+ get_ref_base_and_extent returns -1 as the max size.
+
+2010-12-16 Konrad Eisele <konrad@gaisler.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ Support for LEON processor
+ * config.gcc (sparc-*-elf*): Deal with sparc-leon specifically.
+ (sparc-*-linux*): Likewise.
+ (sparc-*-rtems*): Remove Solaris left-overs.
+ (sparc*-*-*): Remove obsolete sparc86x setting.
+ (sparc-leon*): Default to --with-cpu=v8 and --with-tune=leon.
+ * doc/invoke.texi (SPARC Options): Document -mcpu/-mtune=leon.
+ * config/sparc/sparc.h (TARGET_CPU_leon): Define.
+ (TARGET_CPU_sparc86x): Delete.
+ (TARGET_CPU_cypress): Define as alias to TARGET_CPU_v7.
+ (TARGET_CPU_f930): Define as alias to TARGET_CPU_sparclite.
+ (TARGET_CPU_f934): Likewise.
+ (TARGET_CPU_tsc701): Define as alias to TARGET_CPU_sparclet.
+ (CPP_CPU_SPEC): Add entry for -mcpu=leon.
+ (enum processor_type): Add PROCESSOR_LEON. Reorganize.
+ * config/sparc/sparc.c (leon_costs): New cost array.
+ (sparc_option_override): Add entry for TARGET_CPU_leon and -mcpu=leon.
+ Initialize cost array to leon_costs if -mtune=leon.
+ * config/sparc/sparc.md (cpu attribute): Add leon. Reorganize.
+ Include leon.md scheduling description.
+ * config/sparc/leon.md: New file.
+ * config/sparc/t-elf: Do not assemble Solaris startup files.
+ * config/sparc/t-leon: New file.
+ * config/sparc/t-leon3: Likewise.
+
+2010-12-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/43655
+ * tree-ssa-ter.c (is_replaceable_p): Don't use
+ gimple_references_memory_p for -O0, instead check for load
+ by looking at rhs.
+
+2010-12-16 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46404
+ * graphite-clast-to-gimple.c (gloog): Call scev_reset.
+
+2010-12-16 Anatoly Sokolov <aesok@post.ru>
+
+ * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+ * config/sh/sh.c (sh_asm_output_addr_const_extra): New function.
+ (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2010-12-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/t-spu-elf (LIB2_SIDITI_CONV_FUNC): Define.
+ * config/spu/spu.h (MIN_UNITS_PER_WORD): Do not define.
+ (LIBGCC2_UNITS_PER_WORD): Define if not already defined.
+
+2010-12-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46893
+ * cfgexpand.c (expand_debug_expr): If GET_MODE (op0) is VOIDmode,
+ use TYPE_MODE (TREE_TYPE (tem)) instead of mode1.
+
+2010-12-16 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR target/46883
+ * config/arm/arm.md
+ (zero_extendhisi2 for register input splitter): Change
+ "register_operand" to "s_register_operand".
+ (zero_extendqisi2 for register input splitter): Same.
+
+2010-12-16 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/46939
+ * predic.c (predict_paths_leading_to_edge): New function.
+ (apply_return_prediction): Use it.
+ (predict_paths_for_bb): Do not special case abnormals.
+
+2010-12-16 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (powerpc-*-lynxos*): Don't add lynx.opt to
+ extra_options twice.
+
+2010-12-15 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
+ * doc/tm.texi: Regenerate.
+ * system.h (US_SOFTWARE_GOFAST): Poison.
+ * config.gcc (enable_gofast): Don't handle.
+ * config/gofast.h: Remove.
+ * config/mips/t-gofast: Remove.
+ * config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle.
+ * config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle.
+ * config/mips/elforion.h: Don't mention GOFAST in comment.
+ * config/mips/mips.c: Don't include gofast.h.
+ (mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
+ * config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define
+ US_SOFTWARE_GOFAST.
+ * config/sparc/sparc.c: Don't include gofast.h.
+ (sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
+ * config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine
+ US_SOFTWARE_GOFAST.
+
+2010-12-14 Jan Hubicka <jh@suse.cz>
+
+ * config/darwin.opt (dylinker, headerpad_max_install_names,
+ keep_private_externs, nofixprebinding, nomultidefs, noprebind,
+ noseglinkedit, object, prebind, prebind_all_twolevel_modules,
+ preload, private_bundle, pthread, seglinkedit, twolevel_namespace,
+ twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New
+ Driver options.
+ * config/darwin.h (LINK_SPEC): Remove '*' after
+ headerpad_max_install_names.
+
+2010-12-14 Jan Hubicka <jh@suse.cz>
+
+ * tree.c (get_file_function_name): Avoid using random seed on
+ GLOBAL_sub_I and GLOBAL_sub_D.
+
+2010-12-15 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/46053
+ PR middle-end/46287
+ PR middle-end/46242
+ * cgraph.h (cgraph_indirect_call_info): New field thunk_delta.
+ * gimple.h (gimple_fold_obj_type_ref): Declaration removed.
+ (gimple_fold_call): Declare.
+ (gimple_adjust_this_by_delta): Likewise.
+ * cgraph.c (cgraph_make_edge_direct): New parameter delta. Updated
+ all users.
+ (cgraph_clone_edge): Create a copy of indirect_info also for direct
+ edges.
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Adjust this
+ parameters.
+ * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Renamed to
+ gimple_get_virt_mehtod_for_binfo, new parameter delta. Do not search
+ through thunks, in fact bail out if we encounter one, check that
+ BINFO_VIRTUALS is not NULL.
+ (gimple_adjust_this_by_delta): New function.
+ (gimple_fold_obj_type_ref): Removed.
+ (gimple_fold_obj_type_ref_call): New function.
+ (fold_gimple_call): Renamed to gimple_fold_call, made external.
+ Updated users. Call gimple_fold_obj_type_ref_call instead of
+ gimple_fold_obj_type_ref.
+ * ipa-cp.c (ipcp_process_devirtualization_opportunities): Process
+ thunk deltas.
+ (ipcp_discover_new_direct_edges): Likewise.
+ * ipa-prop.c (ipa_make_edge_direct_to_target): New parameter delta.
+ Updated callers.
+ (ipa_write_indirect_edge_info): Stream thunk_delta.
+ (ipa_read_indirect_edge_info): Likewise.
+ * tree-ssa-ccp.c (ccp_fold_stmt): Use gimple_fold_call instead of
+ gimple_fold_obj_type_ref.
+
+2010-12-15 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/46649
+ * sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first
+ basic block in the region.
+
+2010-12-15 Joseph Myers <joseph@codesourcery.com>
+
+ * config/stormy16/stormy16.h (LINK_SPEC, WCHAR_TYPE): Define.
+ * config.gcc (xstormy16-*-elf): Don't use svr4.h.
+
+2010-12-15 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rx/rx.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+ * config.gcc (rx-*-elf*): Don't use svr4.h.
+
+2010-12-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46845
+ * sese.c (scalar_evolution_in_region): Handle scop parameters
+ before scev analysis.
+
+2010-12-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46928
+ * tree-data-ref.c (analyze_overlapping_iterations): Handle A[p] == A[p]
+ in data dependence analysis with p a parameter of the loop.
+
+2010-12-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/45948
+ * tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p): New.
+ (stmt_has_scalar_dependences_outside_loop): New.
+ (stmt_generated_in_another_partition): New.
+ (add_scalar_computations_to_partition): New.
+ (rdg_build_partitions): Call add_scalar_computations_to_partition.
+
+2010-12-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arc/arc.h (LIB_SPEC): Define.
+ * config.gcc (arc-*-elf*): Don't use svr4.h.
+
+2010-12-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sh/elf.h (LIB_SPEC): Define.
+ * config.gcc (sh-*-elf* | sh[12346l]*-*-elf* | sh-*-symbianelf* |
+ sh[12346l]*-*-symbianelf* | sh-*-linux* | sh[2346lbe]*-*-linux* |
+ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* |
+ sh5l*-*-netbsd* | sh64-*-netbsd* | sh64l*-*-netbsd*, sh-*-rtems*,
+ sh-wrs-vxworks): Don't use svr4.h.
+
+2010-12-14 Jan Hubicka <jh@suse.cz>
+
+ PR lto/46940
+ PR lto/44463
+ * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes
+ for aliases when they are used.
+
+2010-12-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (sparc-*-elf*, sparc-*-rtems*, sparc-*-linux*,
+ sparc-*-netbsdelf*, sparc*-*-solaris2*, sparc-wrs-vxworks,
+ sparc64-*-elf*, sparc64-*-rtems*, sparc64-*-linux*,
+ sparc64-*-netbsd*, sparc64-*-openbsd*): Don't use svr4.h.
+
+2010-12-14 Thomas Klein <th.r.klein@web.de>
+
+ * config/arm/arm.c (arm_expand_prologue): Report the static stack
+ size if -fstack-usage is used.
+ (thumb1_expand_prologue): Likewise.
+
+2010-12-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46885
+ * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Use gsi_last_bb
+ instead of gsi_last_nondebug_bb if bump_in_latch.
+
+ PR tree-optimization/46909
+ * gimple-fold.c (and_var_with_comparison_1): Save partial
+ result even in the is_and case, if both partial results
+ are the same, return it.
+ (or_var_with_comparison_1): Use is_or predicate instead of
+ innercode == TRUTH_OR_EXPR test. Save partial result
+ even in the is_or case, if both partial results are the
+ same, return it. In the !is_or case when both partial
+ results are the same, return the partial result instead
+ of boolean_true_node.
+
+2010-12-14 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/46667
+ * varasm.c (assemble_start_function): Do not call
+ resolve_unique_section.
+ * cfgexpand.c (gimple_expand_cfg): Resolve it here.
+
+2010-12-14 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/46875
+ * sched-vis.c (print_pattern): Dump "sequence" for ADDR_VECs.
+ * sel-sched-ir.c (bb_has_removable_jump_to_p): Forbid table jumps.
+
+2010-12-14 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
+
+ * config/h8300/h8300.md (define_split) : Add condition for
+ "and with single_zero" splitter to handle 16-bit const operands.
+ * config/h8300/h8300.md (define_split) : Add condition for
+ "ior with single_one" splitter to handle 16-bit const operands.
+ * config/h8300/h8300.md (define_split) : Add condition for
+ "xor with single_one" splitter to handle 16-bit const operands.
+ * testsuite/gcc.dg/h8300-bit-insn-ice.c: New.
+
+2010-12-13 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/45388
+ * ipa.c (cgraph_build_static_cdtor_1): Break out from ... Add FINAL
+ parameter.
+ (cgraph_build_static_cdtor): ... here.
+ (build_cdtor): Use cgraph_build_static_cdtor_1.
+
+2010-12-13 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m32c/m32c.h (ENDFILE_SPEC, LINK_SPEC, SIZE_TYPE,
+ PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+ * config.gcc (m32c-*-rtems*, m32c-*-elf*): Don't use svr4.h.
+
+2010-12-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/44374
+ Reapply patch with fixes.
+ * basic-block.h (enum bb_flags): Add BB_MODIFIED.
+ * df-core.c (df_set_bb_dirty): Set it.
+ * ifcvt.c (find_memory): Remove function.
+ (dead_or_predicable): Use can_move_insns_across.
+ * df.h (can_move_insns_across): Declare function.
+ * cfgcleanup.c (block_was_dirty): New static variable.
+ (flow_find_head_matching_sequence): Test for epilogue notes.
+ (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
+ than df_get_bb_dirty.
+ (try_head_merge_bb): New static function.
+ (try_optimize_cfg): Call it. Call df_analyze if block_was_dirty
+ is set.
+ * df-problems.c: Include "target.h"
+ (df_simulate_find_uses): New static function.
+ (MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
+ (find_memory, find_memory_store): New static functions.
+ (can_move_insns_across): New function.
+ * Makefile.in (df-problems.o): Update dependencies.
+
+2010-12-13 Joseph Myers <joseph@codesourcery.com>
+
+ * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
+ (DBX_REGISTER_NUMBER): Undefine.
+ * config/xtensa/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
+ (DBX_REGISTER_NUMBER): Undefine.
+ * config.gcc (xtensa*-*-elf*, xtensa*-*-linux*): Don't use svr4.h.
+
+2010-12-13 Jack Howarth <howarth@bromo.med.uc.edu>
+ Joseph Myers <joseph@codesourcery.com>
+
+ PR bootstrap/46650
+ * system.h: Include cstring for cxx bootstrap.
+
+2010-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR lto/46879
+ * lto-streamer-out.c (output_gimple_stmt): Never replace first
+ GIMPLE_DEBUG argument with MEM_REF.
+
+ PR debug/46867
+ * var-tracking.c (emitted_notes, string_pointer_flags): Removed.
+ (emit_note_insn_var_location): Remove ENABLE_RTL_CHECKING verification.
+ (vt_emit_notes): Don't initialize and destroy emitted_notes.
+
+2010-12-13 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR target/46040
+ * config.gcc (arm*-*-linux-*eabi): Use bpabi-lib.h.
+ (arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise.
+
+2010-12-13 Joseph Myers <joseph@codesourcery.com>
+
+ * config/v850/v850.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+ WCHAR_TYPE_SIZE): Define.
+ * config.gcc (v850e1-*-*, v850e-*-*, v850-*-*): Don't use svr4.h.
+
+2010-12-13 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (s390-*-linux*, s390x-*-linux*, s390x-ibm-tpf*):
+ Don't use svr4.h.
+
+2010-12-13 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mn10300/linux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+ WCHAR_TYPE_SIZE): Undefine.
+ * config/mn10300/mn10300.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+ WCHAR_TYPE_SIZE): Define.
+ * config.gcc (mn10300-*-*): Don't use svr4.h.
+
+2010-12-13 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m68k/linux.h (DBX_REGISTER_NUMBER): Undefine and redefine.
+ (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+ * config.gcc (m68k-*-uclinux*, m68k-*-linux*): Don't use svr4.h.
+
+2010-12-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/46756
+ * jump.c (mark_all_labels): Skip debug insns.
+
+2010-12-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/46782
+ * cfgcleanup.c (try_forward_edges): Skip debug insns.
+
+2010-12-12 Jan Hubicka <jh@suse.cz>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * varasm.c (default_function_section): Check flag_reorder_functions
+ and targetm.have_named_sections.
+ * config/darwin.c (darwin_function_section): Check
+ flag_reorder_functions.
+
+2010-12-12 Finn Thain <fthain@telegraphics.com.au>
+
+ PR target/46179
+ * config/m68k/m68k.c (handle_move_double): Insert calls to
+ m68k_final_prescan_insn to clean up @TLS operand syntax.
+
+2010-12-10 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/43023
+ * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p):
+ Removed.
+ (stores_zero_from_loop): Call stmt_stores_zero.
+ * tree-data-ref.h (stmt_stores_zero): New.
+ * tree-loop-distribution.c (generate_memset_zero): Do not return a
+ boolean. Call gcc_assert on stride_of_unit_type_p.
+ (generate_builtin): Call stmt_stores_zero.
+ (rdg_flag_all_uses): Removed.
+ (rdg_flag_similar_memory_accesses): Removed.
+ (build_rdg_partition_for_component): Removed parameter
+ other_stores. Removed call to rdg_flag_similar_memory_accesses.
+ (can_generate_builtin): New.
+ (similar_memory_accesses): New.
+ (fuse_partitions_with_similar_memory_accesses): New.
+ (rdg_build_partitions): Call
+ fuse_partitions_with_similar_memory_accesses.
+
+2010-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/46804
+ * regmove.c (optimize_reg_copy_3): Look for REG_EQUAL note
+ on the setter of src_reg rather than on insn. If it is
+ equal to the setter's original SET_SRC, replace it with its
+ zero or sign extension instead of dropping it.
+
+2010-12-10 Richard Guenther <rguenther@suse.de>
+
+ PR lto/46808
+ * lto-symtab.c (lto_symtab_merge_decls_2): Avoid type warnings
+ after errors.
+ (lto_symtab_merge_decls_1): Adjust.
+
+2010-12-10 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR middle-end/46674
+ PR lto/43157
+ * target.def (mangle_assembler_name): New target asm_out hook.
+ * targhooks.c (default_mangle_assembler_name): Add default hook
+ implementation.
+ * targhooks.h (default_mangle_assembler_name): Add prototype.
+ * lto-symtab.c (lto_symtab_register_decl): Use new hook when
+ processing DECL_ASSEMBLER_NAMEs for lto symtabs.
+ (lto_symtab_get_resolution): Likewise.
+ (lto_cgraph_replace_node): Likewise.
+ (lto_symtab_prevailing_decl): Likewise.
+ * lto-streamer-out.c (write_symbol): Likewise.
+ * doc/tm.texi.in (TARGET_MANGLE_ASSEMBLER_NAME): Add @hook directive.
+ * doc/tm.texi: Regenerate.
+ * config/i386/cygming.h (TARGET_MANGLE_ASSEMBLER_NAME): Define to
+ point at i386_pe_mangle_assembler_name.
+ * config/i386/winnt.c (i386_pe_mangle_assembler_name): New function.
+ * config/i386/i386-protos.h (i386_pe_mangle_assembler_name): Add
+ prototype.
+
+2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-typeck.c (readonly_error): Delete.
+
+2010-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/46865
+ * rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of
+ ASM_OPERANDS and ASM_INPUT if integers are different, call locator_eq.
+ * jump.c (rtx_renumbered_equal_p): Likewise.
+
+ PR tree-optimization/46864
+ * tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even
+ when there are EDGE_EH exit edges.
+
+2010-12-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/46540
+ * configure.ac: Handle --disable-libquadmath-support.
+ * doc/install.texi: Document --disable-libquadmath and
+ --disable-libquadmath-support
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2010-12-10 Jack Howarth <howarth@bromo.med.uc.edu>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ PR 43751/target
+ * config/darwin9.h (DSYMUTIL_SPEC): Add fortran source types.
+
+2010-12-10 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/rs6000/rs6000.c
+ (rs6000_darwin64_record_arg_advance_recurse): Name register increment
+ explicitly. (rs6000_darwin64_record_arg_recurse): Make sure we split
+ long doubles when we run out of regs. Also flag that this requires
+ stack and therefore cannot be returned by value.
+ (rs6000_darwin64_record_arg): Update comment.
+ (rs6000_function_value): Likewise.
+
+2010-12-10 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_class_definition): Recognize
+ Objective-C 2.0 class extensions.
+
+2010-12-10 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.c: Remove c-tree.h and c-lang.h
+ * config/t-darwin: Remove dependencies on c-tree.h and c-lang.h.
+
+2010-12-10 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/46881
+ * doc/tm.texi: Regenerate.
+ * target.def: Fix "preferred" spelling. Refer to rclass by its
+ exact name.
+ * config/arm/arm.c (arm_preferred_rename_class): Rename parameter class
+ to rclass.
+
+2010-12-09 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11-protos.h (output_move_double,
+ output_move_quad): Delete.
+ (output_move_multiple, pdp11_expand_operands): New functions.
+ (pdp11_action, pdp11_partorder): New enums.
+ * config/pdp11/pdp11.md (movdi, movsi, movdf, movsf): Use
+ output_move_multiple.
+ (adddi3, subdi3, negdi2): New patterns.
+ (addsi3, subsi3, negsi2): Use pdp11_expand_operands.
+ (abshi2): Delete.
+ (neghi2, negqi2): Use PDPint iterator.
+ * config/pdp11/pdp11.c (find_addr_reg, output_move_double,
+ output_move_quad): Delete.
+ (pdp11_expand_operands, output_move_multiple): New functions.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/vax/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+ * config.gcc (vax-*-linux*): Don't use svr4.h.
+
+2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-typeck.c (build_indirect_ref): Call invalid_indirection_error.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/extend.texi (Attribute Syntax): Correct description of
+ attributes in pointer declarators.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Undefine.
+ * config.gcc (mips64*-*-linux* | mipsisa64*-*-linux*,
+ mips*-*-linux*, mips-wrs-vxworks): Don't use svr4.h.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mep/mep.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+ WCHAR_TYPE_SIZE): Define.
+ * config.gcc (mep-*-*): Don't use svr4.h.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mcore/mcore.h (PTRDIFF_TYPE, WCHAR_TYPE,
+ WCHAR_TYPE_SIZE): Define.
+ * config/svr3.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+ WCHAR_TYPE_SIZE): Don't define.
+ * config.gcc (mcore-*-elf): Don't use svr4.h.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (m32r-*-elf*, m32rle-*-elf*, m32r-*-rtems*,
+ m32r-*-linux*, m32rle-*-linux*): Don't use svr4.h.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/iq2000/iq2000.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
+ WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+ * config.gcc (iq2000*-*-elf*): Don't use svr4.h.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (ia64*-*-linux*, ia64*-*-hpux*): Don't use svr4.h.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/pa/pa32-linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+ * config.gcc (hppa*64*-*-linux*, hppa*-*-linux*): Don't use svr4.h.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/moxie/moxie.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
+ WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+ * config/moxie/rtems.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
+ WCHAR_TYPE, WCHAR_TYPE_SIZE): Undefine.
+ * config.gcc (moxie-*-elf, moxie-*-uclinux*): Don't use svr4.h.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/frv/frv.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+ WCHAR_TYPE_SIZE): Define.
+ * config.gcc (frv-*-elf, frv-*-*linux*): Don't use svr4.h.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/fr30/fr30.h (LIB_SPEC, LINK_SPEC, SIZE_TYPE,
+ PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+ * config.gcc (fr30-*-elf): Don't use svr4.h.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/cris/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
+ * config.gcc (crisv32-*-linux* | cris-*-linux*): Don't use svr4.h.
+
+2010-12-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/46844
+ * gimple-fold.c (canonicalize_constructor_val): Canonicalize addresses.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/netware.h (TARGET_POSIX_IO): Define.
+ * config/i386/nto.h (TARGET_POSIX_IO): Define.
+ * config/ia64/hpux.h (TARGET_POSIX_IO): Define.
+ * config/moxie/moxie.h (TARGET_POSIX_IO): Don't undefine.
+ * config/openbsd.h (TARGET_POSIX_IO): Define.
+ * config/rtems.h (TARGET_POSIX_IO): Define.
+ * config/sh/embed-elf.h (TARGET_POSIX_IO): Don't undefine.
+ * config/sol2.h (TARGET_POSIX_IO): Define.
+ * config/svr4.h (TARGET_POSIX_IO): Don't define.
+ * config/vxworksae.h (TARGET_POSIX_IO): Define.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/nto.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
+ * config/ia64/hpux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
+ * config/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
+ undefine.
+ * config/mips/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
+ undefine.
+ * config/mips/netbsd.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+ Don't undefine.
+ * config/rs6000/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+ Don't undefine.
+ * config/rs6000/linux64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+ Don't undefine.
+ * config/sol2.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
+ * config/sparc/netbsd-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+ Don't undefine.
+ * config/sparc/openbsd64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+ Don't undefine.
+ * config/sparc/sp64-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+ Don't undefine.
+ * config/svr4.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't define.
+ * config/xtensa/elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
+ undefine.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/ia64/hpux.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
+ non-GNU assembler.
+ * config/m68k/netbsd-elf.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
+ * config/m68k/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
+ * config/mips/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
+ * config/sol2.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
+ non-GNU assembler.
+ * config/sparc/sparc.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
+ * config/svr4.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
+
+2010-12-09 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (compute_complex_ancestor_jump_func): Work also if the
+ zero is the first phi parameter.
+
+2010-12-09 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (struct ipa_parm_adjustment): New field alias_ptr_type.
+ * ipa-prop.c (ipa_modify_call_arguments): Use it.
+ * tree-sra.c (splice_param_accesses): Test that all accesses have the
+ same alias reference type.
+ (turn_representatives_into_adjustments): Set alias_ptr_type of the
+ adjustment.
+
+2010-12-09 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/46734
+ * tree-sra.c (splice_param_accesses): Check that there are not
+ multiple ADDRESSABLE types.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arc/arc.h (ASM_SPEC): Remove %{v}.
+ * config/bfin/bfin.h (ASM_SPEC): Remove %{v}.
+ * config/cris/cris.h (ASM_SPEC): Remove %{v:-v}.
+ * config/fr30/fr30.h (ASM_SPEC): Remove %{v}.
+ * config/frv/frv.h (ASM_SPEC): Remove %{v}.
+ * config/i386/linux.h (ASM_SPEC): Remove %{v}.
+ * config/i386/linux64.h (ASM_SPEC): Remove %{v}.
+ * config/i386/mingw-w64.h (ASM_SPEC): Remove %{v}.
+ * config/i386/sol2-10.h (ASM_SPEC): Remove %{v}.
+ * config/i386/vxworks.h (ASM_SPEC): Remove %{v}.
+ * config/i386/x86-64.h (ASM_SPEC): Remove %{v}.
+ * config/lm32/lm32.h (ASM_SPEC): Remove %{v}.
+ * config/m32r/m32r.h (ASM_SPEC): Remove %{v}.
+ * config/m68k/linux.h (ASM_SPEC): Remove %{v:-V}.
+ * config/microblaze/microblaze.h (ASM_SPEC): Remove %{v}.
+ * config/mips/mips.h (ASM_SPEC): Remove %{v}.
+ * config/mips/vxworks.h (ASM_SPEC): Remove %{v}.
+ * config/pa/pa-linux.h (ASM_SPEC): Remove %{v:-V}.
+ * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Remove %{v}.
+ * config/rs6000/linux64.h (ASM_SPEC): Remove %{v:-V}.
+ * config/rs6000/vxworks.h (ASM_SPEC): Remove %{v:-v}.
+ * config/sparc/openbsd64.h (ASM_SPEC): Remove %{v:-V}.
+ * config/svr4.h (SVR4_ASM_SPEC): Remove %{v:-V}.
+ * config/xtensa/elf.h (ASM_SPEC): Remove %{v}.
+ * config/xtensa/linux.h (ASM_SPEC): Remove %{v}.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/openbsdelf.h (LINK_SPEC): Use %{r:} not %{r*:}.
+ * config/mips/openbsd.h (LINK_SPEC): Use %{r:} not %{r*:}.
+ * config/netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): Use %{r:} not %{r*:}.
+ * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Use %{r:} not %{r*:}.
+ * config/sparc/openbsd64.h (LINK_SPEC): Use %{r:} not %{r*:}.
+ * config/vax/netbsd-elf.h (LINK_SPEC): Use %{r:} not %{r*:}.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/freebsd.h (LINK_SPEC): Don't use %{!dynamic-linker:}.
+ * config/alpha/linux-elf.h (LINK_SPEC): Likewise.
+ * config/arm/freebsd.h (LINK_SPEC): Likewise.
+ * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Likewise.
+ * config/bfin/linux.h (LINK_SPEC): Likewise.
+ * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Likewise.
+ * config/frv/linux.h (LINK_SPEC): Likewise.
+ * config/i386/freebsd.h (LINK_SPEC): Likewise.
+ * config/i386/freebsd64.h (LINK_SPEC): Likewise.
+ * config/i386/linux.h (LINK_SPEC): Likewise.
+ * config/i386/linux64.h (LINK_SPEC): Likewise.
+ * config/i386/openbsdelf.h (LINK_SPEC): Likewise.
+ * config/ia64/freebsd.h (LINK_SPEC): Likewise.
+ * config/ia64/linux.h (LINK_SPEC): Likewise.
+ * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
+ * config/m32r/linux.h (LINK_SPEC): Likewise.
+ * config/m68k/linux.h (LINK_SPEC): Likewise.
+ * config/microblaze/linux.h (LINK_SPEC): Likewise.
+ * config/mips/linux.h (LINK_SPEC): Likewise.
+ * config/mips/linux64.h (LINK_SPEC): Likewise.
+ * config/mips/openbsd.h (LINK_SPEC): Likewise.
+ * config/mn10300/linux.h (LINK_SPEC): Likewise.
+ * config/netbsd-elf.h (LINK_SPEC): Likewise.
+ * config/pa/pa-linux.h (LINK_SPEC): Likewise.
+ * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
+ LINK_OS_LINUX_SPEC64): Likewise.
+ * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC,
+ LINK_OS_LINUX_SPEC, LINK_OS_GNU_SPEC, LINK_OS_NETBSD_SPEC): Likewise.
+ * config/s390/linux.h (LINK_SPEC): Likewise.
+ * config/sh/linux.h (SUBTARGET_LINK_SPEC): Likewise.
+ * config/sparc/freebsd.h (LINK_SPEC): Likewise.
+ * config/sparc/linux.h (LINK_SPEC): Likewise.
+ * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
+ LINK_SPEC): Likewise.
+ * config/sparc/openbsd64.h (LINK_SPEC): Likewise.
+ * config/vax/linux.h (LINK_SPEC): Likewise.
+ * config/xtensa/linux.h (LINK_SPEC): Likewise.
+
+2010-12-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/bfin/bfin.h (ASM_SPEC): Remove %{n} and %{T}.
+ * config/frv/frv.h (ASM_SPEC): Likewise.
+ * config/i386/sol2-10.h (ASM_SPEC): Likewise.
+ * config/i386/sol2.h (ASM_SPEC): Likewise.
+ * config/m68k/linux.h (ASM_SPEC): Likewise.
+ * config/pa/pa-linux.h (ASM_SPEC): Likewise.
+ * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
+ * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
+ * config/sol2.h (ASM_SPEC): Likewise.
+ * config/sparc/linux.h (ASM_SPEC): Likewise.
+ * config/sparc/linux64.h (ASM_SPEC): Likewise.
+ * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
+ * config/sparc/sysv4.h (ASM_SPEC): Likewise.
+ * config/svr4.h (SVR4_ASM_SPEC): Likewise.
+
+2010-12-09 Richard Guenther <rguenther@suse.de>
+
+ * reginfo.c (struct subregs_of_mode_node): Remove.
+ (subregs_of_mode): Likewise.
+ (som_hash): Likewise.
+ (som_eq): Likewise.
+ (invalid_mode_changes): New bitmap.
+ (record_subregs_of_mode): Get subregs_of_mode argument.
+ Fill in invalid_mode_changes bitmap.
+ (find_subregs_of_mode): Get subregs_of_mode argument and pass
+ it through.
+ (init_subregs_of_mode): Adjust.
+ (finish_subregs_of_mode): Likewise.
+ (invalid_mode_change_p): Query invalid_mode_changes bitmap.
+
+2010-12-09 Richard Guenther <rguenther@suse.de>
+
+ * ira.c (ira): Do not call finish_subregs_of_mode.
+ * ira-costs.c (finish_costs): Call finish_subregs_of_mode.
+
+2010-12-09 Richard Guenther <rguenther@suse.de>
+
+ * rtl.h (invalid_mode_change_p): Adjust prototype.
+ * reginfo.c (invalid_mode_change_p): Remove from argument.
+ * ira-costs.c (print_allocno_costs): Adjust callers.
+ (find_costs_and_classes): Likewise.
+
+2010-12-09 Jakub Jelinek <jakub@redhat.com>
+
+ * config/s390/s390.md (*mov<mode>cc): Change lgoc and stgoc to
+ locg and stocg even in comment.
+ (sync_old_<atomic><mode>): Give mode to UNSPEC_VOLATILE.
+
+ PR target/41082
+ * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Use stvx
+ instead of stve*x.
+ (altivec_expand_stv_builtin): For op0 use mode of operand 1 instead
+ of operand 0.
+ * config/rs6000/altivec.md (VI_scalar): New mode attr.
+ (altivec_stve<VI_char>x, *altivec_stvesfx): Use scalar instead of
+ vector mode for operand 0, put operand 1 into UNSPEC.
+
+2010-12-09 Yao Qi <yao@codesourcery.com>
+
+ * config/arm/arm.c (arm_preferred_rename_class): Implement targethook
+ PREFERRED_RENAME_CLASS.
+
+2010-12-08 Ian Lance Taylor <iant@google.com>
+
+ * doc/sourcebuild.texi (Front End): Remove reference to
+ snapshot-README and snapshot-index.html.
+
+2010-12-08 Ian Lance Taylor <iant@google.com>
+
+ * doc/sourcebuild.texi (Texinfo Manuals): Change update_web_docs
+ to update_web_docs_svn.
+ (Front End): Likewise.
+
+2010-12-08 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc/config.gcc (with_cpu): Default i[34567]86-*-darwin* and
+ x86_64-*-darwin* to with_cpu:-core2.
+ * gcc/config/i386/mmx.md (*mov<mode>_internal_rex64): Replace movq
+ with movd for darwin assembler.
+ * gcc/config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
+ (*vec_concatv2di_rex64_sse): Ditto.
+
+2010-12-08 Richard Guenther <rguenther@suse.de>
+ Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/45230
+ PR tree-optimization/45231
+ PR tree-optimization/45370
+ * sese.c (rename_uses): Returns a bool. Call
+ recompute_tree_invariant_for_addr_expr only on the RHS of a
+ GIMPLE_ASSIGN.
+ (graphite_copy_stmts_from_block): Call fold_stmt_inplace when
+ rename_uses returns true.
+ * tree-ssa-copy.c (replace_exp): Add a comment about calling
+ fold_stmt_inplace after replace_exp.
+
+2010-12-08 Mike Stump <mikestump@comcast.net>
+
+ PR debug/46749
+ * config/darwin.h (COLLECT_RUN_DSYMUTIL): Add.
+ (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
+ * config/darwin9.h (COLLECT_RUN_DSYMUTIL): Add.
+ (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
+ * collect2.c (post_ld_pass): Add.
+ (process_args): Add.
+ (maybe_run_lto_and_relink): Call post_ld_pass after ld.
+ (main): Likewise. Call process_args.
+
+2010-12-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/46844
+ * regrename.c (check_new_reg_p): Add ATTRIBUTE_UNUSED to reg parameter.
+
+2010-12-08 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/46631
+ * arm.c (thumb2_reorg): Also try to reduce <commutative_op> Rd, Rn, Rd
+ into a 16-bit instruction.
+
+2010-12-08 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR middle-end/42694
+ * builtins.c (expand_builtin_pow_root): Don't optimize pow(x,y)
+ where y is 0.25, 1./6., or 0.75 if the target does not have a sqrt
+ instruction, but do optimize if y is 0.5 or 1./3. since that
+ changes an expensive call into a cheaper one.
+
+2010-12-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use a shift
+ instead of a division to divide by BITS_PER_UNIT.
+
+2010-12-08 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (gimple_tree_eq): Assert hashes are equal only
+ when checking is enabled.
+
+2010-12-07 Andrey Belevantsev <abel@ispras.ru>
+
+ PR target/43603
+ * haifa-sched.c (sched_create_recovery_edges): Update
+ dominator info.
+ * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info
+ after deleting an empty block.
+ (tidy_control_flow): Also verify dominators.
+ (sel_remove_bb): Update dominator info after removing a block.
+ (sel_redirect_edge_and_branch_force): Assert that no unreachable
+ blocks will be created. Update dominator info.
+ (sel_redirect_edge_and_branch): Update dominator info when
+ basic blocks do not become unreachable.
+ (sel_remove_loop_preheader): Update dominator info.
+
+2010-12-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
+ Reset alignment information.
+ (bump_vector_ptr): Likewise.
+
+2010-12-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/46671
+ PR target/46685
+ * config/pa/pa.c (pa_function_section): New function.
+ (TARGET_ASM_FUNCTION_SECTION): Define.
+
+2010-12-07 Ian Lance Taylor <iant@google.com>
+ Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR bootstrap/46810
+ * configure.ac: Disable AC_MSG_ERROR while looking for the C++
+ preprocessor.
+ * configure: Rebuild.
+
+2010-12-07 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.c (output_addr_const_pdp11): Output negative
+ values with sign rather than as unsigned.
+
+2010-12-07 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_SECTION): Define.
+ (pdp11_function_section): New function.
+
+2010-12-07 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mcore/mcore.c Don't include assert.h.
+ (layout_mcore_frame, handle_structs_in_regs): Use gcc_assert.
+ * config/spu/spu.c: Don't include assert.h.
+ (spu_sms_res_mii): Use gcc_assert.
+
+2010-12-07 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/42327
+ * tree-data-ref.c (omega_setup_subscript): Call build_int_cst
+ instead of using integer_minus_one_node.
+
+2010-12-07 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR c++/45330
+ * params.def (CXX_MAX_NAMESPACES_FOR_DIAGNOSTIC_HELP): New parameter.
+ * doc/invoke.texi (cxx-max-namespaces-for-diagnostic-help): Document.
+
+2010-12-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46832
+ * tree-ssa-math-opts.c (execute_optimize_widening_mul): Check
+ that the call has a lhs.
+
+2010-12-07 Yao Qi <yao@codesourcery.com>
+
+ * Makefile.in: Add $(TARGET_H) to the regrename.o rule.
+ * regrename.c (struct du_head): Add new element length.
+ (sort_du_head, get_element, merge, merge_sort_comparison):
+ New functions of merge sort implementation to du_head list.
+ (regrename_optimize): Sort du_head linked list by length.
+ Iterate registers in a preferred-register-first order.
+ Move some code to ...
+ (check_new_reg_p): here. New function.
+ (create_new_chain): Initialize length.
+ (scan_rtx_reg): Increase length for non-debug insns.
+ * target.def: New hook preferred_rename_class.
+ * targhook.c (default_preferred_rename_class): New.
+ * targhook.h: Declare it.
+ * doc/tm.texi.in: New hook TARGET_PREFERRED_RENAME_CLASS.
+ * doc/tm.texi: Regenerate.
+
+2010-12-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46799
+ * tree-parloops.c (separate_decls_in_region): Use UNKNOWN_LOCATION
+ instead of BUILTINS_LOCATION.
+ (create_loop_fn): Add LOC argument, pass it to build_decl instead of
+ BUILTINS_LOCATION.
+ (create_parallel_loop): Add LOC argument, use it for OMP clauses
+ and GIMPLE_*OMP* statements.
+ (gen_parallel_loop): Determine locus for the parallel loop, pass it
+ to create_loop_fn and create_parallel_loop.
+ * cfgexpand.c (gimple_expand_cfg): For builtin functions, call
+ set_curr_insn_source_location (UNKNOWN_LOCATION).
+
+2010-12-07 Joern Rennecke <amylaar@spamcop.net>
+ Richard Guenther <rguenther@suse.de>
+
+ PR target/46737
+ * config/bfin/bfin.c (BB_AUX_INDEX): Cast to intptr_t.
+ (bfin_reorder_loops): Change type of index to intptr_t.
+
+2010-12-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46726
+ * tree-inline.c (estimate_num_insns): Special case pow (x, 2.0).
+
+2010-12-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-math-opts.c (execute_optimize_widening_mul): Unlink
+ virtual operands.
+
+2010-12-07 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_typeof_specifier): Removed special
+ treatment of objc_volatilized attribute for Objective-C.
+
+2010-12-06 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira.c (update_equiv_regs): Prohibit move insns if
+ pressure-sensitive scheduling was done.
+
+2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_for_statement): Use c_fully_fold() instead
+ of c_process_expr_stmt() for the iterating and collection
+ expressions of an Objective-C fast enumeration loop.
+
+2010-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45997
+ * dwarf2out.c (modified_type_die): If both is_const_type and
+ is_volatile_type is set, start with DW_TAG_const_type or
+ DW_TAG_volatile_type depending on where we get qualified type
+ in the recursive call.
+
+ PR target/43897
+ * config/ia64/ia64.c (rtx_needs_barrier): Handle asm CLOBBER
+ as a store into that register.
+
+ PR tree-optimization/46528
+ PR debug/46338
+ * profile.c (branch_prob): Make sure last is never set to a debug
+ stmt.
+
+ PR debug/46771
+ * reginfo.c (init_subregs_of_mode): Don't call find_subregs_of_mode
+ on DEBUG_INSNs.
+
+ PR rtl-optimization/46777
+ * cfglayout.c (duplicate_insn_chain): Avoid duplicating
+ also barrier after tablejump.
+
+2010-12-06 Joern Rennecke <amylaar@spamcop.net>
+ Richard Henderson <rth@redhat.com>
+
+ PR target/46740
+ * config/vax/vax.c (vax_output_int_move): Fold #if into if.
+
+2010-12-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sol2.h (PUSHSECTION_FORMAT): Redefine unconditionally.
+ * config/sparc/sol2-gas.h (PUSHSECTION_FORMAT): Redefine.
+
+2010-12-06 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/46735
+ * config/frv/predicates.md (gpr_or_int12_operand): Use IN_RANGE.
+ (gpr_fpr_or_int12_operand, gpr_or_int10_operand): Likewise.
+ (int12_operand, int_2word_operand, uint16_operand): Likewise.
+ (fpr_or_int6_operand, int6_operand, int5_operand): Likewise.
+ (uint5_operand, uint4_operand): Likewise.
+ * config/frv/frv.h (IN_RANGE_P): Delete.
+ (GPR_P, FPR_P, CC_P, ICC_P, FCC_P, CR_P, ICR_P, FCR_P): Use IN_RANGE.
+ (ACC_P, ACCG_P, SPR_P, CONST_OK_FOR_I, CONST_OK_FOR_J): Likewise.
+ (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
+ (CONST_OK_FOR_P): Likewise.
+ * config/frv/frv.md (*movqicc_internal2_int): Likewise.
+ (*movqicc_internal2_float, *movhicc_internal2_int): Likewise.
+ (*movhicc_internal2_float, *movsicc_internal2_int): Likewise.
+ (*movsicc_internal2_float, casesi): Likewise.
+ * config/frv/frv.c (frv_frame_offset_rtx): Likewise.
+ (frv_asm_output_mi_thunk, frv_legitimate_address_p_1): Likewise.
+ (frv_emit_movsi, output_move_single, frv_emit_cond_move): Likewise.
+ (frv_split_cond_move, frv_rtx_costs): Likewise.
+
+ PR target/46739
+ * config/mmix/mmix.c (mmix_intval): Split shift count.
+
+2010-12-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (m_COREI7): New.
+ (initial_ix86_tune_features): Turn on
+ X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and
+ X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for Core i7.
+
+2010-12-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Allow corei7-avx for --with-arch/--with-cpu.
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Support
+ Sandy Bridge.
+
+ * config/i386/i386.c (override_options): Handle "corei7-avx".
+
+ * doc/invoke.texi: Document corei7-avx.
+
+2010-12-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46806
+ * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not
+ coalesce different types.
+
+2010-12-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46785
+ * tree-vect-loop.c (vect_is_simple_reduction_1): Also allow
+ call statements as operand definition.
+
+2010-12-06 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * doc/tm.texi.in: Fix typo.
+ * doc/tm.texi: Regenerate.
+
+2010-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Fix typo in
+ last change.
+
+2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-family/c-common.h: Removed the declarations of all the objc_
+ callbacks, and moved them into c-objc.h. Removed
+ objc_ivar_visibility_kind and moved it into c-objc.h.
+ * c-family/c-objc.h: New file.
+ * c-family/c-common.c: Include c-objc.h.
+ * c-family/c-format.c: Same change.
+ * c-family/stub-objc.c: Same change.
+ * c-decl.c: Include c-family/c-objc.h.
+ * c-parser.c: Same change.
+ * c-typeck.c: Same change.
+ * c-config-lang.in (gtfiles): Added c-family/c-objc.h.
+ * Makefile.in (c-decl.o): Depend on c-family/c-objc.h.
+ (c-parser.o): same change.
+ (c-typeck.o): Same change.
+ (c-family/c-format.o): Same change.
+ (c-family/stub-objc.o): Same change.
+ (c-family/c-common.o): Same change.
+ (PLUGIN_HEADERS): Added c-family/c-objc.h.
+
+2010-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Ignore
+ --with-dwarf2 option.
+
+2010-12-03 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer-in.c (input_cfg): Fix pasto.
+
+2010-12-03 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_externally_visible_p): Do not localize builtins
+ and functions with user asm defined names.
+ (varpool_externally_visible_p): Do not localize vars with user
+ asm defined names.
+
+2010-12-03 Jan Hubicka <jh@suse.cz>
+
+ * dwarf2asm.c (dw2_output_indirect_constant_1): Set DECL_ASSEMBLER_NAME
+ to prevent mangling with lto frontend.
+
+2010-12-03 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (LTO_STREAMER_H): Add GCOV_IO_H.
+ * lto-cgraph.c (merge_profile_summaries): Fix thinko.
+
+2010-12-03 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/46760
+ * cgraph.c (cgraph_create_node): Initialize count_materialization_scale.
+ * cgraph.h (struct cgraph_node): Add count_materialization_scale.
+ * lto-cgraph.c (lto_output_edge): Fix assert.
+ (lto_output_node): Output count_materialization_scale.
+ (output_profile_summary): Output only runs and sum_max.
+ (input_node): Input count_materialization_scale.
+ (input_profile_summary): Read data into file specific gcov summary.
+ (merge_profile_summaries): New function.
+ (input_cgraph): Update call of input_profile_summary;
+ call merge_profile_summaries.
+ * lto-streamer-in.c (input_cfg): Add count_materialization_scale arg;
+ rescale counts at read in.
+ (intput_bb): Likewise.
+ (input_function): Update call of input_bb.
+ (lto_read_body): Update call of input_cfg.
+ * lto-streamer.h: Inlclude gcov-io.h
+ (lto_file_decl_data): Add gcov_ctr_summary.
+
+2010-12-03 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * doc/tm.texi.in (Cond. Exec. Macros): Rename node from this ...
+ (Cond Exec Macros): ... to this.
+ * doc/tm.texi: Regenerate.
+
+2010-12-03 Jason Merrill <jason@redhat.com>
+
+ PR debug/46123
+ * dwarf2out.c (gen_tagged_type_die): Don't put local types in
+ a declaration DIE.
+
+2010-12-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/arm/arm.c (arm_legitimate_index_p): Split
+ VALID_NEON_QREG_MODE and VALID_NEON_DREG_MODE cases. Permit
+ slightly larger constants in the latter case.
+ (thumb2_legitimate_index_p): Likewise.
+
+2010-12-03 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (N, Q, Qn, Qy, Z, n, r, s, t): New options.
+ * gcc.c (cc1_options): Add %{Qy:}.
+
+2010-12-03 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (LINK_COMMAND_SPEC): Don't handle -A, -d or -m.
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
+ * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
+
+2010-12-03 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/45354
+ * sel-sched-ir.c (jump_leads_only_to_bb_p): Rename to ...
+ (bb_has_removable_jump_to_p): This. Update all callers. Make static.
+ Allow BBs ending with a conditional jump. Forbid EDGE_CROSSING jumps.
+ * sel-sched-ir.h (jump_leads_only_to_bb_p): Delete prototype.
+
+2010-12-03 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * basic-block.h (struct edge_prediction): Remove forward declaration.
+ * tree-flow.h (struct edge_prediction): Move from here...
+ * predict.c (struct edge_prediction): ...to here.
+ * cselib.h (struct elt_list): Move from here...
+ * cselib.c (struct elt_list): ...to here.
+
+2010-12-02 Ian Lance Taylor <iant@google.com>
+
+ * gcc.c (default_compilers): Add entry for ".go".
+ * common.opt: Add -static-libgo as a driver option.
+ * doc/install.texi (Configuration): Mention libgo as an option for
+ --enable-shared. Mention go as an option for --enable-languages.
+ * doc/invoke.texi (Overall Options): Mention .go as a file name
+ suffix. Mention go as a -x option.
+ * doc/frontends.texi (G++ and GCC): Mention Go as a supported language.
+ * doc/sourcebuild.texi (Top Level): Mention libgo.
+ * doc/standards.texi (Standards): Add section on Go language.
+ Move references for other languages into their own section.
+ * doc/contrib.texi (Contributors): Mention that I contributed the
+ Go frontend.
+
+2010-12-03 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * tree.h (struct call_expr_arg_iterator_d): Remove GTY tag.
+ (const_call_expr_arg_iterator_d): Likewise.
+ (expanded_location): Likewise.
+ * c-tree.h (struct c_arg_tag_d): Likewise.
+ * dwarf2out.c (struct cfa_loc): Likewise.
+ (struct skeleton_chain_struct): Likewise.
+ * except.c (struct ttypes_filter): Likewise.
+ * cselib.h (struct cselib_val_struct): Likewise.
+ (elt_loc_list): Likewise.
+ (elt_list): Likewise.
+ * varasm.c (struct addr_const): Likewise.
+ * tree-flow.h (struct edge_prediction): Likewise.
+ (struct int_tree_map): Likewise.
+ (struct _edge_var_map): Likewise.
+
+2010-12-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46768
+ * config/i386/i386.c (initial_ix86_tune_features): Turn on
+ X86_TUNE_INTER_UNIT_MOVES for Core 2 and Core i7.
+
+2010-12-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Allow corei7 for --with-arch=/--with-cpu=.
+
+2010-12-02 Ian Lance Taylor <iant@google.com>
+
+ * configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX. Check for C++
+ header files unordered_map, tr1/unordered_map, and ext/hash_map.
+ * configure, config.in: Rebuild.
+
+2010-12-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/46685
+ * config/sparc/sparc.c (can_use_mov_pic_label_ref): New predicate.
+ (sparc_expand_move): Call it to decide whether to emit the special
+ mov{si,di}_pic_label_ref patterns.
+ (sparc_legitimize_pic_address): Call it to decide whether to emit
+ the regular PIC sequence for labels. Fix long line.
+ (sparc_file_end): Set is_thunk for the PIC helper.
+
+2010-12-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.c (build_range_type_1): Do not SET_TYPE_STRUCTURAL_EQUALITY
+ for a non-shared type.
+
+2010-12-02 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/45297
+ * tree-scalar-evolution.c (interpret_rhs_expr): Handle ADDR_EXPR
+ with MEM_REFs as POINTER_PLUS_EXPR.
+
+2010-12-02 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/linux.h, config/m32r/linux.h, config/m68k/linux.h,
+ config/sparc/linux.h, config/sparc/linux64.h: Remove comments
+ mentioning /lib/elf.
+
+2010-12-02 Joseph Myers <joseph@codesourcery.com>
+
+ * config/bfin/bfin.h (LINK_SPEC): Remove %{b}.
+ * config/frv/frv.h (LINK_SPEC): Remove %{b}.
+ * config/i386/netware.h (LINK_SPEC): Remove %{b}.
+ * config/i386/nto.h (LINK_SPEC): Remove %{b}.
+ * config/lm32/uclinux-elf.h (LINK_SPEC): Remove %{b}.
+ * config/sol2.h (LINK_SPEC): Remove %{b}.
+ * config/svr4.h (LINK_SPEC): Remove %{b}.
+
+2010-12-02 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/freebsd.h (LINK_SPEC): Cut long comment.
+ * config/i386/linux.h (LINK_SPEC): Cut long comment.
+ * config/i386/netware.h (LINK_SPEC): Remove %{V}.
+ * config/m32r/linux.h (LINK_SPEC): Cut long comment.
+ * config/m68k/linux.h (LINK_SPEC): Cut long comment.
+ * config/sparc/linux.h (LINK_SPEC): Cut long comment.
+ (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
+ * config/sparc/linux64.h (LINK_SPEC): Cut long comment.
+ (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
+ * config/sparc/netbsd-elf.h (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
+
+2010-12-02 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (trad_capable_cpp, default_compilers): Don't handle
+ -ftraditional.
+
+2010-12-02 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/freebsd.h (LINK_SPEC): Don't handle -Wl,.
+ * config/bfin/bfin.h (ASM_SPEC): Don't handle -Wa,.
+ * config/frv/frv.h (ASM_SPEC): Don't handle -Wa,.
+ * config/lm32/uclinux-elf.h (LINK_SPEC): Don't handle -Wl,.
+ * config/microblaze/microblaze.h (LINK_SPEC): Don't handle -Wl,.
+ * config/mn10300/linux.h (ASM_SPEC): Don't handle -Wa,.
+ * config/pa/pa-linux.h (ASM_SPEC): Don't handle -Wa,.
+ * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't handle -Wa,.
+ * config/rs6000/linux64.h (ASM_SPEC_COMMON): Don't handle -Wa,.
+ * config/rs6000/sysv4.h (LINK_SPEC): Don't handle -Wl,.
+ * config/rs6000/vxworks.h (ASM_SPEC): Don't handle -Wa,.
+ * config/sol2.h (ASM_SPEC): Don't handle -Wa,.
+ * config/sparc/linux.h (ASM_SPEC): Don't handle -Wa,.
+ * config/sparc/linux64.h (ASM_SPEC): Don't handle -Wa,.
+ * config/sparc/sp-elf.h (ASM_SPEC): Don't handle -Wa,.
+ * config/sparc/sysv4.h (ASM_SPEC): Don't handle -Wa,.
+ * config/svr4.h (SVR4_ASM_SPEC): Don't handle -Wa,.
+ * config/vxworks.h (VXWORKS_LINK_SPEC): Don't handle -Wl,.
+
+2010-12-02 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.c (output_jump): Map unsigned to signed
+ opcodes if CC_NO_OVERFLOW is set.
+ (notice_update_cc_on_set): Correct setting of CC0 as a side
+ effect; set CC_NO_OVERFLOW for cases where C flag is not meaningful.
+
+2010-12-02 Ian Lance Taylor <iant@google.com>
+
+ * doc/install.texi (Configuration): Update default for
+ --with-boot-ldflags.
+
+2010-12-02 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR c/45062
+ * c-decl.c (grokparms): Set arg_info->parms to NULL_TREE when
+ !funcdef_flag.
+
+2010-12-02 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/45199
+ * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): New.
+ (stores_zero_from_loop): Call
+ mem_write_stride_of_same_size_as_unit_type_p.
+ * tree-data-ref.h (stride_of_unit_type_p): New.
+ * tree-loop-distribution.c (generate_memset_zero): Simplified.
+ Call stride_of_unit_type_p.
+ (build_rdg_partition_for_component): Do not call
+ rdg_flag_similar_memory_accesses when
+ flag_tree_loop_distribute_patterns is set.
+
+2010-12-02 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Disregard
+ sign-changing conversions for induction detection.
+
+2010-12-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46723
+ * tree-vect-loop.c (get_initial_def_for_induction): Strip
+ conversions from the induction evolution and apply it to
+ the result instead.
+ * tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle
+ assigns for induction defs.
+
+2010-12-02 Richard Guenther <rguenther@suse.de>
+
+ * value-prof.c (gimple_ic): Use stmt_ends_bb_p to detect
+ the case we need to split the edge and not the block.
+
+2010-12-02 Bernd Schmidt <bernds@codesourcery.com>
+
+ DFA model for Core 2 and Core i7 scheduling.
+
+ * config/i386/core2.md: New DFA model for Core 2 and Core i7.
+ * config/i386/i386.c (ix86_option_override_internal): Update entries
+ for Core 2 and Core i7.
+ (ix86_issue_rate): Set issue rate to 3 [be realistic].
+ * config/i386/i386.md: Include "core2.md".
+ (define_attr cpu): Add "corei7".
+
+2010-12-02 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ Define tuning for Core 2 and Core i7.
+
+ * config/i386/i386-c.c (ix86_target_macros_internal): Update.
+ * config/i386/i386.c (core2_cost): Delete, use generic costs instead.
+ (m_CORE2): Replace with m_CORE2_{32,64}.
+ (m_CORE2I7{,_32,_64}): New macros.
+ (m_GENERIC32, m_GENERIC64): Update.
+ (initial_ix86_tune_features, x86_accumulate_outgoing_args,)
+ (x86_arch_always_fancy_math_387): Set m_CORE2I7_32 iff m_GENERIC32 and
+ set m_CORE2I7_64 iff m_GENERIC64.
+ (processor_target_table): Use generic costs for Core 2 and Core i7.
+ (ix86_option_override_internal): Update entries for Core 2 and Core i7.
+ (ix86_issue_rate): Remove entry for Core 2.
+ (ia32_multipass_dfa_lookahead, ix86_sched_init_global): Update.
+ * config/i386/i386.h (TARGET_CORE2_32, TARGET_CORE2_64): New macros.
+ (TARGET_CORE2): Update.
+ (PROCESSOR_CORE2_32, PROCESSOR_CORE2_64): New constants.
+ (PROCESSOR_CORE2): Remove.
+
+2010-12-02 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer.h (LTO_major_version): Bump to 2.
+
+2010-12-02 Richard Guenther <rguenther@suse.de>
+
+ PR lto/44871
+ * gimple.c (canonical_type_hash_cache): New hashtable.
+ (gimple_type_hash): Make a wrapper around ...
+ (gimple_type_hash_1): ... this. Take gtc_mode argument.
+ (gimple_canonical_type_hash): Likewise.
+ (gtc_visit): Take a gtc_mode argument.
+ (gimple_types_compatible_p_1): Likewise. Do not compare struct
+ tag names or field names when computing canonical types.
+ (gimple_types_compatible_p): Adjust.
+ (visit): Take a gtc_mode argument.
+ (iterative_hash_gimple_type): Likewise. Do not hash struct tag
+ names or field names when computing hashes of canonical types.
+ (gimple_register_canonical_type): Use gimple_canonical_type_hash
+ for the hash.
+ (print_gimple_types_stats): Dump stats of canonical_type_hash_cache.
+ (free_gimple_type_tables): Free canonical_type_hash_cache.
+
+2010-12-02 Richard Guenther <rguenther@suse.de>
+ Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/46663
+ * tree-vect-patterns.c (vect_recog_pow_pattern): Check that
+ FUNCTION_DECL exists and that it's a builtin.
+
+2010-12-02 Jie Zhang <jie@codesourcery.com>
+
+ PR middle-end/46674
+ * varasm.c (compute_visible_aliases): Handle user set assembler name.
+
+2010-12-01 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
+ thinko regarding setting -mno-<xxx> debug switches.
+ (rs6000_rtx_costs): Add FMA. Delete old rtl based FMA costs.
+
+2010-12-01 Joseph Myers <joseph@codesourcery.com>
+
+ * intl.c: Don't include tm.h.
+ * Makefile.in (intl.o): Don't depend on $(TM_H).
+
+2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (analyze_drs_in_stmts): Fix set but
+ unused warning.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
+
+2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (analyze_drs): Removed.
+ (build_scop_drs): Do not call analyze_drs.
+ (analyze_drs_in_stmts): New.
+ (insert_stmts): New.
+ (insert_out_of_ssa_copy): Call analyze_drs_in_stmts.
+ (insert_out_of_ssa_copy_on_edge): Same.
+ (rewrite_close_phi_out_of_ssa): Call insert_stmts.
+ (rewrite_phi_out_of_ssa): Same.
+ (rewrite_cross_bb_scalar_dependence): Same.
+ (split_reduction_stmt): Move data references in the new basic blocks.
+ (translate_scalar_reduction_to_array_for_stmt): Call insert_stmts.
+
+2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
+
+ * sese.c (rename_uses): Do not handle ADDR_EXPR in LHS of assignments.
+
+2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/45297
+ * graphite-poly.c (new_poly_bb): Returns a poly_bb_p. Do not take
+ the reduction bool in parameter. Clear PBB_IS_REDUCTION. Set GBB_PBB.
+ * graphite-poly.h (new_poly_bb): Update declaration.
+ (gbb_from_bb): Moved here...
+ (pbb_from_bb): New.
+ * graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node):
+ Removed.
+ (graphite_stmt_p): Removed.
+ (try_generate_gimple_bb): Returns a gimple_bb_p. Do not pass in
+ sbitmap reductions. Always build a gimple_bb_p. Do not call
+ new_poly_bb.
+ (build_scop_bbs_1): Do not pass in sbitmap reductions.
+ (build_scop_bbs): Same.
+ (gbb_from_bb): ... from here.
+ (add_conditions_to_constraints): Moved up.
+ (analyze_drs): New.
+ (build_scop_drs): Call analyze_drs. Remove all the PBBs that do
+ not contain data references.
+ (new_pbb_from_pbb): New.
+ (insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a
+ block is split.
+ (rewrite_close_phi_out_of_ssa): Update call to
+ insert_out_of_ssa_copy_on_edge.
+ (rewrite_reductions_out_of_ssa): Now static.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
+ (split_pbb): New.
+ (split_reduction_stmt): Call split_pbb.
+ (translate_scalar_reduction_to_array): Pass in the scop, do not
+ pass in the sbitmap reductions.
+ (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
+ (rewrite_commutative_reductions_out_of_ssa_loop): Same.
+ (rewrite_commutative_reductions_out_of_ssa): Same.
+ (build_poly_scop): Call build_scop_bbs,
+ rewrite_commutative_reductions_out_of_ssa,
+ rewrite_reductions_out_of_ssa, and
+ rewrite_cross_bb_scalar_deps_out_of_ssa. Move build_scop_drs
+ before scop_to_lst.
+ * graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa):
+ Removed declaration.
+ (rewrite_reductions_out_of_ssa): Same.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
+ (build_scop_bbs): Same.
+ * graphite.c (graphite_transform_loops): Do not initialize reductions.
+ Do not call build_scop_bbs,
+ rewrite_commutative_reductions_out_of_ssa,
+ rewrite_reductions_out_of_ssa, and
+ rewrite_cross_bb_scalar_deps_out_of_ssa.
+ * sese.h (struct gimple_bb): Add field pbb.
+ (GBB_PBB): New.
+
+2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (handle_scalar_deps_crossing_scop_limits):
+ New.
+ (rewrite_cross_bb_scalar_deps): Pass in the scop. Call
+ handle_scalar_deps_crossing_scop_limits.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Create an empty BB
+ after the scop. Update call to rewrite_cross_bb_scalar_deps.
+
+2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
+
+ * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr
+ when replacing a constant in an ADDR_EXPR.
+
+2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter
+ for the stride.
+ (lst_do_strip_mine): Same.
+ (scop_do_strip_mine): Same.
+ * graphite-poly.c (apply_poly_transforms): Update call to
+ scop_do_strip_mine.
+ * graphite-poly.h (scop_do_strip_mine): Update declaration.
+
+2010-12-01 Jan Hubicka <jh@suse.cz>
+
+ * tree.c (build_common_builtin_nodes): Do not initialize
+ BUILT_IN_PROFILE_FUNC_ENTER and BUILT_IN_PROFILE_FUNC_EXIT.
+ * builtins.c (expand_builtin_profile_func): Remove.
+ (expand_builtin): Do not handle BUILT_IN_PROFILE_FUNC_ENTER and
+ BUILT_IN_PROFILE_FUNC_EXIT.
+ * builtins.def (profile_func_enter, profile_func_exit): Remove stubs.
+ (__cyg_profile_func_enter, __cyg_profile_func_exit): New.
+ * gimplify.c (gimplify_function_tree): Reorganize code calling
+ profiling functions.
+
+2010-12-01 Joseph Myers <joseph@codesourcery.com>
+
+ * opts.c: Expand comment on tm.h include.
+
+2010-12-01 Yao Qi <yao@codesourcery.com>
+
+ * config/arm/predicates.md ("vfp_register_operand"): Return true for
+ VFP_D0_D7_REGS classes.
+
+2010-12-01 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (flag_stack_check): New Variable entry.
+ (fcompare-debug-second): Use Var.
+ * flags.h (flag_compare_debug, flag_stack_check): Remove.
+ * opts.c (flag_compare_debug): Remove.
+ (common_handle_option): Don't handle OPT_fcompare_debug_second.
+ Set opts->x_flag_stack_check for OPT_fstack_check_.
+ * toplev.c (flag_stack_check): Remove.
+
+2010-12-01 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (main_input_filename, main_input_basename,
+ main_input_baselength): New Variable entries. From toplev.c.
+ * final.c (output_quoted_string): Move from toplev.c.
+ * output.h (output_quoted_string): Move from toplev.h.
+ * opts-global.c (read_cmdline_options): Use gcc_options pointer to
+ access main_input_filename, main_input_baselength and
+ main_input_basename.
+ * targhooks.c: Include intl.h and opts.h.
+ (option_affects_pch_p, default_get_pch_validity): Move from toplev.c.
+ * targhooks.h (option_affects_pch_p, default_get_pch_validity):
+ Move from toplev.h.
+ * toplev.c (main_input_filename, main_input_basename,
+ main_input_baselength): Move to common.opt.
+ (output_quoted_string): Move to final.c.
+ (warn_deprecated_use): Move to tree.c.
+ (option_affects_pch_p, default_get_pch_validity,
+ pch_option_mismatch, default_pch_valid_p): Move to targhooks.c.
+ * toplev.h (skip_leading_substring): Move to tree-dump.c.
+ (warn_deprecated_use): Move to tree.h.
+ (output_quoted_string): Move to output.h.
+ (main_input_filename, main_input_basename, main_input_baselength):
+ Move to common.opt.
+ (default_get_pch_validity, default_pch_valid_p): Move to targhooks.c.
+ * tree-dump.c (skip_leading_substring): Move from toplev.h.
+ * tree.c (warn_deprecated_use): Move from toplev.c.
+ * tree.h (warn_deprecated_use): Move from toplev.h.
+ * c-typeck.c, config/alpha/alpha.c, config/arc/arc.c,
+ config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
+ config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c,
+ config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c,
+ config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c,
+ config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c,
+ config/mcore/mcore.c, config/mep/mep.c,
+ config/microblaze/microblaze.c, config/mips/mips.c,
+ config/mmix/mmix.c, config/mn10300/mn10300.c,
+ config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c,
+ config/picochip/picochip.c, config/s390/s390.c,
+ config/score/score.c, config/sh/sh.c, config/sparc/sparc.c,
+ config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c,
+ config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c,
+ graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c,
+ varasm.c, xcoffout.c: Don't include toplev.h.
+ * Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o,
+ gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o,
+ varasm.o, xcoffout.o): Update dependencies.
+ * config/arm/t-arm (arm.o): Update dependencies.
+ * config/spu/t-spu-elf (spu.o): Update dependencies.
+
+2010-12-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46730
+ * value-prof.c (gimple_ic): Always generate a separate merge BB.
+
+2010-11-30 Ian Lance Taylor <iant@google.com>
+
+ * config/i386/linux.h (ASM_SPEC): Pass -v as -v, not -V. Remove
+ all of %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}.
+ * config/i386/linux64.h (ASM_SPEC): Likewise.
+ * config/i386/mingw-w64.h (ASM_SPEC): Likewise.
+ * config/i386/sol2-10.h (ASM_SPEC) [USE_GAS]: Likewise.
+ * config/i386/vxworks.h (ASM_SPEC): Likewise.
+ * config/i386/x86-64.h (ASM_SPEC): Likewise.
+ * config/i386/sol2.h (ASM_SPEC): Remove %{Wa,*:%*}.
+ * config/i386/sol2-10.h (ASM_SPEC) [!USE_GAS]: Likewise.
+
+2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-decl.c (finish_function): Call objc_finish_function in
+ Objective-C.
+ * c-typeck.c (convert_for_assignment): Do not call
+ objc_type_quals_match().
+
+2010-11-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46722
+ * tree-ssa-math-opts.c (convert_mult_to_fma): Get multiplication
+ operands as arguments.
+ (execute_optimize_widening_mul): Also handle power of two as
+ multiplication.
+
+2010-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR middle-end/46709
+ * cgraphunit.c (process_function_and_variable_attributes): Fix
+ cut'n'pasteo.
+
+2010-11-30 Joseph Myers <joseph@codesourcery.com>
+
+ * hwint.c: New. Extracted from toplev.c.
+ * hwint.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
+ Move from toplev.h.
+ * toplev.c (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
+ Move to hwint.c.
+ * toplev.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
+ Move to hwint.h.
+ * builtins.c, combine.c, config/i386/winnt.c, double-int.c,
+ explow.c, expmed.c, fold-const.c, ggc-page.c, ggc-zone.c, ifcvt.c,
+ ipa-struct-reorg.c, ira-color.c, matrix-reorg.c, omp-low.c,
+ real.c, recog.c, reload.c, rtlanal.c, simplify-rtx.c,
+ stor-layout.c, tree-dfa.c, tree-ssa-alias.c,
+ tree-ssa-loop-niter.c, tree-vect-data-refs.c,
+ tree-vect-loop-manip.c, tree-vect-loop.c, tree-vect-stmts.c,
+ tree-vrp.c: Don't include toplev.h.
+ * genattrtab.c, genconditions.c, genemit.c, genextract.c,
+ genoutput.c, genpeep.c, genpreds.c, genrecog.c: Don't include
+ toplev.h in generated output.
+ * Makefile.in (OBJS-common): Add hwint.o.
+ Dependencies for above files changed to remove toplev.h.
+ (hwint.o): New.
+ (insn-attrtab.o, insn-emit.o, insn-extract.o, insn-output.o,
+ insn-peep.o, insn-preds.o, insn-recog.o): Don't depend on toplev.h.
+ * config/i386/t-cygming (winnt.o): Don't depend on toplev.h.
+ * config/i386/t-interix (winnt.o): Don't depend on toplev.h.
+
+2010-11-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46717
+ * value-prof.c (gimple_ic): Preserve EH edges of the indirect
+ call. Manually create EH edges for the direct call and update
+ target PHI nodes.
+
+2010-11-30 Joseph Myers <joseph@codesourcery.com>
+
+ * diagnostic-core.h: Include bversion.h.
+ * toplev.h: Don't include input.h or bversion.h.
+ (parse_optimize_options): Don't declare here.
+ * alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
+ caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
+ combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
+ config/host-darwin.c, config/i386/host-cygwin.c,
+ config/i386/host-mingw32.c, config/i386/msformat-c.c,
+ config/i386/netware.c, config/i386/nwld.c,
+ config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
+ config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
+ config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
+ config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
+ config/score/score3.c, config/score/score7.c,
+ config/sh/symbian-base.c, config/sh/symbian-c.c,
+ config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
+ config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
+ cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
+ fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
+ graphite-blocking.c, graphite-clast-to-gimple.c,
+ graphite-dependences.c, graphite-flattening.c,
+ graphite-interchange.c, graphite-poly.c,
+ graphite-scop-detection.c, graphite.c, haifa-sched.c,
+ implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
+ ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
+ lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
+ lto-opts.c, lto-section-in.c, lto-section-out.c,
+ lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
+ params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
+ regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
+ sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
+ sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
+ tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
+ tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
+ tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
+ tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
+ tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
+ tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
+ include toplev.h.
+ * Makefile.in (TOPLEV_H): Remove. All uses changed to use
+ toplev.h. Dependencies for above files and c-family files changed
+ to remove $(TOPLEV_H) or toplev.h.
+ (C_TREE_H): Don't include $(TOPLEV_H).
+ (DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h. Add
+ bversion.h.
+ * config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
+ config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
+ config/t-darwin, config/t-sol2,
+ config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
+ Dependencies for above files changed to remove $(TOPLEV_H) or
+ toplev.h.
+
+2010-11-30 Richard Guenther <rguenther@suse.de>
+
+ PR lto/44986
+ * gcc.c (main): Use the first input with a compiler as infile
+ for link spec processing.
+
+2010-11-30 Richard Guenther <rguenther@suse.de>
+
+ PR lto/45949
+ * cgraphunit.c (ipa_passes): Stop after errors from small IPA passes.
+
+2010-11-30 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * gcc-plugin.h: Include coretypes.h.
+ * Makefile.in (FUNCTION_H): Add hard-reg-set.h.
+
+2010-11-30 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * ggc-zone.c (ggc_pch_read): Fix conditional compilation.
+ * ggc-none.c (ggc_internal_alloc_zone_stat)
+ (ggc_internal_cleared_alloc_zone_stat): New.
+
+2010-11-29 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
+
+ * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Check
+ TARGET_SINGLE_PIC_BASE for RS6000_PIC_OFFSET_TABLE_REGNUM.
+ (rs6000_emit_prologue): Don't set PIC register if
+ TARGET_SINGLE_PIC_BASE.
+ * config/rs6000/rs6000.opt (msingle-pic-base): New option.
+ * doc/invoke.texi (msingle-pic-base): Document.
+
+2010-11-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR driver/46712
+ * exec-tool.in (id): New.
+ Check and export LT_RCU_$id instead of LT_RCU.
+
+2010-11-29 Zdenek Dvorak <rakdver@kam.uniff.cz>
+
+ PR tree-optimization/46675
+ * tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow
+ in offset calculation.
+
+2010-11-29 Jan Hubicka <jh@suse.cz>
+
+ * collect2.c (main): Do not imply verbose output with
+ LTO and linker plugin.
+
+2010-11-29 Dodji Seketeli <dodji@redhat.com>
+
+ * dwarf2out.c (print_die): Print the address of the current DIE or
+ of any DIE referenced by the current one.
+
+2010-11-29 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/46101
+ * dwarf2out.c (lookup_type_die_strip_naming_typedef): New function.
+ (scope_die_for, gen_type_die_for_member): Replace uses of
+ lookup_type_die with use of lookup_type_die_strip_naming_typedef.
+
+2010-11-29 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.c (darwin_mergeable_string_section): Remove blank line.
+ (darwin_asm_declare_object_name): Correct spelling.
+ (darwin_output_aligned_bss): Likewise.
+
+2010-11-29 Iain Sandoe <iains@gcc.gnu.org>
+ Mike Stump <mrs@gcc.gnu.org>
+
+ PR target/26427
+ PR target/33120
+ PR testsuite/35710
+ * config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove
+ (ASM_OUTPUT_LOCAL): Likewise.
+ * config/darwin-protos.h (darwin_asm_declare_object_name): New.
+ (darwin_output_aligned_bss): Likewise.
+ (darwin_asm_output_aligned_decl_local): Likewise.
+ (darwin_asm_output_aligned_decl_common): Likewise.
+ (darwin_use_anchors_for_symbol_p): Likewise.
+ * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove.
+ (TARGET_ASM_OUTPUT_ANCHOR): Define.
+ (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define.
+ (DARWIN_SECTION_ANCHORS): Set to 1.
+ * config/darwin.c (emit_aligned_common): New var.
+ (darwin_init_sections): Check that the Darwin private zero-size section
+ marker is in range.
+ (darwin_text_section): Check for zero-sized objects.
+ (darwin_mergeable_string_section): Likewise.
+ (darwin_mergeable_constant_section): Likewise.
+ (machopic_select_section): Adjust to check for zero-sized objects.
+ Assert that OBJC meta data are non-zero sized.
+ (darwin_asm_declare_object_name): New.
+ (darwin_asm_declare_constant_name): Adjust for zero-sized
+ object sections.
+ (BYTES_ZFILL): Define.
+ (darwin_emit_weak_or_comdat): New.
+ (darwin_emit_local_bss): New.
+ (darwin_emit_common): New.
+ (darwin_output_aligned_bss): New.
+ (darwin_asm_output_aligned_decl_common): New.
+ (darwin_asm_output_aligned_decl_local): New.
+ (darwin_file_end): Disable subsections_via_symbols when section
+ anchoring is active.
+ (darwin_asm_output_anchor): Re-enable.
+ (darwin_use_anchors_for_symbol_p): New.
+ (darwin_override_options): Check for versions that can emit
+ aligned common. Update usage of flags to current.
+ * config/darwin-sections.def: Update comments and flags for
+ non-anchor sections. zobj_const_section, zobj_data_section,
+ zobj_bss_section, zobj_const_data_section: New.
+ * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine.
+ (ASM_OUTPUT_ALIGN): Make whitespace output consistent.
+ (L2_MAX_OFILE_ALIGNMENT): Define.
+ (ASM_OUTPUT_ALIGNED_BSS): Define.
+ (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
+ (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
+ (SECTION_NO_ANCHOR): Define.
+ (TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL.
+ (DARWIN_SECTION_ANCHORS): Define with a default of 0.
+
+2010-11-29 Joseph Myers <joseph@codesourcery.com>
+
+ * system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
+ Include <signal.h>, <sys/mman.h>, <sys/resource.h> and <sys/times.h>.
+ (O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill):
+ Conditionally define.
+ (GET_ENVIRONMENT): Poison.
+ * configure.ac: Don't test for mincore.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * collect2-aix.c: Don't include <sys/mman.h>.
+ * collect2.c: Don't include <signal.h>.
+ (SIGCHLD): Don't define.
+ (prefix_from_env): Use getenv instead of GET_ENVIRONMENT.
+ * config/alpha/alpha.c: Include "splay-tree.h" instead of
+ <splay-tree.h>.
+ * config/arm/arm.c (arm_target_help): Use getenv instead of
+ GET_ENVIRONMENT.
+ * config/avr/driver-avr.c: Don't include <stdlib.h>.
+ * config/frv/frv.c: Don't include <ctype.h>.
+ * config/host-darwin.c: Don't include <sys/mman.h>.
+ * config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>.
+ (MAP_FAILED): Don't define.
+ * config/host-linux.c: Don't include <sys/mman.h> or <limits.h>.
+ * config/host-solaris.c: Don't include <sys/mman.h>.
+ * config/i386/cygming.h: Don't include <stdio.h>.
+ * config/i386/driver-i386.c: Don't include <stdlib.h>.
+ * config/i386/host-cygwin.c: Don't include <sys/mman.h>.
+ * config/iq2000/iq2000.c: Don't include <signal.h>.
+ * config/m32c/m32c-pragma.c: Don't include <stdio.h>.
+ * config/m68hc11/m68hc11.c: Don't include <stdio.h>.
+ * config/mep/mep-pragma.c: Don't include <stdio.h>.
+ * config/microblaze/microblaze.c: Don't include <signal.h>.
+ * config/mips/mips.c: Don't include <signal.h>.
+ * config/rs6000/host-darwin.c: Don't include <signal.h>.
+ * cppdefault.c (cpp_relocated): Use getenv instead of GET_ENVIRONMENT.
+ * defaults.h (GET_ENVIRONMENT): Don't define.
+ * et-forest.h: Don't include <ansidecl.h> or <stddef.h>.
+ * gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>.
+ (SIGCHLD, MAP_FAILED, kill): Don't define.
+ (process_command): Use getenv instead of GET_ENVIRONMENT.
+ * genhooks.c: Don't include <string.h>.
+ * ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or
+ <sys/types.h>.
+ (MAP_FAILED): Don't define.
+ * ggc-page.c Don't include <sys/mman.h>.
+ (MAP_ANONYMOUS, MAP_FAILED): Don't define.
+ * ggc-zone.c: Don't include <sys/mman.h>.
+ (MAP_ANONYMOUS, MAP_FAILED): Don't define.
+ * graph.c: Include "config.h" instead of <config.h>.
+ * incpath.c (add_env_var_paths): Use getenv instead of GET_ENVIRONMENT.
+ * lto-wrapper.c: Don't include <errno.h>, <signal.h> or "libiberty.h".
+ (SIGCHLD, kill): Don't define.
+ * mips-tfile.c: Don't include <signal.h>.
+ * opts.c: Don't include <signal.h> or <sys/resource.h>.
+ (print_specific_help): Use getenv instead of GET_ENVIRONMENT.
+ * passes.c: Don't include <signal.h>, <sys/resource.h> or
+ <sys/times.h>.
+ * sparseset.h: Don't include <assert.h>.
+ * timevar.c: Don't include <sys/times.h> or <sys/resource.h>.
+ * tlink.c: Don't include "libiberty.h".
+ * toplev.c: Don't include <signal.h> or <sys/times.h>.
+ * tree-mudflap.c: Include "demangle.h" instead of <demangle.h>.
+ * tree-switch-conversion.c: Don't include <signal.h>.
+ * vmsdbgout.c: Don't include <errno.h> or <string.h>.
+
+2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_try_catch_statement): Renamed to
+ c_parser_objc_try_catch_finally_statement for consistency with the
+ C++ parser. Parse @catch(...) and pass NULL_TREE to
+ objc_begin_catch_clause() in that case. Improved error recovery.
+ Reorganized code to be almost identical to
+ cp_parser_objc_try_catch_finally_statement.
+
+2010-11-29 Joern Rennecke <amylaar@spamcop.net>
+
+ PR tree-optimization/46621
+ * gimple.h: Don't include tm.h or hard-reg-set.h .
+ * Makefile.in (GIMPLE_H): Remove $(TM_H).
+
+ PR bootstrap/44756
+ * cppbuiltin.c: Include target.h .
+ (define_builtin_macros_for_type_sizes):
+ Use targetm.float_words_big_endian.
+
+2010-11-27 Jan Hubicka <jh@suse.cz>
+
+ * dwarf2out.c (dwarf2out_begin_function): Set cold_text_section
+ and output cold_text_section_label.
+ (dwarf2out_init): Don't do that there.
+ (dwarf2out_finish): Handle cold section end label only if cold
+ section was used.
+
+2010-11-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-nested.c (remap_vla_decls): Fully expand value expressions of
+ VLA variables.
+
+2010-11-27 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p.
+ (gimple_assign_ssa_name_copy_p): Likewise.
+ (gimple_assign_unary_nop_p): Use is_gimple_assign.
+ (is_gimple_cast): Remove.
+ (gimple_assign_single_p): Move ...
+ * gimple.h (gimple_assign_single_p): ... here.
+ (is_gimple_cast): Remove.
+ (gimple_assign_rhs_code): Simplify.
+ * gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P
+ instead of is_gimple_cast.
+ * ipa-type-escape.c (look_for_casts): Likewise.
+
+2010-11-26 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/options.texi (Enum, EnumValue): Document new record types.
+ (Enum): Document new option flag.
+ * opt-functions.awk
+ * optc-gen.awk: Handle enumerated option arguments.
+ * opth-gen.awk: Handle enumerated option arguments.
+ * opts-common.c (enum_arg_ok_for_language, enum_arg_to_value,
+ enum_value_to_arg): New.
+ (decode_cmdline_option): Handle enumerated arguments.
+ (read_cmdline_option): Handle CL_ERR_ENUM_ARG.
+ (set_option, option_enabled, get_option_state): Handle CLVC_ENUM.
+ * opts.c (print_filtered_help, print_specific_help): Take
+ lang_mask arguments.
+ (print_filtered_help): Handle printing values of enumerated
+ options. Print possible arguments for enumerated options.
+ (print_specific_help): Update call to print_filtered_help.
+ (common_handle_option): Update calls to print_specific_help. Use
+ value rather than arg for OPT_fdiagnostics_show_location_. Don't
+ handle OPT_ffp_contract_, OPT_fexcess_precision_,
+ OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or
+ OPT_fira_region_ here.
+ * opts.h (enum cl_var_type): Add CLVC_ENUM.
+ (struct cl_option): Add var_enum.
+ (CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg,
+ struct cl_enum, cl_enums, cl_enums_count): New.
+ (CL_ERR_ENUM_ARG): Define.
+ (CL_ERR_NEGATIVE): Update value.
+ (enum_value_to_arg): Declare.
+ * common.opt (flag_ira_algorithm, flag_ira_region,
+ flag_fp_contract_mode, flag_excess_precision_cmdline,
+ default_visibility, flag_tls_default): Remove Variable entries.
+ (help_enum_printed): New Variable.
+ (fdiagnostics-show-location=): Use Enum. Add associated
+ SourceInclude, Enum and EnumValue entries.
+ (fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=,
+ ftls-model=, fvisibility=): Use Enum, Var and Init. Add
+ associated Enum and EnumValue entries.
+
+2010-11-26 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/46623
+ * config/microblaze/microblaze.c (microblaze_block_move_straight):
+ Use XALLOCAVEC.
+ (microblaze_option_override): Don't use C++ style comments.
+ (save_restore_insns): Remove unused variable base_offset.
+ (microblaze_expand_prologue): Remove unused variable insn.
+ (microblaze_secondary_reload): Adjust type to match target.h .
+ (microblaze_elf_in_small_data_p): Move declarations to start of block.
+ (microblaze_expand_move): Likewise.
+ * config/microblaze/microblaze.h (LARGE_INT):
+ Avoid signed / unsigned comparisons.
+ (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
+ (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data.
+ (ASM_FINISH_DECLARE_OBJECT): Likewise. Constify name.
+
+2010-11-26 Michael Matz <matz@suse.de>
+
+ * tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops.
+
+ * passes.c (init_optimization_passes): Remove superfluous
+ copy-prop pass.
+
+2010-11-26 Richard Guenther <rguenther@suse.de>
+
+ PR lto/46648
+ * gimple.c (gtc_visit): Do not return true for members of an
+ SCC still being processed but the current lattice value of
+ the member. Treat SCC members comparison state as lattice,
+ starting at equal, eventually dropping to unequal.
+ (gimple_types_compatible_p_1): Likewise.
+
+2010-11-26 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/46559
+ * dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
+ for location list processing.
+
+2010-11-26 Richard Guenther <rguenther@suse.de>
+
+ PR lto/46560
+ * cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
+ flags manually.
+
+2010-11-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (print_operand_address): Replace assert with
+ error message.
+ (print_operand): Replace assertions, gcc_unreachable and
+ fatal_insn with error messages.
+
+2010-11-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46665
+ * tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID.
+
+2010-11-26 Ian Bolton <ian.bolton@arm.com>
+
+ * config/arm/arm.c (arm_option_override): enable loop array
+ prefetching at -O3 for suitable targets, and configure params.
+ * config/arm/arm-protos.h (struct tune_params): Add fields for
+ configuring loop array prefetching.
+
+2010-11-26 Christian Borntraeger <borntraeger@de.ibm.com>
+
+ * config/s390/2817.md (z196_crack): Add z196_g3 as possible slot.
+
+2010-11-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46664
+ * tree-affine.c (aff_combination_to_tree): Add rest last.
+
+2010-11-26 Michael Haubenwallner <michael.haubenwallner@salomon.at>
+
+ PR target/33637
+ * configure.ac: Accept extra arguments for AS_FOR_TARGET,
+ LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET.
+ * configure: Regenerated.
+ * exec-tool.in: Not quoting command, may have extra arguments.
+
+2010-11-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46528
+ PR debug/46338
+ * profile.c (branch_prob): Do not split blocks based on locations
+ from debug statements.
+
+2010-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/46647
+ * builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead
+ of host_integerp check. Use TREE_INT_CST_LOW instead of tree_low_cst.
+
+ PR bootstrap/45700
+ * tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
+ build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
+ (build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
+ build6_loc): Define.
+ * fold-const.c (protected_set_expr_location_unshare): New inline.
+ (fold_convert_loc, pedantic_non_lvalue_loc): Use it.
+ (negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
+ pedantic_omit_one_operand_loc, omit_two_operands_loc,
+ fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
+ optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
+ build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
+ fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
+ instead of buildN followed by SET_EXPR_LOCATION or
+ protected_set_expr_location.
+ (fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
+ Use buildN_stat_loc instead of buildN_stat followed by
+ SET_EXPR_LOCATION.
+
+2010-11-26 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * Makefile.in (s-tm-texi): Remove spurous tab.
+
+2010-11-26 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/46258
+ * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on
+ debug stmts.
+
+2010-11-26 Alexandre Oliva <aoliva@redhat.com>
+
+ * toplev.c (finalize): Add no_backend parameter. Don't finish
+ passes when preprocessing only. Adjust...
+ (do_compile): ... caller.
+
+2010-11-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of
+ flag_unsafe_math_optimizations.
+ (negsf2): Likewise.
+ Move fnegabs related patterns together. Only use fmpynfadd instruction
+ to negate a multiply if !flag_signed_zeros is true.
+
+2010-11-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * gengtype-state.c (read_state_structures): Initialize "previous".
+
+2010-11-25 Basile Starynkevitch <basile@starynkevitch.net>
+ Jeremie Salvucci <jeremie.salvucci@free.fr>
+
+ * gengtype-state.c: Add new file.
+
+ * gengtype.c (type count): New variable.
+ (new_structure, find_param_structure, create_pointer)
+ (create_array): Use it to set state_number in types.
+ (dump_everything): Improve comment.
+ (main): Call read_state and write_state. Print type_count.
+
+ * gengtype.h (type_lineloc): New function.
+ (read_state, write_state): New declarations.
+
+ * Makefile.in (GENGTYPE_FLAGS): New variable.
+ (s-gtype): Run gengtype twice and generate gtype.state.
+ (build/gengtype-state.o): New rule.
+ (build/gengtype$(build_exeext)): Link gengtype-state.o.
+ (mostlyclean): Update comment. Remove gtype.state.
+
+2010-11-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/46637
+ * combine.c (try_combine): When substing i2dest for i2src, pass
+ 1 as last argument even if
+ i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src.
+
+2010-11-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/46647
+ * builtins.c (target_char_cast): Check INTEGER_CST instead of
+ host_integerp. Replace tree_low_cst with TREE_INT_CST_LOW.
+
+2010-11-25 Joseph Myers <joseph@codesourcery.com>
+
+ * target.def (supports_split_stack, except_unwind_info): Take
+ gcc_options parameters.
+ * targhooks.c (default_except_unwind_info,
+ dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
+ gcc_options parameters.
+ * targhooks.h (default_except_unwind_info,
+ dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
+ prototypes.
+ * doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
+ TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
+ Document that hooks must not be modified.
+ (TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
+ * doc/tm.texi: Regenerate.
+ * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
+ &global_options to targetm.except_unwind_info.
+ * dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
+ dwarf2out_begin_prologue, dwarf2out_frame_init,
+ dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
+ &global_options to targetm.except_unwind_info.
+ * except.c (init_eh, finish_eh_generation,
+ gate_convert_to_eh_region_ranges,
+ output_one_function_exception_table): Pass &global_options to
+ targetm.except_unwind_info.
+ * expr.c (build_personality_function): Pass &global_options to
+ targetm.except_unwind_info.
+ * function.c (expand_function_end): Pass &global_options to
+ targetm.except_unwind_info.
+ * hooks.c (hook_bool_bool_gcc_optionsp_false): New.
+ * hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
+ * opts.c (finish_options): Pass opts to targetm.except_unwind_info
+ and targetm.supports_split_stack. Remove assertions about opts
+ and opts_set.
+ (common_handle_option): Remove assertions about opts, opts_set and dc.
+ * tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
+ &global_options to targetm.except_unwind_info.
+ * tree.c (build_common_builtin_nodes: Pass &global_options to
+ targetm.except_unwind_info.
+ * config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter.
+ (arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
+ thumb1_expand_prologue, thumb1_output_function_prologue,
+ arm_unwind_emit, arm_output_fn_unwind): Update calls to
+ arm_except_unwind_info.
+ * config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
+ parameter.
+ * config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
+ parameter.
+ (ia64_output_function_prologue, ia64_add_bundle_selector_before,
+ ia64_reorg, ia64_asm_unwind_emit): Update calls to
+ ia64_except_unwind_info.
+ * config/pa/pa.c (pa_option_override): Pass &global_options to
+ targetm.except_unwind_info.
+ * config/picochip/picochip-protos.h (picochip_except_unwind_info):
+ Remove prototype.
+
+2010-11-25 Kai Tietz <kai.tietz@onevision.com>
+
+ * cgraphunit.c (process_function_and_variable_attributes):
+ Mark dllexport-ed function/variables as needed.
+ * ipa.c (cgraph_externally_visible_p): Make dllexport-ed
+ as externally visible.
+
+2010-11-25 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/46585
+ * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
+ (vinsn_init): Skip computation of dependencies for local NOPs.
+ (vinsn_delete): Don't try to free regsets for local NOPs.
+ (setup_nop_and_exit_insns): Change definition of nop_pattern.
+
+2010-11-25 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/46602
+ * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ...
+ (tidy_control_flow): Here.
+
+2010-11-25 Joern Rennecke <amylaar@spamcop.net>
+ Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR bootstrap/45888
+ * Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
+ Fix target.def pathname in timestamp comparison.
+
+2010-11-24 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/predicates.md (pmpyshr_operand): New.
+ * config/ia64/ia64.c (ia64_expand_unpack): New.
+ (ia64_expand_widen_mul_v4hi): New.
+ (ia64_expand_widen_sum): Update for pattern renames.
+ (ia64_expand_dot_prod_v8qi): Likewise.
+ * config/ia64/ia64-protos.h: Update.
+ * config/ia64/vect.md (vecwider): New mode attribute.
+ (vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New.
+ (vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New.
+ (pmpyshr2, pmpyshr2_u): New.
+ (vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New.
+ (vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New.
+ (mulv2si3): New.
+ (vec_pack_ssat_v4hi): Rename from pack2_sss.
+ (vec_pack_usat_v4hi): Rename from *pack2_uss.
+ (vec_pack_ssat_v2si): Rename from pack4_sss.
+ (vec_interleave_lowv8qi): Rename from unpack1_l, use the correct
+ vec_select operation.
+ (vec_interleave_highv8qi): Similarly.
+ (mux1_alt): Rename from *mux1_alt.
+ (vec_extract_evenv8qi, vec_extract_oddv8qi): New.
+ (vec_interleave_lowv4hi): Rename from unpack2_l.
+ (vec_interleave_highv4hi): Rename from unpack2_h.
+ (mix2_r): Rename from *mix2_r.
+ (mix2_l): Similarly.
+ (vec_extract_evenodd_helper): New.
+ (vec_extract_evenv4hi, vec_extract_oddv4hi): New.
+ (vec_interleave_lowv2si): Rename from *unpack4_l.
+ (vec_interleave_highv2si): Rename from *unpack4_h.
+ (vec_extract_evenv2si, vec_extract_oddv2si): New.
+ (vec_interleave_lowv2sf): Rename from fmix_r.
+ (vec_interleave_highv2sf): Rename from *fmix_l.
+ (vec_extract_evenv2sf, vec_extract_oddv2sf): New.
+ (vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New.
+ (vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New.
+ (vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New.
+
+2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
+
+ * targhooks.c (default_except_unwind_info): Remove
+ MUST_USE_SJLJ_EXCEPTIONS case.
+ * config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
+ * config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+ * doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
+ * doc/tm.texi: Regenerate.
+ * system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
+
+2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
+ __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
+ * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
+ * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
+ * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
+
+2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46519
+ * config/i386/i386.c (ix86_expand_call): Don't check
+ TREE_THIS_VOLATILE.
+
+2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46519
+ * config/i386/i386.c (upper_128bits_state): New.
+ (block_info_def): Remove upper_128bits_set and done. Add state,
+ referenced, count, processed and rescanned.
+ (check_avx256_stores): Updated.
+ (move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END.
+ Call note_stores only if needed. Set referenced and count.
+ (move_or_delete_vzeroupper_1): Updated. Set rescan_vzeroupper_p.
+ (rescan_move_or_delete_vzeroupper): New.
+ (move_or_delete_vzeroupper): Process and rescan all all basic
+ blocks instead of predecessor blocks of all exit points.
+ (ix86_option_override_internal): Enable vzeroupper optimization
+ only for -fexpensive-optimizations and not optimizing for size.
+ (use_avx256_p): Removed.
+ (init_cumulative_args): Don't set use_avx256_p.
+ (ix86_function_arg): Likewise.
+ (ix86_expand_move): Likewise.
+ (ix86_expand_vector_move_misalign): Likewise.
+ (ix86_local_alignment): Likewise.
+ (ix86_minimum_alignment): Likewise.
+ (ix86_expand_epilogue): Don't check use_avx256_p when generating
+ vzeroupper.
+ (ix86_expand_call): Likewise.
+
+ * config/i386/i386.h (machine_function): Remove use_vzeroupper_p
+ and use_avx256_p. Add rescan_vzeroupper_p.
+
+2010-11-24 Joseph Myers <joseph@codesourcery.com>
+
+ * toplev.c: Include <signal.h>.
+
+2010-11-24 Richard Guenther <rguenther@suse.de>
+
+ PR lto/43218
+ * lto-symtab.c (lto_cgraph_replace_node): Mark edges with
+ conflicting function signatures as non-inlineable.
+
+2010-11-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/46614
+ * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define.
+ (deps_analyze_insn): Mark JUMP_INSNs in
+ last_pending_memory_flush that weren't added through
+ flush_pending_lists with NON_FLUSH_JUMP_KIND.
+ (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P
+ on INSN_LIST instead of JUMP_P check on its operand.
+ * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND.
+
+2010-11-24 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p.
+
+2010-11-24 Richard Guenther <rguenther@suse.de>
+
+ PR lto/46606
+ * lto-streamer-in.c (input_gimple_stmt): When we cannot find
+ a FIELD_DECL that is type correct issue a warning and fixup
+ with a VIEW_CONVERT_EXPR.
+
+2010-11-24 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * doc/invoke.texi (Options for Debugging Your Program or GCC):
+ Explain static numbering of dump files.
+
+2010-11-24 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (user_vect_verbosity_level): New Variable entry.
+ (ftree-vectorizer-verbose=): Mark as UInteger.
+ * flag-types.h (enum vect_verbosity_levels): Move from enum
+ verbosity_levels in tree-vectorizer.h.
+ * opts.c: Don't include tree.h.
+ (vect_set_verbosity_level): Move from tree-vectorizer.c. Use
+ gcc_options parameter; take integer option argument.
+ (common_handle_option): Update call to vect_set_verbosity_level.
+ * tree-vectorizer.c (user_vect_verbosity_level): Remove.
+ (vect_set_verbosity_level): Move to opts.c.
+ (vect_verbosity_level, vect_print_dump_info): Update for change of
+ enum name.
+ * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h.
+ (vect_print_dump_info): Update for change of enum name.
+ * tree.h (vect_set_verbosity_level): Remove.
+ * Makefile.in (opts.o): Update dependencies.
+
+2010-11-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/46629
+ * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn)
+ instead of insn with any_condjump_p.
+
+2010-11-24 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * config/mips/loongson.md: Change the description comment of the file
+ and update the copyright years.
+ (define_insn "<u>div<mode>3): Add loongson3a support.
+ (define_insn "<u>mod<mode>3"): Likewise.
+ * config/mips/mips.md: Rename mul<mode>3_mul3_ls2ef to
+ mul<mode>3_mul3_loongson.
+ (define_expand "mul<mode>3"): Add TARGET_LOONGSON_3A.
+ (define_insn "mul<mode>3_mul3_loongson"): Add loongson3a support.
+
+2010-11-23 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (initial_max_fld_align, flag_debug_asm,
+ flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit,
+ flag_print_asm_name, graph_dump_format, help_printed,
+ help_columns, flag_opts_finished): New Variable entries.
+ (fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed,
+ frandom-seed=): Mark deferred.
+ (fsched-verbose=): Use UInteger and Var.
+ * flags.h (set_struct_debug_option, flag_print_asm_name,
+ rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm,
+ graph_dump_format): Don't declare here.
+ * haifa-sched.c (sched_verbose_param, fix_sched_param): Remove.
+ * opts-global.c: Include dbgcnt.h and debug.h.
+ (decode_options): Pass location to finish_options.
+ (handle_common_deferred_options): Check flag_dump_all_passed.
+ Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_,
+ OPT_frandom_seed and OPT_frandom_seed_. Don't assert on
+ OPT_fstack_limit.
+ * opts.c: Don't include toplev.h, dbgcnt.h or debug.h.
+ (set_struct_debug_option): Add location_t parameter. Update
+ recursive call. Use error_at.
+ (default_options_optimization): Use error_at.
+ (finish_options): Add location_t parameter. Use
+ opts->x_flag_opts_finished instead of first_time_p. Use
+ opts->x_optimize instead of optimize. Use error_at. Pass
+ location to inform.
+ (print_filtered_help): Use opts->x_help_printed to track what
+ options have been printed.
+ (print_specific_help): Use opts->x_help_columns to track number of
+ columns.
+ (common_handle_option): Pass locations and gcc_options pointers to
+ more functions. Use warning_at instead of fnotice and warning.
+ Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or
+ OPT_fdebug_prefix_map_. Use error_at. Set
+ opts->x_initial_max_fld_align; don't set maximum_field_alignment.
+ Don't handle OPT_frandom_seed or OPT_frandom_seed_. Don't handle
+ OPT_fsched_verbose_.
+ (handle_param): Add location_r parameter. Use error_at.
+ (set_debug_level): Add location_r parameter. Use error_at and
+ warning_at.
+ (setup_core_dumping): Add diagnostic_context parameter.
+ (decode_d_option): Add gcc_options, location_t and
+ diagnostic_context parameters and use them instead of global
+ state. Use warning_at.
+ (enable_warning_as_error): Use error_at.
+ * opts.h (finish_options): Update prototype.
+ (set_struct_debug_option): Declare here.
+ * rtl.h (fix_sched_param): Remove.
+ * stor-layout.c (initial_max_fld_align): Remove.
+ * toplev.c (rtl_dump_and_exit, flag_print_asm_name,
+ graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove.
+ (process_options): Set maximum_field_alignment.
+ * tree.h (initial_max_fld_align) Don't declare here.
+ * Makefile.in (opts.o, opts-global.o): Update dependencies.
+
+2010-11-23 Joseph Myers <joseph@codesourcery.com>
+
+ * flag-types.h (struct visibility_flags): Don't declare here.
+ * flags.h (strip_off_ending, fast_math_flags_set_p,
+ fast_math_flags_struct_set_p): Declare here.
+ (visibility_options): Don't declare here.
+ * opts-common.c (option_enabled, get_option_state): Move from
+ opts.c.
+ * opts-global.c: Include diagnostic.h instead of
+ diagnostic-core.h. Include tree.h, langhooks.h, lto-streamer.h
+ and toplev.h.
+ (const_char_p, ignored_options, in_fnames, num_in_fnames,
+ write_langs, complain_wrong_lang, postpone_unknown_option_warning,
+ print_ignored_options, unknown_option_callback,
+ post_handling_callback, lang_handle_option, add_input_filename,
+ read_cmdline_options, initial_lang_mask, init_options_once,
+ decode_cmdline_options_to_array_default_mask,
+ set_default_handlers, decode_options): Move from opts.c.
+ (print_ignored_options): Use warning_at instead of saving and
+ restoring input_location.
+ * opts.c: Include <signal.h> and <sys/resource.h>. Include rtl.h
+ instead of expr.h. Don't include langhooks.h, except.h or
+ lto-streamer.h. Add more comments on includes.
+ (strip_off_ending, setup_core_dumping, decode_d_option): Move from
+ toplev.c.
+ (visibility_options): Move to c-family/c-common.c.
+ (const_char_p, ignored_options, in_fnames, num_in_fnames,
+ write_langs, complain_wrong_lang, postpone_unknown_option_warning,
+ print_ignored_options, unknown_option_callback,
+ post_handling_callback, lang_handle_option, add_input_filename,
+ read_cmdline_options, initial_lang_mask, init_options_once,
+ decode_cmdline_options_to_array_default_mask,
+ set_default_handlers, decode_options): Move to opts-global.c.
+ (target_handle_option, default_options_optimization,
+ finish_options, common_handle_option): Remove static.
+ (option_enabled, get_option_state): Move to opts-common.c.
+ * opts.h (common_handle_option, target_handle_option,
+ finish_options, default_options_optimization): Declare.
+ * toplev.c: Don't include <signal.h> or <sys/resource.h>.
+ (setup_core_dumping, strip_off_ending, decode_d_option): Move to
+ opts.c.
+ * toplev.h (strip_off_ending, decode_d_option,
+ fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't
+ declare here.
+ * Makefile.in (opts.o, opts-global.o): Update dependencies.
+
+2010-11-23 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR driver/42690
+ * gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin
+ options, replace by call of pass-through-libs spec function to process
+ link_gcc_c_sequence spec.
+ (lto_libgcc_spec): Delete variable.
+ (static_specs[]): Remove related entry.
+ (static_spec_functions[]): Add new entry for pass-through-libs.
+ (main): Don't generate deleted lto_libgcc_spec.
+ (pass_through_libs_spec_func): New function to implement the new
+ pass-through-libs spec function.
+ * doc/invoke.texi (pass-through-libs): Document new spec function.
+
+2010-11-23 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/options.texi (Warning, Optimization): Document.
+
+2010-11-23 Jan Hubicka <jh@suse.cz>
+
+ * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.
+ (tree_decl_with_vis): Add implicit_section_name_p.
+ * targhooks.h (default_function_section): Declare.
+ * target.def (function_section): New hook.
+ * defaults.h (HOT_TEXT_SECTION_NAME,
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
+ * predict.c (choose_function_section): Remove.
+ (estimate_bb_frequencies): Do not use choose_function_section.
+ * coretypes.h (enum node_frequency): Move here from cgraph.h
+ * cgraph.h (enum node_frequency): Remove.
+ * varasm.c (initialize_cold_section_name, unlikely_text_section,
+ unlikely_text_section_p): Remove.
+ (named_subsection_entry): New structure.
+ (get_text_section): New function.
+ (default_function_section): New function.
+ (function_section_1): Break out from ...; handle profile info.
+ (function_section): ... here.
+ (unlikely_text_section): Remove.
+ (unlikely_text_section_p): Use function_section_1.
+ (assemble_start_function): Do not initialize cold section.
+ (default_section_type_flags): Do not special case cold subsection.
+ (switch_to_section): Likewise.
+ * output.h (get_text_section): Define.
+ * config/i386/winnt.c: Do not special case cold section.
+ * config/darwin-protos.h (darwin_function_section): Declare.
+ * config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME,
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
+ * config/ia64/hpux.h (HOT_TEXT_SECTION_NAME,
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
+ (TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section.
+ * config/ia64/ia64.c (ia64_hpux_function_section): New function.
+ * config/darwin.c (machopic_select_section): Use
+ darwin_function_section.
+ (darwin_function_section): New function.
+ * config/darwin.h (HOT_TEXT_SECTION_NAME,
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
+ (TARGET_ASM_FUNCTION_SECTION): Define.
+ * system.h (HOT_TEXT_SECTION_NAME,
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison.
+
+2010-11-23 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence).
+ LINK_GCC_C_SEQUENCE_SPEC: Define new macro.
+
+2010-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/46499
+ * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs
+ following unconditional jumps.
+
+2010-11-23 Richard Guenther <rguenther@suse.de>
+
+ * doc/md.texi (386 constraints): Clarify A constraint documentation.
+
+2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
+ Jeremie Salvucci <jeremie.salvucci@free.fr>
+
+ * gengtype.c (enum typekind, struct options)
+ (struct nested_ptr_data, struct pair, NUM_PARAM)
+ (enum gc_used_num, struct type, UNION_P, UNION_OR_STRUCT_P):
+ Move to gengtype.h.
+ (string_type, scalar_nonchar, scalar_nonchar, scalar_char):
+ Remove static, add zero state_number.
+ (typedefs, structures, param_structs, variables): Remove static.
+ (create_option): Remove.
+ (create_string_option, create_type_option, create_nested_option):
+ New functions.
+ (create_nested_ptr_option): Use create_nested_option.
+ (note_variable, adjust_field_rtx_def, adjust_field_type): Call the
+ new create*option functions.
+ (process_gc_options): Adjust for discriminated option.
+ (output_mangled_typename): Handle TYPE_NONE.
+ (walk_type): Test option kinds.
+ (write_types_process_field): Handle TYPE_NONE and TYPE_ARRAY.
+ (write_func_for_structure, write_type, write_local, write_root)
+ (write_roots, note_def_vec, dump_options): Adjust for
+ discriminated option.
+
+ * gengtype.h (typedefs, structures, param_structs, variables
+ enum typekind): Move from gengtype.c
+ (enum option_kind): New discriminating enumeration.
+ (struct options): Becomes discriminated.
+ (struct nested_ptr_data): Nove from gengtype.c
+ (create_string_option, create_type_option, create_nested_option)
+ (create_nested_ptr_option): New functions
+ (struct pair, enum_gc_used_enum, NUM_PARAM, struct type, UNION_P)
+ (UNION_OR_STRUCT_P): Move from gengtype.c
+
+ * gengtype-parse.c (str_optvalue_opt, type_optvalue, option): Make
+ discriminated options.
+
+2010-11-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid doing work
+ twice. Avoid re-allocating the ops vector all the time.
+
+2010-11-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-alias.c (refs_may_alias_p_1): Avoid calls to
+ is_gimple_min_invariant, group tree code checks to allow
+ combining them.
+ (stmt_may_clobber_ref_p_1): Check for SSA_NAME instead
+ of is_gimple_reg.
+
+2010-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config.gcc (sparc*-*-*): Reorder.
+
+2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.c (header_dot_h_frul, source_dot_c_frul):
+ Remove ENABLE_CHECKING around DBGPRINTF.
+
+2010-11-22 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (exit_after_options, write_symbols, debug_info_level,
+ use_gnu_debug_info_extensions): New Variable entries.
+ (fprofile-dir=): Use Var.
+ * flag-types.h (enum debug_info_level): Rename to enum
+ debug_info_levels.
+ * flags.h (write_symbols, debug_info_level,
+ use_gnu_debug_info_extensions): Remove declarations.
+ * opts.c (exit_after_options, write_symbols, debug_info_level): Remove.
+ (set_struct_debug_option): Make static variables const.
+ (use_gnu_debug_info_extensions): Remove.
+ (set_debug_level, print_filtered_help, print_specific_help,
+ fast_math_flags_set_p): Take gcc_options parameters and use them
+ in place of global variables.
+ (print_filtered_help): Make new_help non-static.
+ (print_specific_help): Update call to print_filtered_help.
+ (common_handle_option): Update calls to print_specific_help. Use
+ gcc_options structure for more settings. Make --help table
+ const. Don't handle OPT_fprofile_dir_ here. Update calls to
+ set_debug_level.
+ * toplev.c (profile_data_prefix): Remove.
+ * toplev.h (profile_data_prefix, exit_after_options): Remove
+ declarations.
+ (fast_math_flags_set_p): Update prototype.
+ * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
+ Update call to fast_math_flags_set_p.
+
+2010-11-22 Richard Henderson <rth@redhat.com>
+
+ PR target/46434
+ * config/crx/crx.c (crx_addr_reg): Rename from crx_addr_reg_p;
+ return the address register extracted.
+ (crx_decompose_address): Update the extracted address register.
+
+2010-11-22 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
+
+ PR driver/43335
+ * gcc.c (main): Don't crash when lto-wrapper program is not found.
+
+2010-11-22 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/46608
+ * config/picochip/picochip.c (picochip_secondary_reload): Make static.
+ * config/picochip/picochip-protos.h: Don't include "target.h" .
+ (picochip_secondary_reload): Don't declare.
+
+ PR target/46613
+ * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Declare.
+ * config/m32c/m32c.c (m32c_conditional_register_usage): No longer
+ static.
+
+2010-11-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/46609
+ * gengtype.c (header_dot_h_frul): Check ENABLE_CHECKING.
+ (source_dot_c_frul): Likewise.
+
+2010-11-22 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gimple-pretty-print.c (dump_bb_header): Add check for cfun.
+
+2010-11-22 Paolo Bonzini <bonzini@gnu.org>
+
+ PR bootstrap/44970
+ * Makefile.in (fwprop.o) Add sparseset.h.
+ * fwprop.c: Include sparseset.h
+ (struct find_occurrence_data, find_occurrence_callback,
+ find_occurrence): Remove.
+ (active_defs, active_defs_check, register_active_defs,
+ update_df_init, update_uses): New.
+ (update_df): Rewrite.
+ (try_fwprop_subst, forward_propagate_asm): Add calls to
+ update_df_init and update_df.
+ (fwprop_init): Allocate active_defs and active_defs_check.
+ (fwprop_done): Free them.
+ (fwprop, fwprop_addr): Adjust comments.
+ * df.h (df_uses_create): Declare.
+ * df-scan.c (df_install_ref_incremental): Break out of df_ref_create.
+ (df_ref_create): Return result of df_ref_create_structure directly.
+ (df_ref_create_structure): Call df_install_ref_incremental when
+ no collection_rec is passed.
+ (df_ref_record): Do not create multiword hard reg info when no
+ collection_rec is passed.
+ (df_uses_create): New.
+
+2010-11-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/43057
+ * fold-const.c (pedantic_non_lvalue_loc): Unshare x before
+ setting location.
+
+2010-11-22 Richard Guenther <rguenther@suse.de>
+
+ * gimple-fold.c (maybe_fold_reference): When canonicalizing
+ MEM_REFs, preserve volatileness.
+ * cgraphbuild.c (mark_address): Properly check for FUNCTION_DECL
+ addresses.
+
+2010-11-22 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (get_base_constructor): Remove superfluous breaks.
+
+2010-11-22 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/45652
+ * alias.c (get_reg_base_value): New.
+ * rtl.h (get_reg_base_value): Add prototype.
+ * sel-sched.c (init_regs_for_mode): Use it. Don't use registers with
+ non-null REG_BASE_VALUE for renaming.
+
+2010-11-22 Jeremie Salvucci <jeremie.salvucci@free.fr>
+ Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.c: Include xregex.h and obstack.h
+ Added comments about role of get_output_file_with_visibility and
+ our regexpr machinery.
+ (frul_actionrout_t, struct file_rule_st): New.
+ (hader_dot_h_frul, source_dot_c_frul): New functions.
+ (NULL_REGEX, NULL_FRULACT): New.
+ (files_rules): New.
+ (matching_file_name_substitute): New function.
+ (get_output_file_with_visibility): Updated comments and rewritten
+ to use the new files_rules machinery.
+
+ * Makefile.in (XREGEX_H): Added variable.
+ (build/gengtype.o): Added dependencies for xregex.h and obstack.h
+
+2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * system.h (FUNCTION_ARG_BOUNDARY): Really poison.
+
+2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * target.def (conditional_register_usage): Define.
+ * reginfo.c (init_reg_sets_1): Call
+ targetm.conditional_register_usage.
+ * system.h (CONDITIONAL_REGISTER_USAGE): Poison.
+ * doc/tm.texi.in (CONDITIONAL_REGISTER_USAGE): Adjust language
+ for making it a hook.
+ * doc/tm.texi: Regenerate.
+ * config/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/alpha/alpha.c (alpha_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/arc/arc.c (arc_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/arm/arm.c (arm_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/bfin/bfin.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/bfin/bfin-protos.h (conditional_register_usage): Delete.
+ * config/bfin/bfin.c (conditional_register_usage): Move code into...
+ (bfin_conditional_register_usage): ...here. New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/cris/cris.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/cris/cris-protos.h (cris_conditional_register_usage): Delete.
+ * config/cris/cris.c (cris_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/fr30/fr30.h (FIXED_REGISTERS): Adjust comment.
+ * config/frv/frv.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/frv/frv-protos.h (frv_conditional_register_usage): Delete.
+ * config/frv/frv.c (frv_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/h8300/h8300.c (h8300_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/i386/i386-protos.h (ix86_conditional_register_usage): Delete.
+ * config/i386/i386.c (ix86_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/m32c/m32c.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Delete.
+ * config/m32c/m32c.c (m32c_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/m32r/m32r.c (m32r_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/m68hc11/m68hc11.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/m68hc11/m68hc11-protos.h (m68hc11_conditional_register_usage):
+ Delete.
+ * config/m68hc11/m68hc11.c (m68hc11_conditional_register_usage): Make
+ static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/mep/mep.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/mep/mep-protos.h (mep_conditional_register_usage): Delete.
+ * config/mep/mep.c (mep_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/mips/mips-protos.h (mips_conditional_register_usage): Delete.
+ * config/mips/mips.c (mips_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/mmix/mmix.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/mmix/mmix-protos.h (mmix_conditional_register_usage): Delete.
+ * config/mmix/mmix.c (mmix_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/mn10300/mn10300.c (mn10300_conditional_register_usage):
+ ...here. New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): ...with this...
+ * config/pa/pa.c (pa_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/pdp11/pdp11.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/pdp11/pdp11.c (pdp11_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/rs6000/rs6000-protos.h (rs6000_conditional_register_usage):
+ Delete.
+ * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
+ static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/rx/rx.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/rx/rx-protos.h (rx_conditional_register_usage): Delete.
+ * config/rx/rx.c (rx_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/s390/s390-protos.h (s390_conditional_register_usage): Delete.
+ * config/s390/s390.c (s390_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/score/score.c (score_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/sh/sh.c (sh_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/sparc/sparc.c (sparc_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/spu/spu.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/spu/spu-protos.h (spu_conditional_register_usage): Delete.
+ * config/spu/spu.c (spu_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/v850/v850.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/v850/v850.c (v850_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+
+2010-11-21 Jan Hubicka <jh@suse.cz>
+ Dominique d'Humieres <dominiq@lps.ens.ft>
+
+ PR target/46510
+ * tree-emutls.c (get_emutls_init_templ_addr, new_emutls_decl): Do not
+ finalize external decls.
+
+2010-11-21 Joseph Myers <joseph@codesourcery.com>
+
+ * system.h (strerror): Poison.
+
+2010-11-21 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_expand_builtin): Use the correct mode
+ for infq/huge_valq.
+
+2010-11-21 Richard Henderson <rth@redhat.com>
+
+ PR rtl-optimization/46571
+ * gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn.
+ (compute_hash_table_work): Use NONDEBUG_INSN_P.
+
+2010-11-21 Paul Koning <ni1d@arrl.net>
+
+ * config/mips/pdp11.md (negsi2): Fix wrong code.
+
+2010-11-21 Paul Koning <ni1d@arrl.net>
+
+ * config/mips/pdp11.c (pdp11_legitimate_address_p): New function.
+ * config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
+
+2010-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/mips/mips.c (machine_function): Rename load_label_length to
+ load_label_num_insns.
+ (mips_load_label_length): Rename to...
+ (mips_load_label_num_insns): ...this. Adjust to first renaming.
+ (mips_adjust_insn_length): Adjust to second renaming. Fix thinko.
+
+2010-11-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46533
+ * config/alpha/predicates.md (direct_call_operand): Return false
+ for !TARGET_SMALL_TEXT targets.
+
+2010-11-20 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
+ HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
+ (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to HANDLE_SYSV_PRAGMA.
+ * doc/tm.texi: Regenerate.
+ * system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
+ HANDLE_PRAGMA_WEAK): Poison.
+ * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_WEAK): Don't undefine.
+ * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/interix.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_WEAK): Don't undefine.
+ * config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_PACK): Don't undefine.
+ * config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine.
+ * config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+
+2010-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/31100
+ * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to...
+ * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here.
+ * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine.
+
+2010-11-20 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (ld_plugin_symbol_resolution_names): New.
+ (dump_cgraph_node): Dump resolution.
+ * cgraph.h (ld_plugin_symbol_resolution_names): Declare.
+ (cgraph_comdat_can_be_unshared_p): Dclare.
+ * lto-streamer-out.c (produce_symtab): Use
+ cgraph_comdat_can_be_unshared_p.
+ * ipa.c (cgraph_address_taken_from_non_vtable_p): New function.
+ (cgraph_comdat_can_be_unshared_p): New function based on logic
+ in cgraph_externally_visible_p.
+ (cgraph_externally_visible_p): Use it.
+ (varpool_externally_visible_p): Virtual tables can be unshared.
+ * varpool.c (dump_varpool_node): Dump resolution.
+
+2010-11-20 Jan Hubicka <jh@suse.cz>
+
+ * stmt.c (lshift_cheap_p): Support properly optimize_insn_for_speed_p.
+
+2010-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR other/46202
+ * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New variables.
+ (AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
+ shell quoting.
+ (STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
+ (install-strip): New target.
+ (STRIPPROG): New variable, exported if STRIP is set.
+ * doc/install.texi (Final install): Minor markup and code style
+ fixes. Document install-strip target.
+
+2010-11-20 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset,
+ pdp11_regno_reg_class): New functions.
+ * config/pdp11/pdp11.md (define_constants): Add register numbers.
+ * config/pdp11/pdp11.c (pdp11_regno_reg_class,
+ pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New
+ functions.
+ * config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add
+ frame pointer and argument pointer pseudo-registers.
+ (ARG_POINTER_REGNUM): Define.
+ (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and
+ argument pointer.
+ (FIRST_PARM_OFFSET): Update for argument pointer.
+ (INITIAL_FRAME_POINTER_OFFSET): Delete.
+ (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros.
+ (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add
+ frame pointer and argument pointer.
+
+2010-11-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46561
+ * tree-parloops.c (try_create_redunction_list): Ignore debug stmts
+ when looking for immediate uses.
+
+ PR tree-optimization/45830
+ * stmt.c (expand_switch_using_bit_tests_p): New function.
+ (expand_case): Use it.
+ * tree.h (expand_switch_using_bit_tests_p): New prototype.
+ * tree-switch-conversion.c (struct switch_conv_info): Add
+ bit_test_uniq, bit_test_count and bit_test_bb fields.
+ (check_range): Fix a comment.
+ (check_process_case): Compute bit_test_uniq and bit_test_count.
+ (create_temp_arrays): Use XCNEWVEC, merge 3 arrays into one
+ allocation.
+ (free_temp_arrays): Use XDELETEVEC, adjust for the 3 arrays merging.
+ (constructor_contains_same_values_p): Use FOR_EACH_VEC_ELT.
+ (array_value_type): New function.
+ (build_one_array): Use it, if it returned different type,
+ fold_convert all constructor fields and convert back to the
+ wider type in the generated code.
+ (process_switch): Initialize bit_test_uniq, bit_test_count and
+ bit_test_bb fields. Don't optimize if expand_switch_using_bit_tests_p
+ returned true.
+
+2010-11-19 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/46077
+ * tree-chrec.c (eq_evolutions_p): Accept some expressions.
+
+2010-11-19 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+ * config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New
+ function.
+ (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2010-11-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * mode-switching.c (optimize_mode_switching): Use
+ FOR_BB_INSNS instead of open-coded loop.
+ * cfgrtl.c (redirect_branch_edge): Ditto.
+
+2010-11-19 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/46436
+ * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count
+ to accomodate 32 bit HOST_WIDE_INT.
+ (m68hc11_emit_logical): Remove unused variable insn.
+ (m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and
+ this_insn_uses_iy before use.
+
+ PR target/46434
+ * config/crx/crx.c (crx_expand_epilogue): Remove unused variable.
+
+2010-11-19 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/46547
+ * c-tree.h (in_late_binary_op): Move to c-family/c-common.h.
+ * c-typeck.c (in_late_binary_op): Move to c-family/c-common.c.
+
+2010-11-19 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * doc/extend.texi (Function attributes): Document PowerPC target
+ attributes that are supported.
+ (Pragmas): Document that PowerPC now supports target pragmas.
+
+ * doc/options.texi (TargetVariable): Document TargetVariable,
+ HeaderInclude, and SourceInclude.
+
+ * doc/invoke.texi (-mfused-madd): Document that -mfused-madd is
+ mapped to -ffp-contract=fast, and -mno-fused-madd is mapped to
+ -ffp-contract=off.
+
+ * optc-gen.awk: Add support for TargetVariable, HeaderInclude, and
+ SourceInclude directives. Fix a cut+paste error with target save
+ enum variables. Sort enums in the structures after ints and
+ before shorts.
+ * opth-gen.awk: Ditto.
+
+ * configure.ac: Add support for HeaderInclude and SourceInclude option
+ directives to add the appropriate files to the dependency lists.
+ * configure: Regenerate.
+ * Makefile.in (OPTIONS_H_EXTRA): New variable for HeaderInclude.
+ (OPTIONS_C_EXTRA): New variable for SourceInclude.
+ (OPTIONS_H): Add $(OPTIONS_H_EXTRA).
+ (options.o): Add $(OPTIONS_C_EXTRA) dependency.
+ (gcc-options.o): Ditto.
+ * opt-include.awk: New awk script to handle HeaderInclude and
+ TargetInclude.
+
+ * config/rs6000/aix.opt (-mxl-compat): Mark option as Save so it
+ gets saved in the target options.
+ * config/rs6000/linux64.opt (-mprofile-kernel): Ditto.
+ * config/rs6000/sysv4.opt (-mbit-align): Ditto.
+ (-mprototype): Ditto.
+ (-mbit-word): ditto.
+ (-mregnames): Ditto.
+ (-msecure-plt): Ditto.
+ (-mbss-plt): Ditto.
+ * config/rs6000/rs6000.opt (-mpowerpc-gpopt): Ditto.
+ (-mpowerpc-gfxopt): Ditto.
+ (-mmfcrf): Ditto.
+ (-mpopcntb): Ditto.
+ (-mfprnd): Ditto.
+ (-mcmpb): Ditto.
+ (-mmmfpgpr): Ditto.
+ (-maltivec): Ditto.
+ (-mhard-dfp): Ditto.
+ (-mmulhw): Ditto.
+ (-mdlmzb): Ditto.
+ (-mmultiple): Ditto.
+ (-mstring): Ditto.
+ (-mpopcntd): Ditto.
+ (-mfriz): Ditto.
+ (-mvsx): Ditto.
+ (-mno-update): Ditto.
+ (-mavoid-indexed-addresses): Ditto.
+ (-mtls-markers): Ditto.
+ (-msched-epilog): Ditto.
+ (-msched-prolog): Ditto.
+ (-maix-struct-return): Ditto.
+ (-msvr4-struct-return): Ditto.
+ (-mxl-compat): Ditto.
+ (-mrecip-precision): Ditto.
+ (-mfp-in-toc): Ditto.
+ (-msum-in-toc): Ditto.
+ (-mvrsave): Ditto.
+ (-mblock-move-inline-limit=): Ditto.
+ (-misel): Ditto.
+ (-mpaired): Ditto.
+ (-mlongcall): Ditto.
+ (-mgen-cell-microcode): Ditto.
+ (-mwarn-cell-microcode): Ditto.
+ (-mwarn-altivec-long): Ditto.
+ (-mprioritize-restricted-insns=): Ditto.
+ (-msingle-float): Ditto.
+ (-mdouble-float): Ditto.
+ (-msimple-fpu): Ditto.
+ (-mxilinx-fpu): Ditto.
+ * config/rs6000/aix64.opt (-mpe): Ditto.
+
+ * config/rs6000/rs6000.opt (HeaderInclude): Include rs6000-opts.h.
+ (rs6000_cpu): Move variable to be a target variable. Rename
+ cmodel to rs6000_current_cmodel because of macro conflict. Merge
+ -mdebug=<xxx> variables into a single int.
+ (rs6000_always_hint): Ditto.
+ (rs6000_sched_groups): Ditto.
+ (rs6000_align_branch_targets): Ditto.
+ (rs6000_sched_costly_dep): Ditto.
+ (rs6000_sched_insert_nops): Ditto.
+ (rs6000_long_double_type_size): Ditto.
+ (rs6000_ieeequad): Ditto.
+ (rs6000_altivec_abi): Ditto.
+ (rs6000_spe): Ditto.
+ (rs6000_spe_abi): Ditto.
+ (rs6000_float_gprs): Ditto.
+ (rs6000_darwin64_abi): Ditto.
+ (can_override_loop_align): Ditto.
+ (rs6000_sdata): Ditto.
+ (rs6000_tls_size): Ditto.
+ (rs6000_current_abi): Ditto.
+ (rs6000_traceback): Ditto.
+ (rs6000_alignment_flags): Ditto.
+ (rs6000_current_cmodel): Ditto.
+ (rs6000_recip_control): Ditto.
+ (rs6000_cpu_index): Ditto.
+ (rs6000_tune_index): Ditto.
+ (rs6000_debug): Ditto.
+ (rs6000_target_flags_explict): Ditto.
+
+ * config/rs6000/rs6000-protos.h (rs6000_pragma_target_parse): Add
+ declaration.
+
+ * config/rs6000/linux64.h (rs6000_current_cmode): Rename from
+ cmodel. Change all uses.
+
+ * config/rs6000/rs6000.c (rs6000_always_hint): Move to
+ rs6000.opt. Combine -mdebug=<xxx> variables into a single int.
+ Rename cmodel to rs6000_current_cmodel.
+ (rs6000_sched_groups): Ditto.
+ (rs6000_align_branch_targets): Ditto.
+ (rs6000_sched_costly_dep): Ditto.
+ (rs6000_sched_insert_nops): Ditto.
+ (rs6000_long_double_type_size): Ditto.
+ (rs6000_ieeequad): Ditto.
+ (rs6000_altivec_abi): Ditto.
+ (rs6000_spe): Ditto.
+ (rs6000_spe_abi): Ditto.
+ (rs6000_float_gprs): Ditto.
+ (rs6000_darwin64_abi): Ditto.
+ (can_override_loop_align): Ditto.
+ (rs6000_sdata): Ditto.
+ (rs6000_tls_size): Ditto.
+ (rs6000_current_abi): Ditto.
+ (rs6000_traceback): Ditto.
+ (rs6000_alignment_flags): Ditto.
+ (rs6000_current_cmodel): Ditto.
+ (rs6000_recip_control): Ditto.
+ (rs6000_cpu_index): Ditto.
+ (rs6000_tune_index): Ditto.
+ (rs6000_debug): Ditto.
+ (rs6000_target_flags_explict): Ditto.
+ (rs6000_sched_insert_nops_str): Make static.
+ (rs6000_sched_costly_dep_str): Ditto.
+ (rs6000_recip_name): Ditto.
+ (rs6000_abi_name): Ditto.
+ (rs6000_sdata_name): Ditto.
+ (enum rs6000_traceback_name): Move to rs6000-opts.h.
+ (rs6000_parse_tls_size_option): Delete.
+ (rs6000_valid_attribute_p): New function for target attributes and
+ pragmas.
+ (rs6000_function_specific_save): Ditto.
+ (rs6000_function_specific_restore): Ditto.
+ (rs6000_function_specific_print): Ditto.
+ (rs6000_can_inline_p): Ditto.
+ (rs6000_set_current_function): Ditto.
+ (rs6000_inner_target_options): Ditto.
+ (rs6000_debug_target_options): Ditto.
+ (rs6000_pragma_target_parse): Ditto.
+ (TARGET_OPTION_VALID_ATTRIBUTE_P): Define target hooks for target
+ attributes and pragmas.
+ (TARGET_OPTION_SAVE): Ditto.
+ (TARGET_OPTION_RESTORE): Ditto.
+ (TARGET_OPTION_PRINT): Ditto.
+ (TARGET_CAN_INLINE_P): Ditto.
+ (TARGET_SET_CURRENT_FUNCTION): Ditto.
+ (POWER_MASKS): Move to file level scope from the
+ rs6000_option_override_internal function.
+ (POWERPC_MASKS): Ditto.
+ (ISA_*_MASKS): Ditto.
+ (struct rs6000_ptt): Ditto.
+ (processor_target_table): Ditto.
+ (rs6000_cpu_name_lookup): Map cpu name to an index in
+ processor_target_table.
+ (rs6000_debug_reg_global): Print more information on processor
+ options for -mdebug=reg.
+ (rs6000_init_hard_regno_mode_ok): Add support for target
+ attributes and pragmas. Merge all -mdebug=<xxx> fields into one.
+ Allow -mdebug=val1,val2. Rename cmodel variable.
+ (rs6000_option_override_internal): Ditto.
+ (rs6000_option_override): Ditto.
+ (rs6000_handle_option): Ditto.
+ (rs6000_conditional_register_usage): Add debug trace message.
+ (struct rs6000_opt_mask): New for target attribute/pragma support.
+ (rs6000_opt_masks): Ditto.
+ (struct rs6000_opt_var): Ditto.
+ (rs6000_opt_vars): Ditto.
+ (rs6000_previous_function): Ditto.
+
+ * config/rs6000/rs6000.h (top level): Include rs6000-opts.h if it
+ wasn't already included.
+ (enum rs6000_cmodel): Move to rs6000-opts.h or rs6000.opt.
+ (enum processor_type): Ditto.
+ (rs6000_cpu): Ditto.
+ (enum fpu_type_t): Ditto.
+ (fpu_type): Ditto.
+ (enum rs6000_dependence_cost): Ditto.
+ (enum rs6000_nop_insertion): Ditto.
+ (enum group_termination): Ditto.
+ (rs6000_long_double_type_size): Ditto.
+ (rs6000_ieeequad): Ditto.
+ (rs6000_altivec_abi): Ditto.
+ (rs6000_spe_abi): Ditto.
+ (rs6000_spe): Ditto.
+ (rs6000_float_gprs): Ditto.
+ (rs6000_alignment_flags): Ditto.
+ (rs6000_sched_insert_nops): Ditto.
+ (enum rs6000_vector): Ditto.
+ (enum rs6000_abi): Ditto.
+ (rs6000_current_opt): Ditto.
+ (rs6000_debug_*): Delete.
+ (MASK_DEBUG*): Combine -mdebug=xxxx into one int.
+ (TARGET_DEBUG*): Ditto.
+
+ * config/rs6000/rs6000-opts.h: New header file to define the enums
+ that are used in target variables that are now defined in rs6000.opt.
+
+ * config/rs6000/sysv4.h (enum rs6000_sdata_type): Move to
+ rs6000-opts.h.
+ (rs6000_sdata): Ditto.
+ (rs6000_abi_name): Delete.
+ (rs6000_sdata_name): Ditto.
+ (rs6000_tls_size_string): Ditto.
+
+2010-11-19 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (debug_struct_ordinary, debug_struct_generic): New
+ Variable entries.
+ * dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
+ should_emit_struct_debug): Move from opts.c.
+ * flag-types.h (enum debug_struct_file): Move from opts.c.
+ * flags.h (should_emit_struct_debug): Remove.
+ (base_of_path): Declare.
+ (set_struct_debug_option): Add gcc_options parameter.
+ * optc-gen.awk, opth-gen.awk: Handle array variables.
+ * opts.c (enum debug_struct_file, debug_struct_ordinary,
+ debug_struct_generic): Remove.
+ (set_struct_debug_option): Add gcc_options parameter.
+ (base_of_path): Remove static.
+ (main_input_basename, main_input_baselength, matches_main_base,
+ dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
+ Remove.
+ * toplev.c (main_input_basename, main_input_baselength): Define
+ here.
+ * toplev.h (main_input_basename, main_input_baselength): Declare
+ here.
+
+2010-11-19 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (flag_instrument_functions_exclude_functions,
+ flag_instrument_functions_exclude_files): New Variable definitions.
+ * flags.h (flag_instrument_functions_exclude_p): Don't declare.
+ * gimplify.c (char_p): Declare type and vectors.
+ (flag_instrument_functions_exclude_p): Moved from opts.c. Make static.
+ * opts.c (flag_instrument_functions_exclude_functions,
+ flag_instrument_functions_exclude_files): Remove.
+ (add_comma_separated_to_vector): Take void **.
+ (flag_instrument_functions_exclude_p): Move to gimplify.c.
+ (common_handle_option): Use options structure for
+ -finstrument-functions-exclude- options.
+
+2010-11-19 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/options.texi (Var): Document effects of Defer.
+ (Defer): Document.
+ * opt-functions.awk (var_type, var_set): Handle deferred options.
+ * opts-common.c (set_option): Handle CLVC_DEFER.
+ * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
+ fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
+ fstack-limit-symbol=): Mark as deferred.
+ * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
+ plugin.h.
+ (print_filtered_help): Don't report state of CLVC_DEFER options.
+ (common_handle_option): Move code for OPT_fcall_used_,
+ OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
+ OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
+ OPT_fstack_limit_symbol_ to opts-global.c.
+ (option_enabled, get_option_state): Handle CLVC_DEFER.
+ * opts.h: Include vec.h.
+ (enum cl_var_type): Add CLVC_DEFER.
+ (cl_deferred_option): Define type and vectors.
+ (handle_common_deferred_options): Declare.
+ * opts-global.c: New.
+ * toplev.c (toplev_main): Call handle_common_deferred_options
+ * Makefile.in (OPTS_H): Include $(VEC_H).
+ (OBJS-common): Include opts-global.o.
+ (opts.o): Update dependencies.
+ (opts-global.o): Add dependencies.
+
+2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_protocol_definition): Pass attributes
+ to objc_declare_protocols.
+
+2010-11-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/45789
+ * lto-streamer-out.c (lto_output_ts_common_tree_pointers): For
+ IDENTIFIERs do not stream TREE_TYPE.
+ * lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise.
+
+2010-11-19 Christian Borntraeger <borntraeger@de.ibm.com>
+
+ * config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
+
+2010-11-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/45870
+ * dwarf2out.c (const_ok_for_output_1): Don't complain about
+ non-delegitimized TLS UNSPECs.
+
+2010-11-18 Jack Howarth <howarth@bromo.med.uc.edu>
+ Ian Lance Taylor <iant@google.com>
+
+ * config/darwin-c.c (darwin_additional_format_types): Export.
+
+2010-11-18 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame
+ pointer.
+
+2010-11-18 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
+ * config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto.
+ * config/pdp11/pdp11.opt (-mabshi): Delete.
+
+2010-11-19 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * resource.h (struct resources): Fix typo in the comment.
+
+2010-11-19 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46546
+ * config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn.
+
+2010-11-18 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/46515
+ * function.c (maybe_copy_prologue_epilogue_insn): Rename from
+ maybe_copy_epilogue_insn; handle prologue insns as well.
+ * rtl.h, cfglayout.c: Update for rename.
+ * recog.c (peep2_attempt): Copy prologue/epilogue data for
+ RTX_FRAME_RELATED_P insns.
+
+2010-11-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/46534
+ * builtins.c (fold_builtin_printf): Don't copy and modify string
+ before build_string_literal, instead modify what
+ build_string_literal returned.
+
+2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR c/33193
+ * c-typeck.c (build_unary_op): Call build_real_imag_expr for
+ REALPART_EXPR and IMAGPART_EXPR.
+
+2010-11-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46172
+ * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): New
+ function.
+ (slpeel_tree_peel_loop_to_edge): Call it.
+
+2010-11-18 Jeff Law <law@redhat.com>
+
+ PR middle-end-optimization/46297
+ * postreload.c (reload_combine_note_store): Deal with embedded
+ side effects in MEM expressions.
+
+2010-11-18 Richard Guenther <rguenther@suse.de>
+
+ PR lto/45089
+ * dwarf2out.c (add_AT_die_ref): Work around LTO losing types
+ when checking is not enabled.
+
+2010-11-18 Richard Guenther <rguenther@suse.de>
+
+ PR lto/46525
+ * gimple.c (gimple_register_type): Update TYPE_MAIN_VARIANT of
+ type leaders.
+ (gimple_register_canonical_type): Also cache the canoncial type
+ for non type leaders.
+
+2010-11-18 Richard Guenther <rguenther@suse.de>
+
+ * lto-wrapper.c (run_gcc): Fix -flto=N parsing.
+
+2010-11-18 Alexander Monakov <amonakov@ispras.ru>
+
+ PR middle-end/46518
+ * sel-sched-ir.c (init_expr): Use the correct type for
+ target_available.
+ * sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
+
+2010-11-17 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
+
+ * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
+ as well as -mrelocatable at the same time.
+
+2010-11-17 Quentin Neill <quentin.neill.gnu@gmail.com>
+
+ PR target/46422
+ * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
+ Call the clz builtin.
+
+2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
+ Steve Ellcey <sje@cup.hp.com>
+
+ PR middle-end/31490
+ * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
+ if section attribute used.
+
+2010-11-17 Jan Hubicka <jh@suse.cz>
+
+ * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
+ expand errno setting variant when optimizing for size.
+
+2010-11-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * postreload.c (reload_combine): Call control_flow_insn_p only once.
+ Reverse backward loop. Fix formatting issues.
+
+2010-11-17 Paolo Bonzini <bonzini@gnu.org>
+
+ * c-parser.c (c_token_is_qualifier,
+ c_parser_next_token_is_qualifier): New.
+ (c_parser_declaration_or_fndef, c_parser_struct_declaration):
+ Improve error message on specs->tagdef_seen_p.
+ (c_parser_struct_or_union_specifier): Improve error recovery.
+ (c_parser_declspecs): Move exit condition on C_ID_ID early.
+ Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
+ using c_parser_next_token_is_qualifier; extend it to cover
+ a ctsk_tagdef typespec and !typespec_ok in general.
+
+2010-11-17 Richard Guenther <rguenther@suse.de>
+
+ * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
+ (gimple_mod_pow2_value_transform): Likewise.
+ (gimple_mod_subtract_transform): Likewise.
+
+2010-11-17 Richard Guenther <rguenther@suse.de>
+
+ PR lto/46504
+ * gimple.c (gimple_register_canonical_type): Make sure to only
+ make type leaders canonical types.
+
+2010-11-17 Michael Matz <matz@suse.de>
+
+ * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
+ TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
+ TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
+ TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
+ * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
+ (pass_build_ssa): ... but here.
+ * cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
+ * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
+ * tree-emutls.c (pass_ipa_lower_emutls): Ditto.
+ * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
+ * predict.c (rebuild_frequencies): Ditto.
+ * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
+ * emit-rtl.c (verify_rtl_sharing): Ditto.
+ * tree-cfgcleanup.c (repair_loop_structures): Ditto.
+ * tree-ssa-live.c (remove_unused_locals): Ditto.
+ * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
+ * tree-ssa.c (pass_early_warn_uninitialized,
+ execute_update_addresses_taken, pass_update_address_taken): Ditto.
+ * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
+ pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
+ * passes.c (pass_postreload, execute_todo): Ditto.
+ * tree-ssanames.c (pass_release_ssa_names): Ditto.
+
+2010-11-17 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/invoke.texi (-dy): Remove.
+ * langhooks-def.h (lhd_do_nothing_i): Don't declare.
+ (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
+ * langhooks.c (lhd_do_nothing_i): Remove.
+ * langhooks.h (lang_hooks.parse_file): Take no arguments.
+ * toplev.c (set_yydebug): Remove.
+ (compile_file): Update call to lang_hooks.parse_file.
+ (decode_d_option): Don't handle -dy.
+
+2010-11-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/46440
+ * combine.c (update_cfg_for_uncondjump): When changing
+ an indirect jump into unconditional jump, remove BARRIERs
+ from bb's footer.
+
+2010-11-17 Joseph Myers <joseph@codesourcery.com>
+
+ * opts.c (target_handle_option): Do not assert that loc ==
+ UNKNOWN_LOCATION.
+
+2010-11-17 Jakub Jelinek <jakub@redhat.com>
+ Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45838
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
+ call_may_clobber_ref_p_1): Return true for __sync_* and some
+ OpenMP builtins that act as threading barriers.
+
+2010-11-17 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46498
+ * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
+
+2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
+ (xtensa_function_arg_boundary): ...this.
+ * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
+ thinko in declaration.
+ (picochip_function_arg, picochip_arg_partial_bytes): Pass proper
+ number of parameters to picochip_function_arg_boundary.
+ (picochip_arg_advance): Likewise.
+
+2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR target/46512
+ * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
+ under check for type.
+
+2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ifcvt.c (dead_or_predicable): Fix typo.
+
+2010-11-16 Richard Henderson <rth@redhat.com>
+
+ * config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
+ * config/s390/s390.opt (mfused-madd): Remove.
+ * config/s390/s390.c (s390_rtx_costs): Handle FMA.
+ (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
+ * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
+ (fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
+
+2010-11-16 Richard Henderson <rth@redhat.com>
+
+ * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
+ * config/rs6000/rs6000.opt (mfused-madd): Remove.
+ * config/rs6000/altivec.md (altivec_vmaddfp): Remove.
+ (*altivec_vmaddfp_1): Remove.
+ (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
+ (altivec_mulv4sf3): Expand to FMA directly.
+ (*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
+ (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
+ * config/rs6000/paired.md (paired_madds0): Use FMA.
+ (paired_madds1): Likewise.
+ (*paired_madd): Rename from paired_madd; use FMA.
+ (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
+ * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
+ consider TARGET_FUSED_MADD wrt rs6000_recip_control.
+ (bdesc_3arg): Update CODE_FOR_* for pattern renames.
+ (rs6000_emit_madd): Use fma_optab.
+ (rs6000_emit_msub): Use fms_optab.
+ (rs6000_emit_nmsub): Expand the FMA pattern directly.
+ * config/rs6000/rs6000.md (FMA_F): New mode iterator.
+ (*fmasf4_fpr): Rename from fmasf4_fpr.
+ (*nfmasf4_fpr): Rename from *fnmasf4_fpr.
+ (*nfmssf4_fpr): Rename from *fnmssf4_fpr.
+ (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
+ (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
+ (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
+ (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
+ (*fmadf4_fpr): Rename from fmadf4_fpr.
+ (*nfmadf4_fpr): Rename from *fnmadf4_fpr.
+ (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
+ (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
+ (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
+ (fmasf4, fmadf4): Macroize into...
+ (fma<FMA_F>4): ... here.
+ (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
+ (nfma<FMA_F>4, nfms<FMA_F>4): New.
+ * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
+ TARGET_FUSED_MADD.
+ * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
+ (*vsx_fmadd<mode>4_1): Remove.
+ (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
+ (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
+ (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
+ (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
+ (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
+ (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
+ (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
+
+2010-11-16 Richard Henderson <rth@redhat.com>
+
+ * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
+ (fmasf4, fnmadf4, fnmasf4): Likewise.
+ (unnamed plus+mult insns and splitters): Delete.
+
+2010-11-16 Richard Henderson <rth@redhat.com>
+
+ * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
+ (fnma<VSF>4): Rename from fnms_<VSF>.
+ (fms<VSF>4): Rename from fms_<VSF>.
+ (fma<VDF>4): Rename from fma_<VDF>.
+ (fms<VDF>4): Rename from fms_<VDF>.
+ (nfma<VDF>4): Rename from fnma_<VDF>.
+ (nfms<VDF>4): Rename from fnms_<VDF>.
+ (fnma<VDF>4, fnms<VDF>4): New expanders.
+ (floatunsdisf2): Update for the renames.
+ (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
+ * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
+
+2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/46490
+ * combine.c (expand_compound_operation): Fix thinko.
+
+2010-11-16 Richard Henderson <rth@redhat.com>
+
+ PR target/46470
+ * recog.c (peep2_attempt): Convert frame-related info when possible.
+ (peep2_fill_buffer): Allow frame-related insns into the buffer.
+ (peephole2_optimize): Allow peep2_attempt to fail.
+
+2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/46315
+ * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
+ * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
+ extracted from...
+ * dce.c (delete_corresponding_reg_eq_notes): ...here. Rename into...
+ (remove_reg_equal_equiv_notes_for_defs): ...this.
+ (delete_unmarked_insns): Adjust to above renaming.
+ * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
+ referring to registers set in the insns being moved, if any.
+
+ * df-core.c (df_ref_dump): New function extracted from...
+ (df_refs_chain_dump): ...here. Call it.
+ (df_regs_chain_dump): Likewise.
+ * df-problems.c (df_chain_dump): Print 'e' for uses in notes.
+ * df-scan.c (df_scan_start_dump): Likewise. Fix long line.
+
+2010-11-16 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR rtl-optimization/46395
+ * postreload.c (reload_combine): Invalidate register use
+ information on all control flow insns.
+
+ * config/m68k/m68k.c (m68k_delegitimize_address): Also expect
+ LABEL_REF in UNSPEC operand.
+
+2010-11-16 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
+ when !flag_toplevel_reorder do not remove unless variable is
+ COMDAT or ARTIFICIAL.
+ * ipa.c (varpool_can_remove_if_no_refs): ... here.
+ (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
+ * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
+ * varpool.c (decide_is_variable_needed): Do not handle visibility
+ issues.
+ (varpool_finalize_decl): Likewise.
+ (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
+ update outdated comment on DECL_RTL_SET_P check.
+
+2010-11-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sol2.h (NM_FLAGS): Define.
+ * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
+ * doc/tm.texi: Update.
+
+2010-11-16 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
+ (msubsf4): Rename to fmssf4, and use fma.
+ (nmaddsf4): Rename to fnmasf4 and use fma.
+ (nmsubsf4): Rename to fnmssf4 and use fma.
+
+2010-11-16 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/44762
+ * config/score/score3.c (score3_return_in_memory): Constify arguments.
+ (score3_in_small_data_p, score3_function_value): Likewise.
+ (score3_trampoline_init): Use LCT_NORMAL.
+ (score3_print_operand): Initialize code as UNKNOWN.
+ * config/score/predicates.md (score_load_multiple_operation):
+ Remove unused variable.
+ (score_store_multiple_operation): Likewise.
+ * config/score/score7.c (score7_return_in_memory): Constify arguments.
+ (score7_in_small_data_p, score7_function_value): Likewise.
+ (score7_trampoline_init): Use LCT_NORMAL.
+ (score7_print_operand): Initialize code as UNKNOWN.
+ * config/score/score3.h (score3_return_in_memory): Update prototype.
+ (score3_in_small_data_p, score3_function_value): Likewise.
+ * config/score/score-protos.h (score_function_value): Likewise.
+ * config/score/score7.h (score7_return_in_memory): Update prototype.
+ (score7_in_small_data_p, score7_function_value): Likewise.
+ * config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
+ (score_return_in_memory, score_pass_by_reference): Constify arguments.
+ (score_output_mi_thunk, score_function_prologue): Don't return a value.
+ (score_function_epilogue, score_in_small_data_p): Likewise.
+ (score_option_override, score_asm_trampoline_template): Likewise.
+ (score_trampoline_init, score_print_operand): Likewise.
+ (score_print_operand_address, score_prologue): Likewise.
+ (score_epilogue, score_call, score_call_value): Likewise.
+ (score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
+ (score_function_arg_advance): Likewise. Make static.
+ (score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
+ (score_function_arg, score_legitimate_address_p): Make static.
+ (score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
+ * config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
+ * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
+ Allow (W) == HOST_BITS_PER_WIDE_INT.
+
+ PR java/46386
+ * config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
+ * config/t-pnt16-warn (java/constants.o-warn): Likewise.
+
+2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/arc/arc.c: Delete pasto.
+ * config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.
+
+2010-11-16 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
+ PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
+ * config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
+ TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
+ (mn10300_preferred_reload_class,
+ mn10300_preferred_output_reload_class): New functions.
+
+2010-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
+ (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
+ (mnemonic_htab_callback, gen_mnemonic_attr): New functions.
+ (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
+
+2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ * builtins.c (std_gimplify_va_arg_expr): Use
+ targetm.calls.function_arg_boundary.
+ * function.c (assign_parms, locate_and_pad_parm): Likewise.
+ * calls.c (struct arg_data): Update comment.
+ * defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * target.def (function_arg_boundary): Define.
+ * targhooks.h (default_function_arg_boundary): Declare.
+ * targhooks.c (default_function_arg_boundary): Define.
+ * doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
+ TARGET_FUNCTION_ARG_BOUNDARY.
+ (FUNCTION_ARG_BOUNDARY): Delete.
+ (TARGET_FUNCTION_ARG_BOUNDARY): New.
+ * doc/tm.texi: Regenerate.
+ * system.h (FUNCTION_ARG_BOUNDARY): Poison.
+ * config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/arc/arc.c (arc_function_arg_boundary): Define.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
+ * config/arm/arm.c (arm_needs_doubleword_align): Make static.
+ (arm_function_arg_boundary): Define.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
+ * config/frv/frv.c (frv_function_arg_boundary): Make static.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
+ * config/i386/i386.c (ix86_function_arg_boundary): Make static.
+ (ix86_compat_function_arg_boundary): Take and return unsigned int.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
+ * config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/m32c/m32c.c (m32c_function_arg_boundary): Define.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/mcore/mcore.c (mcore_function_arg_boundary): Define.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
+ * config/mips/mips.c (mips_function_arg_boundary): Make static.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/pa/pa.c (pa_function_arg_boundary): Define.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/picochip/picochip-protos.h
+ (picochip_get_function_arg_boundary): Delete.
+ * config/picochip/picochip.c (picochip_get_function_arg_boundary):
+ Rename to...
+ (picochip_function_arg_boundary): ...this. Make static.
+ (picochip_function_arg, picochip_arg_partial_bytes): Adjust.
+ (picochip_arg_advance): Adjust.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
+ * config/rs6000/rs6000.c (function_arg_boundary): Rename to...
+ (rs6000_function_arg_boundary): ...this. Make static.
+ (rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/rx/rx.c (rx_function_arg_boundary): Define.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/sparc/sparc.c (sparc_function_arg_boundary): Define.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+ * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
+ * config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
+ * config/xtensa/xtensa.c (function_arg_boundary): Rename to...
+ (xtensa_function_arg_boundary): ...this. Make static.
+ (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+
+2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ * expr.c (alignment_for_piecewise_move): New function.
+ (widest_int_mode_for_size): New function.
+ (move_by_pieces, move_by_pieces_ninsns): Call them.
+ (can_store_by_pieces, store_by_pieces_1): Likewise.
+
+2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc.c (char_p): Define. Define a VEC of it.
+ (n_linker_options, n_assembler_options, n_preprocessor_options):
+ Delete.
+ (linker_options, assembler_options, preprocessor_options): Convert
+ to a VEC.
+ (add_preprocessor_option): Adjust.
+ (add_assembler_option): Adjust.
+ (add_linker_option): Adjust.
+ (do_specs_vec): New function.
+ (do_spec_1): Call it. Adjust for new types.
+
+2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
+ (sreal.o, statistics.o, stringpool.o): Likewise.
+
+2010-11-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44545
+ * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
+ statements are not reassociatable.
+ (reassociate_bb): Likewise.
+
+2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ * bitmap.c: Delete unnecessary includes.
+ * ebitmap.c: Likewise.
+ * et-forest.c: Likewise.
+ * sreal.c: Likewise.
+ * statistics.c: Likewise.
+ * stringpool.c: Likewise.
+ * double-int.c: Add comment for inclusion of tm.h.
+
+2010-11-16 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (visit_unary_op): Rename to ...
+ (visit_nary_op): ... this.
+ (visit_binary_op): Remove.
+ (visit_use): Adjust and handle GIMPLE_TERNARY_RHS.
+
+2010-11-16 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45172
+ * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
+
+2010-11-16 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the
+ record is packed.
+
+2010-11-15 Richard Henderson <rth@redhat.com>
+
+ * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
+ WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
+ DOT_PROD_EXPR.
+
+2010-11-15 Richard Henderson <rth@redhat.com>
+
+ * config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename
+ from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively. Use
+ fma rtx_code.
+
+2010-11-15 Richard Henderson <rth@redhat.com>
+
+ * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4
+ and *mulsubsf4 respectively. Use fma rtx_code.
+
+2010-11-15 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c: Include "vec.h".
+ (argbuf): Make into a VEC.
+ (argbuf_length, argbuf_index): Remove.
+ (alloc_args, clear_args, store_arg, execute, insert_wrapper,
+ do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
+ compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
+ * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
+ (gcc.o): Depend on $(VEC_H).
+
+2010-11-15 Richard Henderson <rth@redhat.com>
+
+ * loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation
+ via FMA if unsafe math.
+ (insert_var_expansion_initialization): Handle FMA.
+ (combine_var_copies_in_loop_exit): Likewise.
+
+2010-11-15 Richard Henderson <rth@redhat.com>
+
+ * config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
+ * config/ia64/ia64.opt: Remove mfused-madd.
+ * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
+ * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
+ * config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
+ * config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
+ * config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
+ * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
+ (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
+ (fmav2sf4): Rename from fpma; use FMA code.
+ (fmsv2sf4): Rename from fpms; use FMA code.
+ (fnmav2sf4): Rename from *fpnma; use FMA code.
+ * config/ia64/ia64.md (MODE_SDF): New iterator.
+ (suffix): New mode attribute.
+ (*maddsf4, *msubsf4, *nmaddsf4): Remove.
+ (fmssf4): Rename from *fmssf4.
+ (fnmasf4): Rename from *nfmasf4.
+ (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
+ (*nmadddf4, *nmadddf4_truncsf): Remove.
+ (fmsdf4): Rename from *fmsdf4.
+ (fnmadf4): Rename from *nfmadf4.
+ (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
+ (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
+ (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
+ (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
+ (fmsxf4): Rename from *fmsxf4.
+ (fnmaxf4): Rename from *nfmaxf4.
+ (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
+ (*fnmaxf_trunc_<MODE_SDF>): New.
+
+2010-11-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46461
+ * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
+ a gimple val.
+
+2010-11-15 Ian Lance Taylor <iant@google.com>
+
+ * godump.c: New file.
+ * common.opt (fdump-go-spec=): New option.
+ * tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
+ (TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
+ (TYPE_SYMTAB_IS_DIE): Define.
+ (struct tree_type): Change GTY for symtab field to use
+ TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
+ to pick the union field.
+ * debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
+ (dump_go_spec_init): Declare.
+ * toplev.c (process_options): Handle flag_dump_go_spec.
+ * debug.c: Include "tree.h".
+ (do_nothing_debug_hooks): Set tree_type_symtab_field.
+ * dwarf2out.c (dwarf2_debug_hooks): Likewise.
+ * dbxout.c (dbx_debug_hooks): Likewise.
+ (xcoff_debug_hooks): Likewise.
+ * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+ * sdbout.c (sdb_debug_hooks): Likewise. Do not define if
+ SDB_DEBUGGING_INFO is not defined.
+ * doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
+ (Overall Options): Document -fdump-go-spec.
+ * Makefile.in (OBJS-common): Add godump.o.
+ (debug.o): Add dependency on $(TREE_H).
+ (godump.o): New target.
+ (GTFILES): Add $(srcdir)/godump.c.
+
+2010-11-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46095
+ * config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
+ marking r11 set RTX_FRAME_RELATED_P if offset is too large for
+ style < 0, add REG_FRAME_RELATED_EXPR.
+
+ PR debug/46387
+ * rtl.h (vt_equate_reg_base_value): New prototype.
+ * alias.c (vt_equate_reg_base_value): New function.
+ * var-tracking.c (vt_init_cfa_base): Use it.
+
+2010-11-15 Jan Hubicka <jh@suse.cz>
+ Diego Novillo <dnovillo@google.com>
+
+ PR lto/41528
+ * doc/lto.texi: Add.
+ * doc/gccint.texi: Add reference to lto.texi.
+ * doc/invoke.texi: Update user documentation for LTO.
+ Move internal flags to lto.texi
+
+2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-typeck.c (build_unary_op): Use
+ objc_build_incr_expr_for_property_ref to build the pre/post
+ increment/decrement of an Objective-C property ref, and skip the
+ lvalue_or_else check in that case.
+
+2010-11-15 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/46349
+ * tree-sra.c (contains_bitfld_comp_ref_p): New function.
+ (contains_vce_or_bfcref_p): Likewise.
+ (sra_modify_assign): Use them.
+
+2010-11-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46467
+ * tree-ssa-structalias.c (do_structure_copy): Properly treat
+ variables without subvars.
+
+2010-11-15 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (file header): Picochip name change.
+ * config/picochip/picochip.md (file header): Likewise.
+ * config/picochip/predicates.md (file header): Likewise.
+ * config/picochip/dfa_space.md (file header): Likewise.
+ * config/picochip/dfa_speed.md (file header): Likewise.
+ * config/picochip/picochip.h(file header): Likewise.
+ * config/picochip/constraints.md (file header): Likewise.
+ * config/picochip/picochip-protos.h (file header): Likewise.
+ * config/picochip/libgccExtras/setjmp.asm (file header): Likewise.
+ * config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise.
+ * config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise.
+ * config/picochip/libgccExtras/longjmp.asm (file header): Likewise.
+ * config/picochip/libgccExtras/ashlsi3.c (file header): Likewise.
+ * config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise.
+ * config/picochip/libgccExtras/parityhi2.asm (file header): Likewise.
+ * config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise.
+ * config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise.
+ * config/picochip/libgccExtras/ashrsi3.c (file header): Likewise.
+ * config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise.
+ * config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise.
+ * config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise.
+ * config/picochip/libgccExtras/subdi3.asm (file header): Likewise.
+
+2010-11-15 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/46474
+ * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts.
+
+2010-11-15 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16.c (direct_return): Do not generate a
+ direct return for interrupt handlers.
+
+2010-11-15 Joern Rennecke <amylaar@spamcop.net>
+
+ * Makefile.in (tm.texi): Replace with rule for:
+ ($(srcdir)/doc/tm.texi).
+ (s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
+ $(srcdir)/doc/tm.texi .
+ (TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
+ tm.texi .
+
+ PR target/46427
+ * config/m32r/m32r.c: Remove unused variables frame_size and insn.
+
+ PR bootstrap/45444
+ * config/arm/arm.c (locate_neon_builtin_icode): Initialize key.
+ (arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4.
+
+ PR target/46432
+ * config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
+
+2010-11-15 Richard Guenther <rguenther@suse.de>
+
+ PR lto/44150
+ * lto-opts.c (lto_write_options): Write -fexceptions even if
+ not set by the user.
+
+2010-11-13 Paolo Bonzini <bonzini@gnu.org>
+
+ PR c/46462
+ * c-decl.c (declspecs_add_type): Make variables with error types
+ integers.
+ * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
+ do not start a declaration before an Objective-C foreach.
+ (c_parser_declaration_or_fndef): Improve recovery after unknown
+ type name.
+ (c_parser_for_statement): Hoist entrance of "foreach context"
+ before ifs, add corresponding reset where it was missing. Do
+ not set objc_could_be_foreach_context for C.
+
+2010-11-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/45722
+ * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
+ this is a reference to a component.
+ * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
+ (ipa_note_param_call): Adjust comment.
+
+2010-11-14 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (machine_function): Remove
+ initialized_mips16_gp_pseudo_p.
+ (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
+ detect whether a pseudo has already been created. Unconditionally
+ create a new one if not.
+ (mips_pic_base_register): Only call mips16_gp_pseudo_reg when
+ expanding to rtl. Create a new pseudo otherwise, if allowed.
+
+2010-11-13 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/43440
+ * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
+ * tm.texi: Regenerated.
+ * output.h (decode_reg_name_and_count): Declare.
+ * varasm.c (decode_reg_name_and_count): New function.
+ (decode_reg_name): Reimplement using decode_reg_name_and_count.
+ * reginfo.c (fix_register): Use decode_reg_name_and_count and
+ iterate over all regs used.
+ * stmt.c (expand_asm_operands): Likewise.
+ * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
+ (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
+ multiple machine registers.
+
+2010-11-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stor-layout.c (place_union_field): Do not put location information
+ on offset expressions.
+ (place_field): Likewise.
+ (finalize_record_size): Likewise on size expressions.
+ (finalize_type_size): Likewise.
+ (layout_type): Likewise.
+
+2010-11-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42889
+ * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
+ * df-core.c (df_set_bb_dirty_nonrl): Remove.
+ * df.h (df_set_bb_dirty_nonlr): Likewise.
+
+2010-11-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/mips/mips.md (call_internal): Pass curr_insn to
+ mips_split_call.
+ (call_internal_direct): Ditto.
+ (call_value_internal): Ditto.
+ (call_value_internal_direct): Ditto.
+ (call_value_multiple_internal): Ditto.
+ * config/mips/mips.c (mips_split_call): Do not copy
+ CALL_INSN_FUNCTION_USAGE here.
+
+2010-11-13 Mingming Sun <mingm.sun@gmail.com>
+
+ * doc/invoke.texi (MIPS Options): Add loongson3a processor.
+ * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
+ (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
+ * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
+ (TUNE_LOONGSON_3A): Define.
+ (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
+ (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
+ * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
+ (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
+ (mips_rtx_cost_data): Add Loongson-3A.
+
+2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
+ switches.
+
+2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
+
+ * dwarf2out.c (macinfo_entry): New struct.
+ (output_comp_unit): Emit the section start label here and flag that we
+ will emit an info section.
+ (dwarf2out_start_source_file): Save data in a macinfo entry rather than
+ emitting directly.
+ (dwarf2out_end_source_file): Likewise.
+ (dwarf2out_define): Likewise.
+ (dwarf2out_undef): Likewise.
+ (output_macinfo): New.
+ (dwarf2out_init): Do not emit debug section switches here, allocate a
+ vec for macinfo, when required.
+ (dwarf2out_finish): First switch to debug_abbrev_section here.
+ debug_line_section, debug_macinfo_section, Likewise.
+ Check that the pubtypes table has at least one unpruned entry before
+ trying to emit it.
+
+2010-11-13 Paolo Bonzini <bonzini@gnu.org>
+
+ PR c/20385
+ * c-parser.c (c_parser_next_token_starts_declaration): Rename to...
+ (c_parser_next_tokens_start_declaration): ... this. Handle 2nd
+ token lookahead.
+ (c_parser_compound_statement_nostart, c_parser_label,
+ c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
+ (c_parser_declaration_or_fndef): Detect the case now matched by
+ c_parser_next_tokens_start_declaration, give error and correct it.
+
+2010-11-13 Paolo Bonzini <bonzini@gnu.org>
+
+ * c-tree.h (enum c_typespec_kind): Add ctsk_none.
+ (struct c_declspecs): Replace tagdef_seen_p and type_seen_p
+ with typespec_kind.
+ * c-decl.c (build_null_declspecs): Initialize typespec_kind.
+ (shadow_tag_warned, check_compound_literal_type): Adjust
+ uses of tag_defined_p.
+ (declspecs_add_type): Set typespec_kind.
+ * c-parser.c (c_parser_declaration_or_fndef,
+ c_parser_declspecs, c_parser_struct_declaration,
+ c_parser_parameter_declaration, c_parser_type_name,
+ c_parser_objc_diagnose_bad_element_prefix): Adjust uses
+ of type_seen_p.
+ * c-typeck.c (c_cast_expr): Use typespec_kind instead of
+ tag_defined_p, pass ctsk_firstref through.
+
+2010-11-13 Paolo Bonzini <bonzini@gnu.org>
+
+ * c-format.c (enum format_specifier_kind, kind_descriptions): New.
+ (struct format_wanted_type): Replace field "name" with "kind", add
+ "format_start" and "format_length".
+ (check_format_info_main): Fill in new fields. Fill in
+ FORMAT_WANTED_TYPES even for missing arguments. Move checks
+ after the final NUL outside the while loop. Do not include
+ width and precision modifiers in the format_start/format_length
+ of the main format.
+ (check_format_types): Remove FORMAT_START and FORMAT_LENGTH
+ arguments. Compute WANTED_TYPE first so that format_type_warning
+ can be called for missing arguments. Adjust calls to
+ format_type_warning.
+ (format_type_warning): Fetch as much information as possible
+ from format_wanted_type. Adjust printing now that every
+ warning has a "descr", as well as for missing argument warnings
+ and to include % sign for format specifiers.
+
+2010-11-12 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/46204
+ * sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
+ Update all callers. Do not recompute topological order. Adjust
+ fallthrough edges following a degenerate conditional jump.
+
+2010-11-12 Joseph Myers <joseph@codesourcery.com>
+
+ * opts-common.c (control_warning_option): New.
+ * opts.c (set_default_handlers): New.
+ (decode_options): Use set_default_handlers and
+ control_warning_option.
+ (common_handle_option): Update call to enable_warning_as_error.
+ (enable_warning_as_error): Take gcc_options parameters. Use
+ control_warning_option.
+ * opts.h (set_default_handlers, control_warning_option): Declare.
+
+2010-11-12 Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in (OPTS_H): Define.
+ (c-decl.o, c-family/c-common.o, c-family/c-opts.o,
+ c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
+ cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
+ opts-common.o, toplev.o, passes.o, matrix-reorg.o,
+ ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
+ * gcc.c (driver_handle_option): Take location_t parameter.
+ (process_command, do_self_spec): Update calls to
+ read_cmdline_option.
+ * langhooks-def.h (lhd_handle_option): Take location_t parameter.
+ * langhooks.c (lhd_handle_option): Take location_t parameter.
+ * langhooks.h (handle_option): Take location_t parameter.
+ * lto-opts.c (lto_reissue_options): Update call to set_option.
+ * opts-common.c (handle_option): Make static. Take location_t
+ parameter and pass it to other functions.
+ (handle_generated_option): Take location_t parameter and pass it
+ to other functions.
+ (read_cmdline_option): Take location_t parameter and pass it to
+ other functions. Use warning_at and error_at.
+ (set_option): Take location_t parameter and pass it to other
+ functions.
+ * opts.c (common_handle_option): Take location_t parameter and
+ pass it to other functions.
+ (enable_warning_as_error): Make static. Take location_t parameter
+ and pass it to other functions.
+ (lang_handle_option): Take location_t parameter and pass it to
+ other functions.
+ (target_handle_option): Take location_t parameter.
+ (read_cmdline_options, maybe_default_option,
+ maybe_default_options, default_options_optimization,
+ decode_options): Take location_t parameter and pass it to other
+ functions.
+ * opts.h: Include input.h.
+ (struct cl_option_handler_func, decode_options, set_option,
+ handle_generated_option, read_cmdline_option): Take location_t
+ parameters.
+ (handle_option, enable_warning_as_error): Remove.
+ * toplev.c (toplev_main): Update call to decode_options.
+
+2010-11-12 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ * graphite-cloog-util.c (oppose_constraint,
+ cloog_matrix_to_ppl_constraint,
+ new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as
+ CLooG isl uses unsigned integers. This triggered a warning.
+
+2010-11-12 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/46438
+ * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
+ (xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
+ (xtensa_function_arg_1): De-constify cum.
+ (xtensa_expand_prologue): Use add_reg_note.
+
+ PR target/46435
+ * config/cris/cris.c (saved_regs_mentioned): Delete.
+ (cris_reload_address_legitimized): Cast itype to enum reload_type.
+ Remove unused variable op0p.
+ (cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code.
+ (cris_emit_movem_store): Use add_reg_note.
+
+ PR bootstrap/46456
+ * cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert.
+
+2010-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * function.c (expand_function_end): Set the locator of the prologue on
+ the stack checking insns.
+
+2010-11-12 Richard Henderson <rth@redhat.com>
+
+ * config.gcc [xtensa] (extra_options): Add fused-madd.opt.
+ * config/xtensa/xtensa.opt (mfused-madd): Remove.
+ * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
+ MASK_FUSED_MADD.
+ * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma.
+ (fnmasf4): Rename from mulsubsf3; use fma.
+
+2010-11-12 Joern Rennecke <amylaar@spamcop.net>
+ Richard Henderson <rth@redhat.com>
+
+ PR target/46428
+ * config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
+ * config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
+ comparison.
+
+2010-11-12 Pat Haugen <pthaugen@us.ibm.com>
+
+ * opts-common.c (decode_cmdline_option): Initialize separate_args.
+
+2010-11-12 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (early-inlining-insns): Update default.
+ * params.def (early-inlining-insns): Default to 10.
+
+2010-11-12 Olivier Hainque <hainque@adacore.com>
+
+ * config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
+
+2010-11-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/iris6.h [!IRIX_USING_GNU_LD]
+ (SUPPORTS_INIT_PRIORITY): Define.
+
+2010-11-12 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/46430
+ * config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
+ * config/avr/driver-avr.c (avr_device_to_arch): Always return value.
+ (avr_device_to_data_start, avr_device_to_startfiles): Likewise.
+ (avr_device_to_devicelib): Likewise.
+ * config/avr/avr.md (zero_extendqihi2): Put variable declarations
+ into block.
+ (zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
+ (zero_extendhidi2, zero_extendsidi2): Likewise.
+ * config/avr/avr.c (avr_num_arg_regs): Constify type.
+ (avr_return_addr_rtx): De-constify tem.
+ (avr_rotate_bytes): Move declarations to start of block.
+ Don't use variable length array. Put nested if/else into block.
+
+ PR rtl-optimization/46433
+ * var-tracking.c: Include tm_p.h .
+
+ PR bootstrap/44756
+ PR build/44767
+ * doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
+ should be unsigned.
+ (STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
+ * doc/tm.texi: Regenerate.
+
+ PR target/46412
+ * config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
+ * config/bfin/bfin.c: Include sel-sched.h .
+ (bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
+ (expand_interrupt_handler_prologue): Remove unused variable insn.
+ (bfin_load_pic_reg): Likewise.
+ (bfin_rtx_costs): Make code / outer_code variables of type
+ enum rtx_code, copied from re-named parameters.
+ (bfin_local_alignment): Change align argument and return type
+ to unsigned.
+ (bfin_adjust_cost): Remove unused variable insn_type.
+ Declare variables at start of block.
+ (struct loop_info): Rename to...
+ (struct loop_info_d).
+ (workaround_rts_anomaly): Change type of icode to int.
+ (harmless_null_pointer_p): Cast REGNO (..) to int before comparison
+ with int-typed variable.
+ (note_np_check_stores): Likewise.
+ (trapping_loads_p): Remove unused variable pat.
+ (bfin_expand_binop_builtin): Use expand_normal.
+ (bfin_expand_unop_builtin): Likewise.
+ (bfin_expand_builtin): Likewise. Set tmode before use.
+
+ PR middle-end/44769
+ * final.c (split_double): Don't use BITS_PER_WORD directly in
+ shift count.
+
+ PR target/46431
+ * config/fr30/fr30.md (*movsf_constant_store): Remove duplicated
+ assignment.
+
+ PR target/46450
+ * config/stormy16/stormy16.c (xstormy16_expand_prologue):
+ Use add_reg_note.
+ (xstormy16_function_arg): Dereference cum.
+ (xstormy16_expand_builtin): Use expand_normal.
+ Change type of omode to enum machine_mode.
+ (combine_bnp): Rename and to and_insn.
+
+ PR target/46437
+ * config/mcore/mcore.c (layout_mcore_frame): Remove unused variable
+ localreg.
+
+2010-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR debug/46375
+ * emit-rtl.c (remove_insn): Do not mark BBs upon debug insns.
+
+2010-11-11 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+ PR lto/46376
+ * lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY.
+
+2010-11-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR c/44782
+ * common.opt (fmax-errors=): New option.
+ * opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it.
+ * diagnostic.h (struct diagnostic_context): Add max_errors field.
+ * diagnostic.c (diagnostic_initialize): Initialize it.
+ (diagnostic_action_after_output): Exit if more than max_errors
+ have been output.
+ * doc/invoke.texi (Warning Options): Add -fmax-errors.
+ (-fmax-errors): Document.
+
+2010-11-11 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
+
+2010-11-11 Richard Henderson <rth@redhat.com>
+
+ * config/fused-madd.opt: New file.
+ * config.gcc [i386-*, x86_64-*] (extra_options): Use it.
+ * config/i386/i386.c (ix86_extra_costs): Handle FMA.
+ (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
+ * config/i386/i386.opt (mfused-madd): Remove.
+ * config/i386/sse.md (split_fma): Remove.
+ (split_fms, split_fnma, split_fnms): Remove.
+
+2010-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/46088
+ * config/i386/i386.md (*ashl<mode>3_cconly,
+ *<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok,
+ change nonimmediate_operand predicate to register_operand.
+
+2010-11-11 Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.in (gengtype-lex.c): Include bconfig.h first.
+
+2010-11-11 Jan Hubicka <jh@suse.cz>
+
+ * opts.c (finish_options): Do not error on -flto-partition alone.
+
+ * doc/invoke.texi (-fwhopr): Merge into -flto section.
+ (-flto-partition): Document none.
+ * gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
+ * lto-wrapper.c: Update comment.
+ (run_gcc): Update LTO option parsing.
+ * opts.c (finish_options): add support -flto-partition=none
+ (common_handle_option): Remove fwhopr.
+ * common.opt: Turn fwhopr into flto.
+ * collect2.c (main): Update option handling.
+ * cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
+ * ipa-split.c (execute_split_functions): Remove flag_whopr.
+ * ipa.c (function_and_variable_visibility): Remove flag_whopr.
+ * ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
+ * varpool.c (decide_is_variable_needed): Remove flag_whopr.
+
+2010-11-11 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/40436
+ * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
+ (eliminated_by_inlining_prob): ... this one; return 50% probability
+ for SRA.
+ (estimate_function_body_sizes): Update use of
+ eliminated_by_inlining_prob; estimate static function size
+ for 2 instructions.
+
+2010-11-11 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/44749
+ * config/mep/mep-protos.h (mep_legitimize_reload_address): Always
+ declare. Change type of argument four to type int.
+ (mep_secondary_input_reload_class): Returns enum reg_class.
+ (mep_secondary_output_reload_class): Likewise.
+ (mep_function_value): Change types of arguments to cont_tree.
+ * config/mep/mep.c (mep_legitimize_reload_address): Change type of
+ argument four to type int.
+ (mep_secondary_input_reload_class): Returns enum reg_class.
+ (mep_secondary_output_reload_class): Likewise.
+ (mep_function_value): Change types of arguments to cont_tree.
+ * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
+ mep_regno_reg_class to enum reg_class.
+
+2010-11-11 Richard Henderson <rth@redhat.com>
+
+ * tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
+ that the target has the exact fma operation that we matched.
+
+2010-11-11 Joseph Myers <joseph@codesourcery.com>
+
+ * reginfo.c (fix_register): Avoid inserting English word in
+ diagnostic sentence. Use %qs for quoting and %'.
+
+2010-11-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Support
+ Intel processor family 6, model 0x2c.
+
+2010-11-11 Joseph Myers <joseph@codesourcery.com>
+
+ * opts.c (warning_as_error_callback,
+ register_warning_as_error_callback): Remove.
+ (enable_warning_as_error): Don't use warning_as_error_callback.
+ * opts.h (register_warning_as_error_callback): Remove.
+
+2010-11-11 Richard Henderson <rth@redhat.com>
+
+ * tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
+ in between the MULT and the PLUS/MINUS.
+
+2010-11-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/46388
+ * expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
+ BLKmode mode for it.
+ (expand_expr_real_1): Similarly for op0.
+
+2010-11-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
+ Document optional target selector.
+
+2010-11-11 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
+ assembling high and low parts of size if not using 32-bit HWINT; else
+ use DECL_SIZE_UNITS, not DECL_SIZE.
+
+2010-11-11 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/46383
+ * ipa-prop.c (compute_complex_assign_jump_func): Ignore negative
+ offsets.
+ (compute_complex_ancestor_jump_func): Likewise.
+ * tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative.
+
+2010-11-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46150
+ * tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
+ true if expr1->hash != expr2->hash.
+
+2010-11-10 Joseph Myers <joseph@codesourcery.com>
+
+ * cfgloop.c (verify_loop_structure): Use %' in diagnostics. Start
+ diagnostics with lowercase letters.
+ * cgraphunit.c (verify_cgraph_node): Start diagnostics with
+ lowercase letters.
+ * collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
+ diagnostic.
+ * config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
+ * config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
+ lowercase letters.
+ * config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
+ Remove trailing ' ' from diagnostic.
+ * config/avr/avr.c (print_operand_address): Start diagnostic with
+ a lowercase letter and remove trailing '.'.
+ * config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
+ * config/bfin/bfin.c (bfin_option_override): Start diagnostics
+ with lowercase letters. Use %' in diagnostics. Remove trailing
+ '.' from diagnostics.
+ (bfin_handle_longcall_attribute): Use %' in diagnostic.
+ * config/cris/cris.c (cris_split_movdx,
+ cris_expand_pic_call_address): Start diagnostics with lowercase
+ letters.
+ (cris_asm_output_label_ref): Use %' in diagnostic.
+ * config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
+ letter.
+ * config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
+ lowercase letter.
+ * config/darwin-c.c (version_as_macro): Start diagnostic with a
+ lowercase letter.
+ * config/darwin-driver.c (darwin_default_min_version): Use %' in
+ diagnostic.
+ * config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
+ diagnostic.
+ * config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
+ * config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
+ diagnostics.
+ * config/i386/i386.c (ix86_option_override_internal): Write
+ diagnostic as a single sentence without trailing '.'. Use %' in
+ diagnostics.
+ (ix86_function_sseregparm, classify_argument): Start diagnostics
+ with lowercase letters.
+ (ix86_expand_prologue): Use %' in diagnostic.
+ * config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
+ diagnostic.
+ * config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
+ lowercase letter.
+ * config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
+ diagnostic.
+ * config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
+ * config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
+ '`' in help text.
+ * config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
+ lowercase letter.
+ * config/mep/mep.c (mep_validate_vliw): Start diagnostics with
+ lowercase letters.
+ * config/microblaze/microblaze.c (microblaze_handle_option):
+ Remove trailing '.' from diagnostic.
+ (print_operand): Start diagnostic with a lowercase letter.
+ * config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
+ lowercase letters. Avoid '`' in diagnostics.
+ * config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
+ lowercase letters. Avoid '`' in diagnostics.
+ * config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
+ lowercase letters. Avoid '`' in diagnostics.
+ * config/picochip/picochip.c (picochip_option_override,
+ picochip_emit_save_register, picochip_function_arg,
+ picochip_output_label, picochip_output_internal_label,
+ picochip_asm_output_opcode, picochip_output_cbranch,
+ picochip_output_compare, picochip_output_branch,
+ picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
+ diagnostics. Start diagnostics with lowercase letters. Use %' in
+ diagnostics.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
+ "SPE" capitalization. Start diagnostic with a lowercase letter.
+ (rs6000_handle_option): Start diagnostics with lowercase letters.
+ (def_builtin): Remove trailing '.' from diagnostic.
+ (rs6000_savres_routine_name): Start diagnostic with a lowercase
+ letter.
+ * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
+ diagnostic.
+ * config/rx/rx.c (rx_handle_option): Start diagnostic with a
+ lowercase letter.
+ * config/s390/s390.c (s390_option_override) Start diagnostics with
+ lowercase letters. Use %' in diagnostic.
+ * config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
+ lowercase letters.
+ * config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
+ diagnostic.
+ * config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
+ diagnostic.
+ * config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
+ diagnostic.
+ * config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
+ * config/spu/spu.c (spu_option_override): Start diagnostics with
+ lowercase letters. Use %qs for quoting in diagnostics.
+ (spu_check_builtin_parm): Remove trailing '.' from diagnostics.
+ Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
+ * config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
+ from diagnostic.
+ * convert.c (convert_to_integer, convert_to_vector): Use %' in
+ diagnostics.
+ * dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
+ letter and use "cannot" spelling.
+ * expmed.c (extract_fixed_bit_field): Start diagnostic with
+ lowercase letter and format as a single sentence without '.'.
+ * ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
+ Use %' in diagnostics.
+ * ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
+ Use %' in diagnostics.
+ * ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
+ Use %' in diagnostics.
+ * graph.c (clean_graph_dump_file): Use %' in diagnostic.
+ * graphite-poly.c (graphite_read_scop_file): Start diagnostics
+ with lowercase letters and remove tailing '.' and '\n'.
+ * lto-cgraph.c (input_profile_summary): Start diagnostic with
+ lowercase letter and remove trailing '.'.
+ (input_cgraph): Start diagnostics with lowercase letters and
+ remove trailing '\n'.
+ * opts.c (finish_options, common_handle_option): Start diagnostics
+ with lowercase letters and remove trailing '.'. Fix typo in
+ diagnostic.
+ * passes.c (position_pass): Start diagnostic with lowercase letter.
+ * plugin.c (add_new_plugin, parse_plugin_arg_opt,
+ register_callback, try_init_one_plugin): Start diagnostics with
+ lowercase letters.
+ * reload1.c (spill_failure): Use %' in diagnostic.
+ (gen_reload): Start diagnostic with a lowercase letter.
+ * stor-layout.c (place_field): Start diagnostic with a lowercase
+ letter.
+ * toplev.c (open_auxiliary_file): Use %' in diagnostic.
+ * tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
+ verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
+ Start diagnostics with lowercase letters, remove trailing '.' and
+ use %' in diagnostics.
+ * tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
+ (verify_ssa): Don't split diagnostic across two error calls.
+ Spell out "number" and use %' in diagnostic.
+ * value-prof.c (visit_hist, check_counter): Start diagnostics with
+ lowercase letters.
+
+2010-11-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/46419
+ * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
+ (_mm_cvtpu16_ps): Ditto.
+
+2010-11-10 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (flag_excess_precision_cmdline, flag_generate_lto,
+ warn_larger_than, larger_than_size, warn_frame_larger_than,
+ frame_larger_than_size, flag_gen_aux_info, flag_shlib,
+ default_visibility, flag_tls_default): New Variable declarations.
+ (aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
+ falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
+ (v): Declare as Common and document here.
+ * flags.h (default_visibility, flag_generate_lto,
+ warn_larger_than, larger_than_size, warn_frame_larger_than,
+ frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
+ flag_shlib, flag_excess_precision_cmdline): Remove.
+ (set_Wstrict_aliasing): Update prototype.
+ * gcc.c (verbose_flag): Remove.
+ (driver_handle_option): Add diagnostic_context parameter. Don't
+ handle OPT_v explicitly here. Set verbose_flag to 1 rather than
+ incrementing it.
+ * opts-common.c (handle_option): Pass dc to handler.
+ * opts.c (warn_larger_than, larger_than_size,
+ warn_frame_larger_than, frame_larger_than_size,
+ default_visibility): Remove.
+ (common_handle_option): Add diagnostic_context parameter.
+ (set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
+ gcc_options parameters.
+ (lang_handle_option, target_handle_option, read_cmdline_options,
+ decode_options): Add diagnostic_context parameters.
+ (finish_options): Access option state through opts pointer where
+ possible.
+ (common_handle_option): Access option state through opts pointer
+ where possible. Do not set local static variable verbose. Do not
+ explicitly handle OPT_v, OPT_Wstrict_aliasing_,
+ OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
+ OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
+ OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
+ OPT_fwhopr_. Do not explicitly set .opt file variables for
+ OPT_aux_info or OPT_pedantic_errors. Use dc for diagnostic context.
+ (set_Wstrict_aliasing): Add gcc_options parameter.
+ * opts.h (struct cl_option_handler_func): Add diagnostic_context
+ parameter to handler.
+ (decode_options): Add diagnostic_context parameter.
+ * toplev.c (dump_base_name, dump_dir_name, aux_base_name,
+ asm_file_name, flag_generate_lto, flag_gen_aux_info,
+ aux_info_file_name, flag_shlib, flag_tls_default,
+ flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
+ (toplev_main): Pass global_dc to decode_options.
+ * toplev.h (dump_base_name, dump_dir_name, aux_base_name,
+ aux_info_file_name, asm_file_name): Remove.
+ * tree.h (flag_tls_default): Remove.
+
+2010-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/45986
+ * config/sparc/sparc.c (sparc_delegitimize_address): New function.
+ (TARGET_DELEGITIMIZE_ADDRESS): Define to above.
+
+2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
+
+ * config.gcc (i[34567]86-*-*): Include tbmintrin.h.
+ (x86_64-*-*): Likewise.
+ * config/i386/cpuid.h: Define TBM bit.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Define
+ and set has_tbm.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Check
+ isa_flag for TBM.
+ * config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
+ (OPTION_MASK_ISA_TBM_UNSET): New.
+ (ix86_handle_option): Handle -mtbm.
+ (isa_opts): Add -mtbm.
+ (enum pta_flags): Add PTA_TBM.
+ (ix86_option_override_internal): Add TBM support.
+ (ix86_valid_target_attribute_inner_p): Handle -mtbm.
+ (IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
+ (IX86_BUILTIN_BEXTRI64): Likewise.
+ (bdesc_args): Add TBM intrinsics.
+ (ix86_expand_builtin): Add TBM specific case.
+ * config/i386/i386.h (TARGET_TBM): New for TBM.
+ * config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
+ (tbm_bextri_<mode>): Likewise.
+ (*tbm_blcfill_<mode>): Likewise.
+ (*tbm_blci_<mode>): Likewise.
+ (*tbm_blcic_<mode>): Likewise.
+ (*tbm_blcmsk_<mode>): Likewise.
+ (*tbm_blcs_<mode>): Likewise.
+ (*tbm_blsfill_<mode>): Likewise.
+ (*tbm_blsic_<mode>): Likewise.
+ (*tbm_t1mskc_<mode>): Likewise.
+ (*tbm_tzmsk_<mode>): Likewise.
+ * config/i386/i386.opt: Add -mtbm.
+ * config/i386/tbmintrin.h (__bextri_u32): New.
+ (__blcfill_u32): Likewise.
+ (__blci_u32): Likewise.
+ (__blcic_u32): Likewise.
+ (__blcmsk_u32): Likewise.
+ (__blcs_u32): Likewise.
+ (__blsfill_u32): Likewise.
+ (__blsic_u32): Likewise.
+ (__t1mskc_u32): Likewise.
+ (__tzmsk_u32): Likewise.
+ (__bextri_u64): Likewise.
+ (__blcfill_u64): Likewise.
+ (__blci_u64): Likewise.
+ (__blcic_u64): Likewise.
+ (__blcmsk_u64): Likewise.
+ (__blcs_u64): Likewise.
+ (__blsfill_u64): Likewise.
+ (__blsic_u64): Likewise.
+ (__t1mskc_u64): Likewise.
+ (__tzmsk_u64): Likewise.
+ * config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
+ * doc/invoke.texi: Document -mtbm.
+ * doc/extend.texi: Document TBM built-in functions.
+
+2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
+
+ * config.gcc (i[34567]86-*-*): Include bmiintrin.h.
+ (x86_64-*-*): Likewise.
+ * config/i386/cpuid.h: Define BMI bit.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Define
+ and set has_bmi.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Check
+ isa_flag for BMI.
+ * config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
+ (OPTION_MASK_ISA_BMI_UNSET): New.
+ (ix86_handle_option): Handle -mbmi.
+ (isa_opts): Add -mbmi.
+ (enum pta_flags): Add PTA_BMI.
+ (ix86_option_override_internal): Add BMI support.
+ (ix86_valid_target_attribute_inner_p): Handle -mbmi.
+ (IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
+ (IX86_BUILTIN_BEXTR64): Likewise.
+ (IX86_BUILTIN_CTZS): Likewise.
+ (bdesc_args): Add BMI intrinsics.
+ (ix86_expand_args_builtin): Add BMI specific cases.
+ * config/i386/i386.h (TARGET_BMI): New for BMI.
+ (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
+ (CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
+ * config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
+ (UNSPEC_TZCNT): Likewise.
+ (ctz<mode>2): Add tzcnt, and handle 16 bit operands.
+ (bmi_andn_<mode>): New for BMI.
+ (bmi_bextr_<mode>): Likewise.
+ (bmi_blsi_<mode>): Likewise.
+ (bmi_blsmsk_<mode>): Likewise.
+ (bmi_blsr_<mode>): Likewise.
+ * config/i386/i386.opt: Add -mbmi.
+ * config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
+ * config/i386/bmiintrin.h (__lzcnt_u16): New.
+ (__tzcnt_u16): Likewise.
+ (__andn_u32): Likewise.
+ (__bextr_u32): Likewise.
+ (__blsi_u32): Likewise.
+ (__blsmsk_u32): Likewise.
+ (__blsr_u32): Likewise.
+ (__lzcnt_u32): Likewise.
+ (__tzcnt_u32): Likewise.
+ (__andn_u64): Likewise.
+ (__bextr_u64): Likewise.
+ (__blsi_u64): Likewise.
+ (__blsmsk_u64): Likewise.
+ (__blsr_u64): Likewise.
+ (__lzcnt_u64): Likewise.
+ (__tzcnt_u64): Likewise.
+ * doc/invoke.texi: Document -mbmi and -mno-bmi.
+ * doc/extend.texi: Document BMI built-in functions.
+
+2010-11-10 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/46228
+ * doc/invoke.texi (comdat-sharing-probability): Document.
+ * ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
+ * params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
+
+2010-11-10 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/46228
+ * cgraph.c (cgraph_propagate_frequency): Fix typo.
+
+2010-11-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR tree-optimization/46414
+ * tree-inline.c (estimate_move_cost): Check preferred vector
+ mode for vector type.
+
+2010-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
+
+2010-11-10 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/45971
+ * tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
+ for phi nodes analyzable by scev.
+
+2010-11-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44964
+ * ipa-inline.c (cgraph_flatten): Check that SSA form matches.
+
+2010-11-10 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/46351
+ PR tree-optimization/46377
+ * tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
+ aggregate bit-fields.
+
+2010-11-10 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
+ * doc/tm.texi: Regenerate.
+ * opts-common.c (tm.h): Don't include.
+ (target_option_translations): Remove.
+ (decode_cmdline_options_to_array): Don't handle translating options.
+ * system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
+ * config/darwin-driver.c: Don't condition includes on
+ CROSS_DIRECTORY_STRUCTURE.
+ (darwin_default_min_version): Make static.
+ (darwin_driver_init): New. Call darwin_default_min_version if not
+ CROSS_DIRECTORY_STRUCTURE.
+ * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
+ (DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
+ (ASM_SPEC): Add %{static}.
+ (darwin_default_min_version): Don't declare.
+ (darwin_driver_init): Declare.
+ (GCC_DRIVER_HOST_INITIALIZATION): Define to call
+ darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
+ * config/darwin.opt (all_load, allowable_client,
+ arch_errors_fatal, bind_at_load, bundle, bundle_loader,
+ dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
+ exported_symbols_list, filelist, findirect-virtual-calls,
+ flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
+ framework, fterminated-vtables, gfull, gused, image_base, init,
+ install_name, multi_module, multiply_defined,
+ multiply_defined_unused, no_dead_strip_inits_and_terms,
+ seg_addr_table, seg_addr_table_filename, segaddr,
+ segs_read_only_addr, segs_read_write_addr, single_module,
+ umbrella, unexported_symbols_list, weak_reference_mismatches,
+ Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
+ Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
+ Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
+ Zno_dead_strip_inits_and_terms, Zsingle_module): New.
+ * config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
+ (ASM_SPEC): Add %{static}.
+ (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
+ * config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
+ (DRIVER_SELF_SPECS): Handle options formerly in
+ TARGET_OPTION_TRANSLATE_TABLE.
+ * config/mep/mep.opt (mfar): New.
+ * config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
+ (DRIVER_SELF_SPECS): Define. Handle options formerly in
+ TARGET_OPTION_TRANSLATE_TABLE.
+ * config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and -fno-altivec.
+ (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
+ * config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
+ ffix-and-continue, findirect-data): New.
+ * config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
+ * config/rx/rx.opt (nofpu): Make into alias of mnofpu.
+ (mnofpu): Define mask and use Report here.
+
+2010-11-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_emit_prologue): Report the stack
+ size if -fstack-usage is used.
+
+2010-11-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46398
+ * tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.
+
+2010-11-10 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/44760
+ * config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon.
+ (REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to
+ GP_REG_OR_PSEUDO_STRICT_P.
+ * config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for
+ unexpected alternative.
+ (*movsf_internal): Likewise.
+ (indirect_jump): Replace call to non-existant function with call to
+ internal_error.
+ (tablejump): Likewise.
+ * config/iq2000/iq2000.c: Include df.h .
+ (iq2000_function_arg_advance): Use CONST_CAST2.
+ (compute_frame_size, iq2000_expand_prologue): Remove unused variables.
+ (iq2000_can_eliminate): Call leaf_function_p instead of testing for
+ a non-zero function address.
+ (iq2000_initial_elimination_offset): Add gcc_unreachable for
+ unexpected value of FROM.
+ (symbolic_expression_p): Delete.
+ (iq2000_function_value): Constify func.
+ (expand_one_builtin): Use expand_normal.
+ (iq2000_print_operand): Don't print VALUE if calculating it failed.
+
+ PR rtl-optimization/44764
+ * addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED.
+
+ PR target/46407
+ * config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
+ * config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
+ with ATTRIBUTE_UNUSED.
+ (valid_psw_flag): Constify parameter which.
+ (rx_memory_move_cost): Change type of parameter regclass to reg_class_t.
+
+ PR target/46415
+ * config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
+ (mmix_dbx_register_number): Likewise.
+ * config/mmix/mmix.c: Include df.h .
+ (mmix_local_alignment): Change argument basic_align and return type
+ to unsigned.
+ (mmix_dbx_register_number): Change argument and return type to
+ unsigned.
+ (mmix_expand_prologue): Use add_reg_note.
+
+ PR target/46417
+ * config/spu/spu.c (spu_expand_insv): Remove unused variables.
+ (spu_split_store): Use aform.
+ (spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.
+
+2010-11-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ PR/46268
+ * doc/gty.texi (GTY Options): Clarify that variable_size produces
+ allocators taking size in bytes, compare with length option. Add
+ size calculation example.
+ (Invoking the garbage collector): Ensure that sentences are
+ followed by two spaces. Describe that pointer fields must be
+ initialized at ggc_collect call.
+ (Troubleshooting): New section.
+
+2010-11-09 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/40436
+ * ipa-inline.c (leaf_node_p): Implement using is_inexpensive_builtin.
+ * tree-inline.c (estimate_num_insns): Inexpensive builtins are like
+ normal instructions; be sure bultin is not implemented in this file;
+ compute non-zero return cost.
+ (init_inline_once): Reduce builtin_call_cost to 1; set return cost.
+ * tree-inline.h (eni_weights_d): Add return cost.
+
+2010-11-09 Joseph Myers <joseph@codesourcery.com>
+
+ * c-parser.c (c_parser_struct_declaration): Handle declaration
+ specifiers followed by CPP_CLOSE_BRACE.
+
+2010-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.md (floatsi<mode>2_lfiwax): Rewrite so
+ split occurs before reload, and we allocate memory at the time of
+ the split, not during expansion. Add attributes.
+ (floatsi<mode>2_lfiwax_mem): Ditto.
+ (floatunssi<mode>2_lfiwzx): Ditto.
+ (floatunssi<mode>2_lfiwzx_mem): Ditto.
+ (floatsidf2): Ditto.
+ (floatunssisf2): Ditto.
+ (floatunssidf2): Ditto.
+ (fix_trunc<mode>si2): Ditto.
+ (fix_trunc<mode>si2_stfiwx): Ditto.
+ (fix_trunc<mode>si2_internal): Ditto.
+ (fix_trunc<mode>si2): Ditto.
+ (fix_trunc<mode>di2): Ditto.
+ (fixuns_trunc<mode>si2_stfiwx): Ditto.
+ (floatsisf2): Ditto.
+ (floatdidf2_mem): Ditto.
+ (floatunsdidf2_mem): Ditto.
+ (floatunsdidf2): Ditto.
+ (floatdisf2_internal1): Ditto.
+ (floatdisf2_mem): Ditto.
+ (floatunsdisf2_mem): Ditto.
+ (floatsi<mode>2_lfiwax_mem2): Delete.
+ (floatunssi<mode>2_lfiwzx_mem2): Ditto.
+ (fix_trunc<mode>si2_mem): Ditto.
+ (fixuns_trunc<mode>si2_mem): Ditto.
+ (round32<mode>2_fprs): New combiner insn to combine (double)(int)
+ type operations to reduce copying the values to multiple memory slots.
+ (roundu32<mode>2_fprs): Ditto.
+
+ * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Handle
+ PRE_INC, PRE_DEC, PRE_MODIFY.
+ (rs6000_expand_convert_si_to_sfdf): Delete, no longer used.
+
+ * config/rs6000/rs6000-protos.h (rs6000_expand_convert_si_to_sfdf):
+ Delete prototype.
+
+2010-11-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/43808
+ * cfgexpand.c (partition_stack_vars): Call
+ update_alias_info_with_stack_vars unconditionally.
+ (update_alias_info_with_stack_vars): Allow unused
+ unreferenced vars when not optimizing.
+
+2010-11-09 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46036
+ * tree-if-conv.c (predicate_bbs): Call unshare_expr before
+ add_to_dst_predicate_list.
+
+2010-11-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46171
+ * df-problems.c (struct dead_debug_use, struct dead_debug): Move
+ earlier.
+ (df_set_unused_notes_for_mw, df_create_unused_note): Add DEBUG
+ argument, call dead_debug_reset when adding REG_UNUSED note.
+ (dead_debug_reset): New function.
+ (df_note_bb_compute): Adjust df_set_unused_notes_for_mw and
+ df_create_unused_note callers.
+
+2010-11-09 Anatoly Sokolov <aesok@post.ru>
+
+ * config/fr30/fr30.c: Include "df.h".
+
+2010-11-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46355
+ * tree-loop-distribution.c (tree_loop_distribution): Do not
+ distribute loops without a single exit.
+
+2010-11-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR rtl-optimization/46237
+ * ira-conflicts.c (ira_build_conflicts): Record conflicts for call
+ saved hard regs if they might get partially clobbered.
+
+2010-11-09 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for decrement.
+
+2010-11-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46177
+ * tree-loop-distribution.c (prop_phis): Remove.
+ (generate_builtin): Re-use the old loop exit edge to avoid
+ needing to update PHI nodes.
+
+2010-11-09 Joern Rennecke <amylaar@spamcop.net>
+
+ * config/i386/i386.c (ix86_expand_split_stack_prologue): Change
+ type of args_size to unsigned HOST_WIDE_INT.
+
+ PR target/44755
+ * config.gcc (picochip-*): Add t-pnt16-warn to tmake_file.
+ * config/t-pnt16-warn: New file.
+ * config/picochip/picochip.c (picochip_emit_stack_allocate):
+ Use add_reg_note.
+ (picochip_emit_save_register): Likewise.
+ (picochip_emit_restore_register): Remove variable insn.
+ (picochip_legitimize_address): Don't use C++ style comments.
+ (picochip_legitimize_reload_address): Likewise.
+ (reorder_var_tracking_notes): Remove variable vliw_start.
+ (picochip_reorg): Cast first arguemnt to emit_note_after to
+ enum insn_note.
+ (picochip_expand_builtin_2op): Use EXPAND_NORMAL.
+ (picochip_expand_builtin_3op): Likewise.
+ (picochip_expand_builtin_2opvoid): Likewise.
+ (picochip_expand_array_get, picochip_expand_array_put): Likewise.
+ (picochip_expand_array_testport): Likewise.
+ (picochip_init_builtins): Remove unused variables.
+ * config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO
+ to unsigned long, and output it as such.
+ (ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED.
+ * config/picochip/picochip.md (movhicc): Remove nonsense statement.
+ (schedType): Cast result of picochip_schedule_type to
+ enum attr_schedType.
+
+ PR target/44759
+ * config/mn10300/mn10300.c (SIZE_FMOV_LIMIT): Promote all arms of
+ conditional to type of S.
+ (mn10300_function_arg): Remove unused variable align.
+ (mn10300_arg_partial_bytes): Likewise.
+ * config/mn10300/mn10300.md (attribute cpu): Cast value to
+ enum attr_cpu.
+
+2010-11-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/46392
+ * gengtype-parse.c (type): Call get_input_file_name to get file name.
+
+2010-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (contains_placeholder_p): Fix comment.
+ (type_contains_placeholder_p): Adjust comment.
+ * tree.c (contains_placeholder_p): Fix comment.
+ (type_contains_placeholder_1): Do not recurse on pointed-to types and
+ adjust comment.
+ (type_contains_placeholder_p): Add comment.
+
+2010-11-09 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for
+ output of byte values.
+
+2010-11-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/46360
+ * tree-ssa-propagate.c (update_call_from_tree): Fix for use
+ not in SSA mode.
+
+2010-11-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/46221
+ * varasm.c (compute_visible_aliases): New function.
+ (remove_unreachable_alias_pairs): Aliases make a target available
+ even though we reclaimed the cgraph node.
+ (finish_aliases_1): Likewise.
+ * Makefile.in (varasm.o): Add pointer-set.h dependency.
+
+2010-11-09 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300-modes.def: New file.
+
+2010-11-09 Basile Starynkevitch <basile@starynkevitch.net>
+ Jeremie Salvucci <jeremie.salvucci@free.fr>
+
+ * gengtype.c (get_output_file_name): Declaration moved to gengtype.h.
+ (plugin_files, get_file_basename, get_file_realbasename)
+ (get_file_langdir, error_at_line, gt_files, this_file)
+ (system_h_file, read_input_list, create_field_all)
+ (get_file_srcdir_relative_path, get_file_basename)
+ (get_file_langdir, get_file_gtfilename)
+ (get_output_file_with_visibility, get_output_file_name)
+ (struct flist, put_mangled_filename, walk_type)
+ (put_mangled_filename, finish_root_table, write_roots): Use
+ input_file-s.
+ (lang_dir_names, num_lang_dirs): Remove static.
+ (get_lang_bitmap, set_lang_bitmap): Moved to gengtype.h.
+ (main): Use input_file-s.
+
+ * gengtype.h: (struct input_file_st, input_file): New type.
+ (struct fileloc): Use it.
+ (gt_files, num_gt_files, this_file, system_h_file)
+ (input_file_by_name, get_file_srcdir_relative_path): Use input_file.
+ (get_input_file_name): New function.
+ (get_lang_bitmap, set_lang_bitmap): Moved from gengtype.c and
+ use input_file.
+ (lang_dir_names, num_lang_dirs, get_output_file_with_visibility)
+ (get_output_file_name): Ditto.
+
+ * gengtype-lex.l (yybegin): Use input_file.
+
+ * gengtype-parse.c (parse_error): Use input_file.
+
+2010-11-08 Xinliang David Li <davidxl@google.com>
+
+ PR tree-optimization/46316
+ * tree-vrp.c (adjust_range_with_scev): Check double_int overflow.
+ * double-int.h (double_int_mul_with_sign): New function.
+ * double-int.c (double_int_mul_with_sign): New function.
+
+2010-11-08 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code.
+
+2010-11-08 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md (negsi2): Fix wrong code.
+
+2010-11-08 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
+ to 8 bits.
+
+2010-11-08 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/46378
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
+ turn on ISA 2.04 rounding instructions for power5.
+
+ * config/rs6000/rs6000.md (friz): Friz is an ISA 2.04 instruciton,
+ not ISA 2.02.
+
+ PR target/45585
+ * config/rs6000/darwin.md (movdi_low): Allow DImode values to be
+ in FPR registers.
+ (movdi_low_st): Ditto.
+
+2010-11-08 Joern Rennecke <amylaar@spamcop.net>
+ Richard Henderson <rth@redhat.com>
+
+ PR target/44758
+ * config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu.
+ (attribute acc_group): Cast value to enum attr_acc_group.
+ (*movdi_nodouble+6): Use gen_int_mode.
+ * config/frv/frv-protos.h (frv_trampoline_size): Declare no matter
+ if RTX_CODE is defined or not.
+ * config/frv/frv.c (enum frv_io_type): New enum, broken out of
+ struct frv_io.
+ (frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED.
+ (frv_frame_access, frv_expand_prologue): Remove unused variables.
+ (frv_expand_block_clear): Likewise.
+ (frv_trampoline_init): Use LCT_NORMAL.
+ (struct frv_packet_group): New struct, broken out of type of
+ frv_packet.
+ (frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I,
+ use cast in loop counter increment.
+ (frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before
+ assigning to io->type.
+ (bdesc_set): Use rtx_code UNKNOWN in initializer.
+ (bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise.
+ (bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise.
+ (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise.
+ (frv_read_argument): Use expand_normal.
+
+ PR target/44757
+ * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call
+ lm32_legitimate_constant_p.
+ * config/lm32/lm32.md (ashlsi3): Remove unused variable.
+ * config/lm32/lm32.c (gen_int_relational): Make new block for
+ LE / LT / LEU / LTU case. Declare variables at start of block.
+ (lm32_block_move_inline): Use XALLOCAVEC.
+
+2010-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/i386.c (ix86_function_arg_boundary): Fix warning message.
+
+2010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype (get_output_file_for_structure): Ensure type is union
+ or struct.
+ (write_splay_tree_allocator_def): Use
+ get_output_file_with_visibility.
+
+2010-11-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_handle_arch_option): Set type and flags
+ to defined values in case of an error.
+ (s390_option_override): Skip further processing if the -march
+ parameter wasn't recognized.
+
+2010-11-08 Joern Rennecke <amylaar@spamcop.net>
+
+ * caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails,
+ assert that REG is a hard register number before using it as an index.
+
+ PR bootstrap/46358
+ * config/i386/i386.c (ix86_expand_split_stack_prologue):
+ Avoid warnings when HOST_WIDE_INT is 32 bit.
+
+2010-11-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/46208
+ * config/sparc/sparc.c (TARGET_PROMOTE_PROTOTYPES): Delete.
+ (sparc_promote_prototypes): Likewise.
+ (sparc_promote_function_mode): Promote in 32-bit mode as well.
+ (sparc_return_in_memory): Remove superfluous parentheses.
+ (sparc_struct_value_rtx): Fix long lines.
+ (sparc_function_value_1): Promote in 32-bit mode as well.
+
+2010-11-08 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/45352
+ * sel-sched.c (find_best_expr): Do not set pneed_stall when
+ the variable_issue hook is not implemented.
+ (fill_insns): Remove dead variable stall_iterations.
+ (init_seqno_1): Force EBB start for resetting sched cycles on any
+ successor blocks of the rescheduled region.
+ (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
+ (reset_sched_cycles_in_current_ebb): Add debug printing.
+ New variable issued_insns. Advance state when we have issued
+ issue_rate insns.
+
+2010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype (main): Get here's position using POS_HERE macro for
+ do*typedef calls.
+
+2010-11-07 Ian Lance Taylor <iant@google.com>
+
+ PR target/46089
+ * config/i386/i386.c (split_stack_fn_large): New static variable.
+ (ix86_expand_split_stack_prologue): Handle large model.
+
+2010-11-07 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/m68k/m68k.c (m68k_delegitimize_address): Update to handle
+ all possible addressing modes.
+
+2010-11-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR tree-optimization/46346
+ * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.
+
+2010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c: Revert previous patch.
+ * config/mips/mips.md: Likewise.
+
+2010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_rtx_costs): Handle FMA.
+ * config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
+ (*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
+ (*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
+ (*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
+ to use FMA.
+ (fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
+ (fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
+ (fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
+ (fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.
+
+2010-11-06 Simon Martin <simartin@users.sourceforge.net>
+
+ PR c/43384
+ * c-decl.c (lookup_label): Labels can only be referenced in a
+ function's scope.
+ (store_parm_decls_oldstyle): Skip erroneous parameters.
+
+2010-11-06 Anatoly Sokolov <aesok@post.ru>
+
+ * config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
+ LIBCALL_VALUE): Remove macros.
+ * config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+ TARGET_FUNCTION_VALUE_REGNO_P): Define.
+ (fr30_function_value_regno_p, fr30_function_value,
+ fr30_libcall_value): New functions.
+
+2010-11-06 Joern Rennecke <amylaar@spamcop.net>
+
+ PR middle-end/46314
+ * target.def (generate_internal_label): New asm_out hook.
+ * output.h (default_generate_internal_label): Declare.
+ * varasm.c (default_generate_internal_label): Define.
+
+2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/44981
+ * doc/extend.tex (format): Document NSString extension.
+ (format_arg): Likewise.
+ (Darwin Format Checks): New section.
+ * doc/tm.texi: Document string object hooks (generated).
+ * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
+ (TARGET_STRING_OBJECT_REF_TYPE_P): New.
+ (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
+ * target.def (objc_construct_string_object): Rename, amend
+ documentation.
+ (string_object_ref_type_p): New hook.
+ (check_string_object_format_arg): New hook.
+ * c-parser.c (c_parser_attributes): Allow objective-c class names as
+ attribute identifiers.
+ * config/darwin-c.c (darwin_cfstring_ref_p): New.
+ (darwin_check_cfstring_format_arg): New.
+ (darwin_additional_format_types): New.
+ * config/darwin-protos.h (darwin_cfstring_ref_p) New.
+ (darwin_check_cfstring_format_arg): New.
+ * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed.
+ (TARGET_STRING_OBJECT_REF_TYPE_P): New.
+ (TARGET_N_FORMAT_TYPES): New.
+ (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
+
+2010-11-06 Eric Botcazou <ebotcazou@adacore.com>
+ Pascal Obry <obry@adacore.com>
+
+ * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine. Use 33
+ in 64-bit mode and 17 otherwise.
+
+2010-11-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR debug/45939
+ * var-tracking.c (emit_note_insn_var_location): Make sure that
+ call related var location notes come before the normal ones.
+
+2010-11-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46326
+ * config/i386/i386.c (ix86_delegitimize_address): Fix a typo
+ in the last change.
+
+2010-11-05 Ian Lance Taylor <iant@google.com>
+
+ * explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
+
+2010-11-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/44772
+ * c-decl.c (warn_cxx_compat_finish_struct): Don't call
+ pointer_set_contains if DECL_NAME is NULL.
+
+2010-11-05 Ian Lance Taylor <iant@google.com>
+
+ PR target/46084
+ * explow.c (allocate_dynamic_stack_space): If flag_split_stack,
+ request enough additional space for alignment, and force alignment.
+
+2010-11-05 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/i386.c (legitimate_pic_address_disp_p):
+ Handle UNSPEC_PCREL.
+ (ix86_legitimate_address_p): Likewise.
+ (legitimize_pic_address): Likewise.
+ (output_pic_addr_const): Likewise.
+ (ix86_delegitimize_address): Likewise.
+ (ix86_find_base_term): Likewise.
+ (memory_address_length): Likewise.
+ (x86_output_mi_thunk): Handle special case x64
+ for non local binding.
+ * config/i386/i386.md (UNSPEC_PCREL): New.
+ * config/i386/winnt.c (i386_pe_binds_local_p):
+ Allow weak symbol for x64 windows with non-local binding.
+
+2010-11-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/45670
+ * expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM
+ instead of EXPAND_NORMAL for base expansion.
+
+2010-11-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config.gcc: Support --with-fpmath=avx for x86.
+ * config/i386/avxmath.h: New.
+ * doc/install.texi (--with-fpmath=): Document --with-fpmath=avx.
+
+2010-11-05 Ian Lance Taylor <iant@google.com>
+
+ * tree.h (struct tree_type): Don't use descbits in GTY annotation.
+ * gengtype.c (walk_type): Don't recognize descbits option.
+
+2010-11-05 Joseph Myers <joseph@codesourcery.com>
+
+ * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
+ WORD_SWITCH_TAKES_ARG): Remove.
+ * doc/options.texi (Args): Document.
+ * doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
+ * doc/tm.texi: Regenerate.
+ * opt-functions.awk (switch_flags): Handle Args.
+ * opts-common.c: Update comment on tm.h include.
+ (decode_cmdline_option): Handle options with multiple arguments.
+ Don't check WORD_SWITCH_TAKES_ARG for unknown options.
+ * opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define.
+ (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
+ CL_COMMON): Update values.
+ * system.h (WORD_SWITCH_TAKES_ARG): Poison.
+ * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
+ * config/darwin.opt (Zsegaddr, sectalign, sectcreate,
+ sectobjectsymbols, sectorder, segcreate, segprot): New.
+
+2010-11-05 H.J. Lu <hongjiu.lu@intel.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_expand_move): Set use_avx256_p if
+ 256bit AVX register is used.
+ (ix86_expand_vector_move_misalign): Likewise.
+ (ix86_expand_vector_move): Replace use_avx256_p with
+ VALID_AVX256_REG_MODE.
+
+2010-11-05 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/44750
+ * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
+ change. Set $@-warn.o to -Wno-error.
+
+ PR bootstrap/44756
+ * expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before
+ comparing it to a signed value.
+
+ PR middle-end/44766
+ * expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
+ PR bootstrap/44770
+ * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
+ to i.
+
+ PR target/44754
+ * config/m32c/m32c.c (m32_function_arg): Rename declaration to...
+ (m32c_function_arg). Add comma between arguments two and three.
+ (m32c_promote_prototypes): Remove declaration.
+ (current_function_special_page_vector): Likewise.
+ (m32c_regno_reg_class): Change return type to enum reg_class.
+ (m32c_pushm_popm): Use add_reg_note.
+ (m32c_push_rounding): Change return type to unsigned int.
+ (m32c_legitimize_reload_address): Cast argument 11 to push_reload to
+ enum reload_type.
+ (m32c_insert_attributes): Constify variable name.
+ (m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl.
+ (m32c_prepare_shift): Remove variable lref.
+ (m32c_expand_movcc): Remove variable cmp.
+ (m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE.
+ (m32c_compare_redundant): Remove variable op2.
+ * config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include.
+ (m32c_pragma_memregs): Assign the number to target_memregs.
+ (m32c_pragma_address): Remove variable var_str.
+ * config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to
+ enum reg_class.
+ (LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
+ * config/m32c/bitops.md (andsi3): Add default case to switch.
+ (iorsi3, xorsi3): Likewise.
+ * config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise.
+ * config/m32c/jump.md (call, call_value): Likewise.
+ * config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype.
+ (m32c_regno_reg_class): Likewise.
+ (current_function_special_page_vector): Declare.
+
+2010-11-05 Jakub Jelinek <jakub@redhat.com>
+
+ * cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
+
+ PR tree-optimization/46099
+ * tree-parloops.c (take_address_of): Add GSI argument. Return NULL
+ if it is NULL and uid wasn't found in the hash table. Just fold the
+ result if it is NULL otherwise. Insert other potentially needed
+ stmts right before current stmt instead of on the entry edge.
+ (struct elv_data): Add gsi and reset fields.
+ (eliminate_local_variables_1): Adjust caller. If take_address_of
+ failed for debug stmt, set dta->reset and return.
+ (eliminate_local_variables_stmt): Change STMT argument for GSI,
+ pass GSI through to the callback, handle resetting of debug stmts.
+ (eliminate_local_variables): Adjust caller. Process debug stmts
+ in second phase.
+
+ PR middle-end/43690
+ * gimplify.c (gimplify_asm_expr): If a "m" input is a
+ {pre,post}{in,de}crement, fail.
+
+ PR debug/46307
+ * tree-ssa-operands.c (get_expr_operands): Handle FMA_EXPR.
+ * tree-pretty-print.c (dump_generic_node): Likewise.
+ (op_code_prio): Likewise.
+ * cfgexpand.c (expand_debug_expr): Likewise.
+
+2010-11-04 Paul Koning <ni1d@arrl.net>
+
+ * doc/md.texi (Machine Constraints): Correct formatting in PDP-11
+ constraints.
+
+2010-11-04 Chao-ying Fu <fu@mips.com>
+
+ * configure.ac: Test assembler support for DSP Rev1 mult.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/mips/mips.h (ISA_HAS_DSP_MULT): New define.
+ * config/mips/mips.c (CODE_FOR_mips_mult): New define.
+ (CODE_FOR_mips_multu): New define.
+ (mips_builtins): Move madd, maddu, msub, msubu, mult, multu from
+ dspr2_32 to dsp_32.
+ (mips_mulsidi3_gen_fn): Test (TARGET_FIX_R4000 && !ISA_HAS_DSP).
+ Delete returns when ISA_HAS_DSPR2 because the old patterns are deleted.
+ * config/mips/mips-dsp.md (mips_madd<u>, mips_msub<u>):
+ New define_expand patterns.
+ * config/mips/constraints.md (ka): Update the constraint to test
+ ISA_HAS_DSP_MULT instead of ISA_HAS_DSPR2.
+ * config/mips/mips-dspr2.md (mips_madd<u>, mips_msub<u>, mips_mult,
+ mips_multu): Delete.
+ * config/mips/mips.md (<u>mulsidi3_32bit): Add comments.
+ Change target constraint to "ka".
+ Use (!TARGET_FIX_R4000 || ISA_HAS_DSP), instead of
+ (!TARGET_FIX_R4000 && !ISA_HAS_DSPR2).
+ Emit the accumulator destination when ISA_HAS_DSP_MULT.
+ (<u>msubsidi4): Add comments. Test ISA_HAS_DSP.
+ Emit the accumulator destination when ISA_HAS_DSP_MULT.
+ (<u>maddsidi4): Likewise.
+ * doc/extend.texi (MIPS DSP Built-in Functions): Move madd, maddu,
+ msub, msubu, mult, multu built-in functions from DSP r2 to DSP r1.
+
+2010-11-04 Paul Koning <ni1d@arrl.net>
+
+ * doc/md.texi (Machine Constraints): Add PDP-11 constraints.
+
+2010-11-04 Paul Koning <ni1d@arrl.net>
+
+ * doc/invoke.texi (PDP-11 Options): Delete -msplit, -mno-split.
+
+2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Fixed using the Objective-C 2.0 dot-syntax with class names.
+ * c-parser.c (c_parser_next_token_starts_declspecs): In
+ Objective-C, detect Objective-C 2.0 dot-syntax with a class name.
+ (c_parser_next_token_starts_declaration): Same.
+ (c_parser_postfix_expression): Parse the Objective-C 2.0
+ dot-syntax with a class name.
+
+2010-11-04 Pat Haugen <pthaugen@us.ibm.com>
+
+ * final.c (compute_alignments): Compute/free loop info all the time.
+ * config/rs6000/rs6000.h (LOOP_ALIGN): Define.
+ * config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare.
+ * config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h.
+ * config/rs6000/rs6000.c (cfgloop.h): Include.
+ (can_override_loop_align): New.
+ (rs6000_option_override_internal): Set it.
+ (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook.
+ (rs6000_loop_align): New function.
+ (rs6000_loop_align_max_skip): Likewise.
+
+2010-11-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR driver/45703
+ * collect2.c (main): Print --help output to stdout. Do not
+ exit right away, so ld --help is appended. Add empty lines
+ to separate output suitably.
+
+2010-11-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46233
+ * ipa-pure-const.c (local_pure_const): Do noreturn discovery
+ after calling analyze_function, not before.
+
+ PR target/46234
+ * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
+ instead of build_va_arg_indirect_ref.
+ * config/spu/spu.c (spu_va_start): Likewise.
+ * config/s390/s390.c (s390_va_start): Likewise.
+
+2010-11-03 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/46292
+ * lower-subreg.c (simplify_subreg_concatn): For VOIDmode elements,
+ if the innermode is not vector mode, determine the mode of a subreg
+ by using mode_for_size of inner_size.
+
+2010-11-04 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/46183
+ * gcse.c (execute_rtl_cprop): Cleanup the CFG if something changed.
+ (execute_rtl_pre): Likewise.
+ (execute_rtl_hoist): Likewise.
+
+2010-11-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46068
+ * ipa-split.c (consider_split): Remove gcc_unreachable.
+
+2010-11-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-nested.c (build_addr): Use build_fold_addr_expr.
+
+2010-11-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45991
+ * gimplify.c (force_gimple_operand_1): Use the provded test
+ function in the initial test.
+
+2010-11-04 Jeff Law <law@redhat.com>
+
+ * ira.c (validate_equiv_mem): Remove code to avoid invalidation
+ of readonly memory equivalances for const/pure calls.
+
+2010-11-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45733
+ * tree-vect-stmts.c (reverse_vec_elements): Honor the
+ permute builtins function return type.
+
+2010-11-04 Joern Rennecke <amylaar@spamcop.net>
+
+ PR middle-end/44765
+ * emit-rtl.c (gen_rtx_REG): Before using PIC_OFFSET_TABLE_REGNUM
+ as an index, check it is not INVALID_REGNUM.
+
+ PR bootstrap/44756
+ * ifcvt.c (noce_emit_cmove): Add ATTRIBUTE_UNUSED to target and
+ unsignedp.
+ * reload1.c (set_reload_reg): Add ATTRIBUTE_UNUSED to regno.
+
+ PR bootstrap/44756
+ * function.c (thread_prologue_and_epilogue_insns): Add
+ ATTRIBUTE_UNUSED to seq, epilogue_end and entry_edge.
+
+ PR bootstrap/44756
+ * varasm.c (asm_output_bss): Add ATTRIBUTE_UNUSED to function.
+
+ PR target/44750
+ * config/pdp11/pdp11.c: (pdp11_secondary_reload): Now static.
+ (pdp11_preferred_reload_class): Rename class to rclass.
+ (pdp11_preferred_output_reload_class): Likewise.
+ * config/pdp11/t-pdp11 (dwarf2out.o): Add -Wno-error=type-limits to
+ ALL_COMPILERFLAGS .
+ (java/constants.o): Add -Wno-error to ALL_COMPILERFLAGS.
+
+ PR bootstrap/44756
+ * genopinit.c (main) [FIXUNS_TRUNC_LIKE_FIX_TRUNC]: Cast
+ iteration variables to enum machine_mode.
+
+ PR target/44751
+ * config/h8300/h8300.c: Include df.h.
+ (push, pop): Use add_reg_note.
+ (compute_plussi_cc, compute_logical_op_cc): Return enum attr_c.
+ (compute_a_shift_cc): Likewise.
+ (expand_a_shift): Argument code has type enum rtx_code.
+ (struct shift_insn): Member cc_valid has type enum attr_cc.
+ (struct shift_info) <cc_inline, cc_special>: Likewise.
+ enum attr_cc.
+ * config/h8300/h8300-protos.h (compute_plussi_cc): Update prototype.
+ (compute_a_shift_cc, compute_logical_op_cc, expand_a_shift): Likewise.
+
+2010-11-04 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/46213
+ * tree-vect-loop.c (vect_is_simple_reduction_1): Handle
+ MINUS_EXPR only if the first operand is reduction operand.
+
+2010-11-04 Richard Guenther <rguenther@suse.de>
+ Richard Henderson <rth@redhat.com>
+
+ * tree.def (FMA_EXPR): New tree code.
+ * expr.c (expand_expr_real_2): Add FMA_EXPR expansion code.
+ * gimple.c (gimple_rhs_class_table): FMA_EXPR is a GIMPLE_TERNARY_RHS.
+ * tree-cfg.c (verify_gimple_assign_ternary): Verify FMA_EXPR types.
+ * tree-inline.c (estimate_operator_cost): Handle FMA_EXPR.
+ * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
+ * tree-ssa-math-opts.c (convert_mult_to_fma): New function.
+ (execute_optimize_widening_mul): Call it. Reorganize to allow
+ dead stmt removal. Move TODO flags ...
+ (pass_optimize_widening_mul): ... here.
+ * flag-types.h (enum fp_contract_mode): New enum.
+ * common.opt (flag_fp_contract_mode): New variable.
+ (-ffp-contract): New option.
+ * opts.c (common_handle_option): Handle it.
+ * doc/invoke.texi (-ffp-contract): Document.
+ * tree.h (fold_fma): Declare.
+ * builtins.c (fold_fma): New function.
+ (fold_builtin_fma): Likewise.
+ (fold_builtin_3): Call it for fma.
+ * fold-const.c (fold_ternary_loc): Fold FMA_EXPR.
+ * optabs.c (optab_for_tree_code): Handle FMA_EXPR.
+ * config/i386/sse.md (fms<mode>4, fnma<mode>, fnms<mode>4):
+ New expanders.
+ * doc/md.texi (fms<mode>4, fnma<mode>, fnms<mode>4): Document new
+ named patterns.
+ * genopinit.c (optabs): Initialize fms_optab, fnma_optab and fnms_optab.
+ * optabs.h (enum optab_index): Add OTI_fms, OTI_fnma and OTI_fnms.
+ (fms_optab, fnma_optab, fnms_optab): New defines.
+ * gimplify.c (gimplify_expr): Handle binary truth expressions
+ explicitly. Handle FMA_EXPR.
+ * tree-vect-stmts.c (vectorizable_operation): Handle ternary
+ operations.
+
+2010-11-04 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
+ Richard Guenther <rguenther@suse.de>
+
+ * passes.c (init_optimization_passes): Move veclower after SSA.
+ * tree-vect-generic.c (uniform_vector_p): New function.
+ (expand_vector_operations_1): Handle conversion.
+ (pass_lower_vector): Update SSA form.
+
+2010-11-04 Iain Sandoe <iains@gcc.gnu.org>
+
+ * configure.ac: Filter -mdynamic-no-pic from CFLAGS when testing for
+ plugin capabilities.
+ * configure: Regenerate.
+
+2010-11-03 Xinliang David Li <davidxl@google.com>
+
+ PR target/46200
+ * tree-ssa-loop-ivopts.c (get_computation_cost_at):
+ Adjust cbase if the use stmt is after iv update.
+
+2010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config.gcc (sh64*) <tm_file>: Add newlib-stdint.h for newlib targets.
+
+2010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_expand_prologue): Remove unnecessary
+ comment. Pass true to the last argument of output_stack_adjust.
+
+2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46295
+ * config/i386/i386.c (ix86_expand_vector_move): Set use_avx256_p
+ if 256bit AVX register is used.
+
+2010-11-03 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support to use
+ xsmindp/xsmaxdp on VSX for single precision min/max.
+ * config/rs6000/vsx.md (vsx_smaxsf3): Ditto.
+ (vsx_sminsf3): Ditto.
+
+2010-11-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * combine.c (try_combine): Fix formatting issues, improve comments and
+ fix a pasto.
+
+2010-11-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-tailcall.c (find_tail_calls): Convert the operands to the type
+ of the result before building binary expressions.
+
+2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/45865
+ * Makefile.in (df-problems.o): Revert revision 164552.
+ * basic-block.h (enum bb_flags): Likewise.
+ * cfgcleanup.c (block_was_dirty): Likewise.
+ (try_forward_edges): Likewise.
+ (try_crossjump_bb): Likewise.
+ (try_head_merge_bb): Likewise.
+ (try_optimize_cfg): Likewise.
+ (cleanup_cfg): Likewise.
+ * df-core.c (df_set_bb_dirty): Likewise.
+ * df-problems.c: Likewise.
+ (df_simulate_find_uses): Likewise.
+ (MEMREF_NORMAL, MEMREF_VOLATILE): Likewise.
+ (find_memory, find_memory_store): Likewise.
+ (can_move_insns_across): Likewise.
+ * df.h (can_move_insns_across): Likewise.
+ * ifcvt.c (find_memory): Likewise.
+ (dead_or_predicable): Likewise.
+
+2010-11-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/46288
+ * predict.c (strip_predict_hints): Simply DCE builtin expect if
+ the result is unused.
+
+2010-11-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46009
+ * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call
+ cond_if_else_store_replacement if bb1 and bb2 have the same
+ single successor.
+ (cond_store_replacement): Use gimple_assign_single_p, don't
+ check if rhs is SSA_NAME or invariant. Call release_defs for
+ assign.
+ (cond_if_else_store_replacement): New function.
+
+2010-11-03 Richard Guenther <rguenther@suse.de>
+
+ * opts.c (finish_options): Properly check for all WHOPR
+ flags before complaining about -flto-partition.
+
+2010-11-04 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
+ (rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
+ TARGET_SECURE_PLT.
+ * config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
+ * config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
+ on input, "r" on output.
+
+2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Implemented -fobjc-std=objc1 flag.
+ * doc/invoke.texi (Option Summary): Document -fobjc-std=objc1
+ option.
+ * doc/standards.texi (Standards): Updated the section on
+ Objective-C; mention support for Objective-C 2.0 features and the
+ new -fstd-objc=objc1 flag to disable them.
+
+2010-11-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/46241
+ * dwarf2out.c (scope_die_for): Properly detect global scope.
+
+2010-11-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46190
+ * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+ Properly compute peel iterations.
+
+2010-11-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46286
+ * tree-ssa-structalias.c (get_constraint_for_1): Avoid referencing
+ re-allocated vector data.
+
+2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46285
+ * config/i386/i386.c (ix86_expand_call): Conditionally decorate
+ calls with UNSPEC_CALL_NEEDS_VZEROUPPER unspec before reload
+ is completed.
+
+2010-11-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46217
+ * tree-ssa.c (non_rewritable_mem_ref_base): Check if volatile
+ flag matches.
+ (execute_update_addresses_taken): Likewise.
+
+2010-11-03 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR bootstrap/44335
+ * targhooks.c (targhook_words_big_endian): New function.
+ (targhook_float_words_big_endian): Likewise.
+ * targhooks.h (targhook_words_big_endian): Declare.
+ (targhook_float_words_big_endian): Likewise.
+ * target.def (words_big_endian, float_words_big_endian): New hooks.
+
+2010-11-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46165
+ * tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing
+ a normal call into noreturn call.
+
+2010-11-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/46251
+ * builtins.c (expand_builtin_sincos): Properly build MEM_REFs,
+ not INDIRECT_REFs.
+
+2010-11-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46107
+ * cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags
+ if cfg_hook_duplicate_loop_to_header_edge failed.
+
+2010-11-03 Ian Lance Taylor <iant@google.com>
+
+ PR lto/46273
+ * config.gcc: Don't set lto_binary_reader.
+ * doc/install.texi (Prerequisites): Remove libelf paragraphs.
+ (Configuration): Mention --disable-lto. Remove --with-libelf
+ paragraph.
+
+2010-11-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46252
+ * reload1.c (delete_dead_insn): Use prev_active_insn instead of
+ prev_real_insn.
+ * gcse.c (insert_insn_end_basic_block): Likewise.
+
+ PR rtl-optimization/46034
+ PR rtl-optimization/46212
+ PR rtl-optimization/46248
+ * combine.c (try_combine): If added_sets_2 where i0dest_in_i0src
+ and i0 feeds i1 and i1 feeds i2 or i0 feeds i2, make a copy of i1src
+ before i0dest -> i0src substitution and pass 1 instead of 0 as last
+ argument to subst on i2pat.
+
+2010-11-02 Ian Lance Taylor <iant@google.com>
+
+ * configure.ac: Use AC_SYS_LARGEFILE.
+ * configure: Rebuild.
+ * config.in: Rebuild.
+
+2010-11-02 Nathan Froyd <froydnj@codesourcery.com>
+
+ * builtins.c (fold_builtin_signbit): Use build_zero_cst instead of
+ fold_convert.
+ * c-typeck.c (build_function_call_vec): Likewise.
+ * cfgexpand.c (expand_debug_expr): Likewise.
+ * cgraphunit.c (assemble_thunk): Likewise.
+ * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
+ * fold-const.c (fold_unary_loc, fold_mult_zconjz): Likewise.
+ (fold_binary_loc, fold_ternary_loc): Likewise.
+ * gimple-fold.c (get_symbol_constant_value): Likewise.
+ * gimple-low.c (lower_builtin_setjmp): Likewise.
+ * gimple.c (gimple_cond_get_ops_from_tree): Likewise.
+ * gimplify.c (gimplify_init_constructor): Likewise.
+ * lambda.h (build_linear_expr): Likewise.
+ * omp-low.c (omp_reduction_init): Likewise.
+ * tree-inline.c (remap_ssa_name): Likewise.
+ * tree-object-size.c (compute_object_sizes): Likewise.
+ * tree-sra.c (init_subtree_with_zero): Likewise.
+ (sra_ipa_modify_assign): Likewise.
+ * tree-ssa-copy.c (propagate_tree_value_into_stmt): Likewise.
+ * tree-ssa-reassoc.c (eliminate_duplicate_pair): Likewise.
+ (eliminate_plus_minus_pair, eliminate_not_pairs): Likewise.
+ (undistribute_ops_list): Likewise.
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
+ * tree-vect-stmts.c (vectorizable_call): Likewise.
+ * tree.c (build_vector_from_ctor, build_one_cst): Likewise.
+ (build_zero_cst): Handle more cases directly. Update comment.
+
+2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386-protos.h (ix86_split_call_pop_vzeroupper): Removed.
+ * config/i386/i386.c (ix86_split_call_pop_vzeroupper): Likewise.
+
+ * config/i386/i386.md (*call_pop_0_vzeroupper): Use parallel
+ and call ix86_split_call_vzeroupper instead of
+ ix86_split_call_pop_vzeroupper.
+ (*call_pop_1_vzeroupper): Likewise.
+ (*sibcall_pop_1_vzeroupper): Likewise.
+ (*call_value_pop_0_vzeroupper): Likewise.
+ (*call_value_pop_1_vzeroupper): Likewise.
+ (*sibcall_value_pop_1_vzeroupper): Likewise.
+
+2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (*sibcall_1_rex64_vzeroupper): Fix a typo.
+
+2010-11-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * basic-block.h (insert_insn_end_bb_new): Delete.
+ * cfgrtl.c (insert_insn_end_bb_new): Likewise.
+
+2010-11-02 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386-protos.h (ix86_split_call_vzeroupper): New.
+ (ix86_split_call_pop_vzeroupper): Likewise.
+
+ * config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite the loop.
+ (ix86_expand_call): Conditionally decorate calls with
+ UNSPEC_CALL_NEEDS_VZEROUPPER unspec.
+ (ix86_split_call_vzeroupper): New.
+ (ix86_split_call_pop_vzeroupper): Likewise.
+
+ * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New.
+ (*call_pop_0_vzeroupper): New insn_and_split pattern.
+ (*call_pop_1_vzeroupper): Likewise.
+ (*sibcall_pop_1_vzeroupper): Likewise.
+ (*call_0_vzeroupper): Likewise.
+ (*call_1_vzeroupper): Likewise.
+ (*sibcall_1_vzeroupper): Likewise.
+ (*call_1_rex64_vzeroupper): Likewise.
+ (*call_1_rex64_ms_sysv_vzeroupper): Likewise.
+ (*call_1_rex64_large_vzeroupper): Likewise.
+ (*sibcall_1_rex64_vzeroupper): Likewise.
+ (*call_value_pop_0_vzeroupper): Likewise.
+ (*call_value_pop_1_vzeroupper): Likewise.
+ (*sibcall_value_pop_1_vzeroupper): Likewise.
+ (*call_value_0_vzeroupper): Likewise.
+ (*call_value_0_rex64_vzeroupper): Likewise.
+ (*call_value_0_rex64_ms_sysv_vzeroupper): Likewise.
+ (*call_value_1_vzeroupper): Likewise.
+ (*sibcall_value_1_vzeroupper): Likewise.
+ (*call_value_1_rex64_vzeroupper): Likewise.
+ (*call_value_1_rex64_ms_sysv_vzeroupper): Likewise.
+ (*call_value_1_rex64_large_vzeroupper): Likewise.
+ (*sibcall_value_1_rex64_vzeroupper): Likewise.
+
+2010-11-02 Ian Lance Taylor <iant@google.com>
+
+ PR lto/46273
+ * config.gcc: Revert last patch: set lto_binary_reader.
+
+2010-11-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46149
+ * tree-ssa-structalias.c (get_constraint_fop_1): Properly handle
+ non-indirect MEM_REF variants.
+
+2010-11-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46216
+ * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
+ Check if we can propagate from a POINTER_PLUS_EXPR before doing so.
+
+2010-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (*-*-irix6*): Disable set_have_as_tls.
+ (*-*-osf*): Likewise.
+ * configure: Regenerate.
+
+2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Updated
+ for Intel Core 2 and Core i7.
+
+2010-11-02 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ Model decoder of Core 2/i7 for multipass scheduling.
+
+ * config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_):
+ New type to hold target-specific data for multipass scheduling.
+ (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
+ * config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for
+ Core 2/i7.
+ (core2i7_secondary_decoder_max_insn_size,)
+ (core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns):
+ New static variables.
+ ([const_]ix86_first_cycle_multipass_data_t): New typedefs.
+ ([_]ix86_first_cycle_multipass_data): New static variable.
+ (core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle):
+ Implement targetm.sched hooks.
+ (core2i7_first_cycle_multipass_filter_ready_try): New static subroutine
+ of ...
+ (core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}):
+ Implement new targetm.sched hooks.
+ (ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define
+ targetm.sched hook to install multipass scheduling hooks on demand.
+
+ * doc/tm.texi.in: Document new targetm.sched hooks.
+ * doc/tm.texi: Regenerate.
+
+ * haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
+ (first_cycle_multipass_data_t): New typedef.
+ (struct choice_entry: target_data): New field.
+ (max_issue): Add first_cycle_insn_p parameter. Call new target hooks
+ to allow target model restrictions not represented in DFA.
+ (choose_ready, schedule_block): Update.
+ (sched_extend_ready_list, sched_finish_ready_list): Call new target
+ hooks to initialize target-specific data for multipass scheduling.
+ * sched-int.h (max_issue): Update declaration.
+ * sel-sched.c (choose_best_insn): Update.
+ * target.def (first_cycle_multipass_{begin, issue, backtrack},)
+ (first_cycle_multipass_{init, fini}): Define and document new
+ targetm.sched hooks.
+
+2010-11-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46184
+ * tree-vect-loop.c (vectorizable_reduction): Try to obtain the
+ input vector type from the reduction operand as well.
+
+2010-11-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46177
+ * tree-loop-distribution.c (prop_phis): Use
+ mark_virtual_phi_result_for_renaming.
+
+2010-11-02 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/46120
+ * tree.c (get_binfo_at_offset): Bail out on artificial
+ fields. Identify primary bases according to their offsets.
+
+2010-11-02 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/45875
+ * gimple-fold.c (get_first_base_binfo_with_virtuals): Removed.
+ (gimple_get_relevant_ref_binfo): Detect primary bases according to
+ their field offset.
+
+2010-11-02 Ian Lance Taylor <iant@google.com>
+
+ * doc/install.texi (Configuration): Note in two places that Java
+ is not enabled by default.
+
+2010-11-02 Ian Lance Taylor <iant@google.com>
+
+ * doc/install.texi (Prerequisites): Remove libelf paragraphs.
+ (Configuration): Mention --disable-lto. Remove --with-libelf
+ paragraph.
+
+2010-11-02 Ian Lance Taylor <iant@google.com>
+
+ * configure.ac: Remove elf_getshdrstrndx test. Don't substitute
+ LTO_BINARY_READER or LTO_USE_LIBELF. Remove LIBELFLIBS and
+ LIBELFINC. Remove HAVE_libelf.
+ * config.gcc: Don't set lto_binary_reader.
+ * Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables.
+ (LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables.
+ (LIBS): Remove $(LIBELFLIBS).
+ (INCLUDES): Remove $(LIBELFINC).
+ * configure: Rebuild.
+ * config.in: Rebuild.
+
+2010-11-02 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/microblaze/microblaze-protos.h (function_arg): Delete.
+ (function_arg_advance): Delete.
+ * config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete.
+ (FUNCTION_ARG): Delete.
+ * config/microblaze/microblaze.c (function_arg_advance): Rename to...
+ (microblaze_function_arg_advance): ...this. Make static. Take a
+ const_tree and a bool.
+ (function-arg): Rename to...
+ (microblaze_function_arg): ...this. Make static. Take a const_tree
+ and a bool.
+ (microblaze_expand_prologue): Call targetm.calls.function_arg and
+ targetm.calls.function_arg_advance.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-11-02 Iain Sandoe <iains@gcc.gnu.org>
+
+ Merge from FSF "apple/trunk" branch.
+
+ * config/rs6000/darwin.opt (mdynamic-no-pic): move from here ...
+ * config/darwin.opt: .. to here.
+ (matt-stubs): New option.
+ * config/i386/darwin.opt: Delete.
+ * config/i386/i386.h (MACHOPIC_ATT_STUB): New.
+ (MACHO_DYNAMIC_NO_PIC_P): New.
+ (MACHOPIC_INDIRECT): New.
+ (MACHOPIC_PURE): New.
+ * config/i386/darwin.h (DARWIN_X86) Define to 1.
+ (MACHOPIC_ATT_STUB): New.
+ (CC1_SPEC): Do not remove mdynamic-no-pic.
+ Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
+ (FUNCTION_PROFILER): Correct over-length line.
+ (SUBTARGET_OVERRIDE_OPTIONS): New.
+ (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
+ * config/i386/i386.c (config/i386/i386.c): Darwin has no PLT.
+ (legitimate_constant_p): Handle mdynamic-no-pic.
+ (ix86_legitimate_address_p): Likewise.
+ (ix86_legitimize_address): Likewise.
+ (ix86_expand_move): Likewise.
+ (machopic_output_stub): Update for ATT-style stubs and
+ mdynamic-no-pic.
+ * config/darwin-protos.h (machopic_symbol_defined_p): New.
+ * config/rs6000/darwin.h (DARWIN_PPC): Define to 1.
+ TARGET_DYNAMIC_NO_PIC: Remove.
+ Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
+ * config/rs6000/rs6000.c (darwin_rs6000_override_options):
+ Remove handling of mdynamic-no-pic.
+ * config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low):
+ Define if required.
+ (machopic_symbol_defined_p): Do not try to use current_function_decl
+ when generating _get_pc thunks within stubs.
+ (machopic_indirect_data_reference): Rework for direct conditionals
+ rather than #ifdefs, add x86 mdynamic-no-pic
+ (machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a
+ defined value.
+ (darwin_override_options): Handle mdynamic-no-pic here.
+ * config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New.
+ (machopic_lazy_symbol_ptr3_section): New.
+ (machopic_picsymbol_stub2_section): New.
+ (machopic_picsymbol_stub3_section): New.
+ * config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0.
+ (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
+ (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
+ Moved common definition from x86 and rs6000.
+ (MACHO_DYNAMIC_NO_PIC_P): Override value.
+ (MACHOPIC_INDIRECT): Likewise.
+ (MACHOPIC_PURE): Likewise.
+ * config.gcc (x86-darwin-*): Remove darwin.opt.
+
+2010-11-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46255
+ * tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
+ instead of gsi_last_bb.
+
+2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/i386/i386.c (cpu_names): Add "corei7".
+ * config/i386/i386.h (enum target_cpu_default): Add entry for Core i7.
+
+2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ Tune alignment for Intel Core i7
+
+ * config/i386.h (TARGET_COREI7{_32,_64,}): New macros.
+ (enum processor_type): Update comment. Add entries for Core i7.
+ * config/i386-c.c (ix86_target_macros_internal): Update.
+ * config/i386.c (m_COREI7{_32,_64}): New macros.
+ (m_GENERIC32, m_GENERIC64): Use generic tuning for Core i7.
+ (processor_target_table): Tune alignment for Core i7.
+ (ix86_option_override_internal): Use PROCESSOR_COREI7_*.
+
+ * doc/invoke.texi: Document "corei7" option value.
+
+2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
+ H.J. Lu <hjl.tools@gmail.com>
+
+ Basic support for Intel Core i7
+
+ * i386.c (ix86_option_override_internal): Add entry for corei7, use
+ generic tuning. Use generic32 when compiling for 32-bit ABI.
+
+2010-11-02 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.c (darwin_asm_named_section): Check for __DWARF
+ sections and call darwin_asm_dwarf_section() to handle them.
+ (darwin_asm_dwarf_section): New.
+ (darwin_file_start): Remove code emitting dwarf section symbols.
+
+2010-11-02 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector, to
+ explicitly disable stack protection when building libgcc.
+ (CRTSTUFF_CFLAGS): Same, for crtbegin/end.
+
+2010-11-01 Jason Merrill <jason@redhat.com>
+
+ * fold-const.c (fold_indirect_ref_1): Handle folding
+ POINTER_PLUS_EXPR to ARRAY_REF.
+
+2010-11-01 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
+ (sh_delegitimize_address): New function.
+
+2010-11-01 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
+ * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
+ (CC1_SPEC): Don't handle -target.
+ * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
+ options.
+ * config/darwin.opt (Zallowable_client, Zbundle_loader,
+ Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
+ Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
+ Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
+ Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
+ Zweak_reference_mismatches, client_name, compatibility_version,
+ current_version, dylinker_install_name, pagezero_size,
+ read_only_relocs, seg1addr, segs_read_only_addr,
+ segs_read_write_addr, sub_library, sub_umbrella): New.
+ * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
+ * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
+ * config/freebsd.opt: New.
+ * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
+ * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
+ * config/rpath.opt: New.
+ * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
+ (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
+ Use rpath.opt.
+
+2010-11-01 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
+ * defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
+ (DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
+ * doc/tm.texi.in (SWITCH_TAKES_ARG): Remove.
+ (WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG.
+ Document that options in .opt files do not need to be included.
+ * doc/tm.texi: Regenerate.
+ * gcc.c (LINK_COMMAND_SPEC): Don't include %{x}.
+ * opts-common.c: Update comment on tm.h include.
+ (decode_cmdline_option): Don't use SWITCH_TAKES_ARG.
+ * system.h (SWITCH_TAKES_ARG): Poison.
+ * config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove.
+ * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included
+ in darwin.opt.
+ (LINK_COMMAND_SPEC_A): Don't include %{x}.
+ * config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
+ * config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove.
+ * config/freebsd.h (SWITCH_TAKES_ARG): Remove.
+ * config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
+ * config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}.
+ * config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove.
+ * config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T options.
+ * config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove.
+ * config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
+ * config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove.
+ * config/mips/mips.h (SWITCH_TAKES_ARG): Remove.
+ * config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove.
+ * config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove.
+ * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove.
+ * config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove.
+ * config/openbsd.h (SWITCH_TAKES_ARG): Remove.
+ * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove.
+ * config/score/score.h (SWITCH_TAKES_ARG): Remove.
+ * config/sol2.h (SWITCH_TAKES_ARG): Remove.
+ * config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove.
+ * config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove.
+ * config/sparc/sparc.h (ASM_SPEC): Don't include %{R}.
+ * config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
+
+2010-11-01 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md: Use iterators.
+ (addqi3, subqi3, iorsi3, xorsi3): Delete.
+
+2010-11-01 Steve Ellcey <sje@cup.hp.com>
+
+ * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef
+ GCC_INSN_FLAGS_H.
+ * libgcov.c (__gcov_indirect_call_profiler): Set
+ VTABLE_USES_DESCRIPTORS if TARGET_VTABLE_USES_DESCRIPTORS is
+ defined and use in place of TARGET_VTABLE_USES_DESCRIPTORS.
+
+2010-11-01 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR tree-optimization/46259
+
+ Revert:
+ 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
+ * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
+ build_vector_from_val.
+
+2010-11-01 DJ Delorie <dj@redhat.com>
+
+ * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add define for RX610
+ as well as an assertion.
+
+2010-11-01 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.c (pdp11_return_in_memory): Return vector and
+ complex modes in memory.
+
+2010-11-01 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.c (build_vector_from_val): Use useless_type_conversion_p.
+
+2010-11-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/45250
+ * var-tracking.c (cfa_base_rtx): Move definition earlier in the file.
+ (cfa_base_offset): New variable.
+ (compute_cfa_pointer): Use cfa_base_rtx and cfa_base_offset.
+ (adjust_mems): Don't do any sp or hfp replacements if cfa_base_rtx
+ is NULL.
+ (vt_init_cfa_base): Initialize cfa_base_offset.
+
+2010-11-01 Alan Modra <amodra@gmail.com>
+
+ PR target/46030
+ * config/rs6000/rs6000.c (struct rs6000_stack): Add reload_completed
+ and savres_strategy.
+ (stack_info): New file scope var.
+ (rs6000_init_machine_status): Init stack_info.
+ (SAVRES_INLINE_FPRS, SAVRES_INLINE_GPRS,
+ SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
+ SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): Replace with..
+ (SAVE_INLINE_FPRS, SAVE_INLINE_GPRS, REST_INLINE_FPRS, REST_INLINE_GPRS,
+ SAVE_NOINLINE_GPRS_SAVES_LR, SAVE_NOINLINE_FPRS_SAVES_LR
+ REST_NOINLINE_FPRS_DOESNT_RESTORE_LR): ..this. Update all refs.
+ (rs6000_savres_strategy): Rewrite.
+ (rs6000_stack_info): Use "stack_info" in place of local "info".
+ Return cached stack info when reload_completed unless ENABLE_CHECKING
+ in which case confirm newly calculated stack info matches old info.
+ Delay calculation of lr_save_p, set it for out of line gp save/restore
+ as well as fp. Call rs6000_savres_strategy from here..
+ (rs6000_emit_prologue, rs6000_emit_epilogue): ..rather than here.
+ (rs6000_output_function_prologue): Use info->savres_strategy to
+ determine whether fp save/restore externs need to be emitted.
+
+2010-10-31 Jason Merrill <jason@redhat.com>
+
+ * tree.h (EXPR_LOC_OR_HERE): New macro.
+ * builtins.c (c_strlen): Use it.
+ * c-decl.c (build_enumerator): Likewise.
+ * gimplify.c (internal_get_tmp_var): Likewise.
+ (shortcut_cond_expr): Likewise.
+ (gimplify_one_sizepos): Likewise.
+
+2010-10-31 Richard Henderson <rth@redhat.com>
+
+ * config/i386/cygming.h (TARGET_SEH): New.
+ (MAX_STACK_ALIGNMENT): New. Disable alignment for SEH.
+ (TARGET_ASM_UNWIND_EMIT, TARGET_ASM_UNWIND_EMIT_BEFORE_INSN,
+ TARGET_ASM_FUNCTION_END_PROLOGUE, SUBTARGET_ASM_UNWIND_INIT): New.
+ (TARGET_OS_CPP_BUILTINS): Define __SEH__ as needed.
+ (ASM_DECLARE_FUNCTION_NAME): Use i386_pe_start_function.
+ (ASM_DECLARE_FUNCTION_SIZE): New.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/i386.c (ix86_option_override_internal): Enable
+ flag_unwind_tables with flag_asynchronous_unwind_tables immediately;
+ restrict -mpreferred-stack-boundary for SEH; enable flag_fentry.
+ (ix86_asm_output_function_label): Use SUBTARGET_ASM_UNWIND_INIT.
+ (ix86_compute_frame_layout): For SEH, disable
+ use_fast_prologue_epilogue, move frame pointer to the end of
+ the frame. Initialize hfp_save_offset.
+ (ix86_expand_prologue): Honor hfp_save_offset. Emit blockage
+ at end of prologue for SEH.
+ (ix86_expand_epilogue): For SEH, use pops, emit a nop if needed,
+ emit blockage at beginning of epilogue.
+ (ix86_expand_binary_operator): After reload, emit LEA if needed.
+ (ix86_output_call_insn): New.
+ * config/i386/i386.h (TARGET_SEH): New.
+ (struct machine_function): Add member seh.
+ * config/i386/i386.md (all call patterns): Use ix86_output_call_insn.
+ * config/i386/winnt.c (struct seh_frame_state): New.
+ (i386_pe_seh_init, i386_pe_seh_end_prologue, i386_pe_seh_fini,
+ seh_emit_push, seh_emit_save, seh_emit_stackalloc, seh_cfa_adjust_cfa,
+ seh_cfa_offset, seh_frame_related_expr, i386_pe_seh_unwind_emit,
+ i386_pe_start_function, i386_pe_end_function): New.
+
+ * dwarf2out.c (dwarf2out_frame_debug_expr): Accept CFA as well
+ as CFA_STORE in rules 12 and 13.
+
+2010-10-31 Uros Bizjak <ubizjak@gmail.com>
+
+ PR tree-optimization/46142
+ * tree-vect-stmts.c (vectorizable_call): Enlarge dt array to
+ accommodate third function argument.
+
+2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst.
+
+2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
+
+ * fold-const.c (build_zero_vector): Use build_vector_from_val.
+ * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
+ (get_initial_def_for_reduction): Likewise.
+ * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
+ * tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise.
+ * tree.c (build_one_cst): Likewise.
+ (build_vector_from_val): Use types_compatible_p for assert.
+
+2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
+
+ * emit-rtl.c (mark_used_flags): New function.
+ (set_used_flags, reset_used_flags): Call it.
+
+2010-10-30 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/44569
+ * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
+ determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
+
+2010-10-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46195
+ * config/i386/i386.c (contains_aligned_value_p): Renamed to ...
+ (ix86_compat_aligned_value_p): This.
+ (ix86_old_function_arg_boundary): Renamed to ...
+ (ix86_compat_function_arg_boundary): This. Updated.
+ (ix86_contains_aligned_value_p): New.
+ (ix86_function_arg_boundary): Align long double parameters on
+ stack to 4byte in 32bit.
+
+2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
+ * c-parser.c (c_parser_objc_at_property_declaration): Removed
+ parsing of RID_COPIES and RID_IVAR. Updated call to
+ objc_add_property_declaration.
+ * c-typecheck.c (build_component_ref): Call
+ objc_maybe_build_component_ref instead of objc_build_setter_call.
+ Use objc_is_property_ref to improve Objective-C checks.
+ (cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
+ of objc_build_getter_call.
+
+2010-10-29 Paul Koning <ni1d@arrl.net>
+
+ * doc/tm.texi.in (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
+ REGNO_MODE_OK_FOR_REG_BASE, REGNO_MODE_CODE_OK_FOR_BASE_P,
+ REGNO_OK_FOR_INDEX_P): Delete non-strict variant.
+ (REG_OK_STRICT): Move description.
+
+2010-10-29 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>.
+
+2010-10-29 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE.
+
+2010-10-29 Paul Koning <ni1d@arrl.net>
+
+ PR/41822
+ * config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error.
+
+2010-10-29 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/46226
+ * stmt.c (expand_asm_operands): Call do_pending_stack_adjust
+ for asm goto.
+
+2010-10-29 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
+ register to register move.
+
+2010-10-29 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.c (print_operand_address): Correct handling
+ of integer constant addresses, delete vax-only logic.
+
+2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (picochip_is_short_branch): Simplify
+ a conditional expression.
+
+2010-10-29 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
+ instruction encoding.
+
+2010-10-29 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
+ Andrew Pinski <pinskia@gmail.com>
+
+ * tree.h (build_vector_from_val): Declare.
+ * tree.c (build_vector_from_val): New function.
+ * c-typeck.c (build_binary_op): Handle vector shifting.
+ * doc/extend.texi: Description of the vector shifting operation.
+
+2010-10-29 Paul Koning <pkoning@equallogic.com>
+
+ * config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
+ pdp11_secondary_memory_needed): Declare.
+ * config/pdp11/predicates.md (float_operand): New predicate.
+ * config/pdp11/pdp11.md (RETVAL_REGNUM): New constant.
+ (cbranchdf4, movdf): Change predicate.
+ (movsf): Handle FPU register case.
+ (truncdfsf2, extendsfdf2): Add FPU register case.
+ * config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD,
+ TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS,
+ TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
+ (pdp11_register_move_cost): Update cost matrix.
+ (pdp11_cannot_change_mode_class, pdp11_preferred_reload_class,
+ pdp11_preferred_output_reload_class, pdp11_secondary_reload,
+ pdp11_secondary_memory_needed): New function.
+ (pdp11_return_in_memory): Add other float types.
+ * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float types.
+ (SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define.
+ (PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS,
+ REGISTER_MOVE_COST): Delete.
+ (BASE_RETURN_VALUE_REG): Add other float types.
+
+2010-10-29 Nick Clifton <nickc@redhat.com>
+
+ * doc/invoke.texi: Document -mam34 and -mtune options.
+ * config/mn10300/mn10300.c (mn10300_tune_string): New variable.
+ (mn10300_tune_cpu): New variable.
+ (mn10300_handle_option): Handle -mam34 and -mtune options.
+ (mn10300_option_override): Convert tune string into tune cpu variable.
+ (mn10300_legitimate_constant_p): Delete unused local variable.
+ (is_load_insn): New function.
+ (is_store_insn): New function.
+ (mn10300_adjust_schedule_cost): New function.
+ (TARGET_SCHED_ADJUST_COST): Define.
+ * config/mn10300/mn10300.opt (mam34): New option.
+ (mtune): New option.
+ * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add AM34 support.
+ (enum processor_type): Add AM34.
+ (TARGET_AM34): Define.
+ * config/mn10300/mn10300.md (attr cpu): Add am34.
+ Add pipeline description.
+ (movqi, movhi, movsi, movsf, movdf, movdi): Fix predicates.
+ Remove unneeded alternatives. Add timing attribute.
+ (pop_pic_reg, am33_addsi3, mn10300_addsi3, am33_subsi3,
+ mn10300_subsi3, mulsidi3, umulsidi3, am33_mulsi3,
+ mn10300_mulsi3, udivmodsi4_am33, divmodsi4, am33_andsi3,
+ mn10300_andsi3, am33_iorsi3, mn10300_iorsi3, am33_xorsi3,
+ mn10300_xorsi3, byte_clear, byte_set, bit_clear1, bit_clear2,
+ bit_set, am33_iorqi3, mn10300_iorqi3, test_byte_bitfield,
+ bit_test, subreg_bit_test, cmpsi, am33_cmpsf, am33_subsi3,
+ float_conditional_branch, jump, indirect_jump, tablejump,
+ call_internal, call_value_internal, zero_extendqisi2_am33,
+ zero_extendqisi2_mn10300, zero_extendhisi2_am33,
+ zero_extendhisi2_mn10300, extendqisi2_am33, extendqisi2_mn10300,
+ extendhisi2_am33, extendhisi2_mn10300, am33_ashlsi3,
+ mn10300_ashlsi3, am33_lshrsi3, mn10300_lshrsi3, am33_ashrisi3,
+ mn10300_ashrsi3, abssf2_am33_2, negsf2_am33_2, rsqrtsf2,
+ addsf3_internal, subsf3_internal, mulsf3_internal, divsf3,
+ fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4, return_internal,
+ return_internal_regs, store_movm, return, call_next_insn):
+ Add timing attribute.
+ (am33_subsi3): Add missing clobber of CC_REG.
+ (am33_andsi3, mn10300_andsi3): Fix compile time warnings.
+ (udivmodsi4, udivmodsi4_insn, divmodsi4, test_byte_bitfield,
+ subreg_bit_test, zero_extendqisi2, zero_extendhisi2,
+ extendqisi2): Fix predicates.
+ (call_internal, call_internal_value): Separate alternatives.
+ * config/mn10300/t-mn10300: Add AM34 multilib.
+
+2010-10-29 Paolo Bonzini <bonzini@gnu.org>
+
+ * config/sh/sh.c (sh_promote_function_mode): Use
+ default_promote_function_mode if !sh_promote_prototypes.
+
+2010-10-28 Paolo Bonzini <bonzini@gnu.org>
+
+ * recog.c (split_all_insns): Remove dead code.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
+ (FUNCTION_ARG_ADVANCE): Delete.
+ * config/cris/cris.c (cris_function_arg_1, cris_function_arg): New
+ functions.
+ (cris_function_incoming_arg, cris_function_arg_advance): New functions.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
+ (TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/lm32/lm32-protos.h (lm32_function_arg): Delete.
+ * config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
+ Take a const_tree and a bool.
+ (mcore_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/mcore/mcore-protos.h (mcore_function_arg): Delete.
+ * config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
+ Take a const_tree and a bool.
+ (mcore_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/h8300/h8300-protos.h (function_arg): Delete.
+ * config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/h8300/h8300.c (function_arg): Rename to...
+ (h8300_function_arg): ...this. Make static. Take a const_tree and
+ a bool.
+ (h8300_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
+ to...
+ * config/arc/arc.c (arc_function_arg): ...here and...
+ (arc_function_arg_advance): ...here. New functions.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/crx/crx-protos.h (crx_function_arg): Delete.
+ (crx_function_arg_advance): Delete.
+ * config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/crx/crx.c (crx_function_arg): Make static. Take a
+ const_tree and a bool.
+ (crx_function_arg_advance): Make static. Take a const_tree and a bool.
+ (enough_regs_for_param): Take a const_tree.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
+ (m68hc11_function_arg_advance): Delete.
+ * config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
+ (FUNCTION_ARG_ADVANCE): Delete.
+ * config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
+ Take a const_tree and a bool.
+ (m68hc11_function_arg_advance): Likewise.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
+ (xstormy16_function_arg_advance): Delete.
+ * config/stormy16/stormy16.h (FUNCTION_ARG): Delete.
+ (FUNCTION_ARG_ADVANCE): Delete.
+ * config/stormy16/stormy16.c (xstormy16_function_arg): Make static.
+ Take a const_tree and a bool.
+ (xstormy16_function_arg_advance): Likewise. Return void, updating
+ the CUM parameter instead.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/moxie/moxie-protos.h (moxie_function_arg): Delete.
+ * config/moxie/moxie.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ (MOXIE_FUNCTION_ARG_SIZE): Move to...
+ * config/moxie/moxie.c (MOXIE_FUNCTION_ARG_SIZE): ...here.
+ (moxie_function_arg): Make static. Take a const_tree and a bool.
+ (moxie_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/mn10300/mn10300-protos.h (function_arg): Delete.
+ * config/mn10300/mn10300.h (FUNCTION_ARG): Delete.
+ (FUNCTION_ARG_ADVANCE): Delete.
+ * config/mn10300/mn10300.c (function_arg): Rename to...
+ (mn10300_function_arg): ...this. Make static. Take a const_tree
+ and a bool.
+ (mn10300_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/iq2000/iq2000-protos.h (function_arg): Delete.
+ (function_arg_advance): Delete.
+ * config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/iq2000/iq2000.c (function_arg): Rename to...
+ (iq2000_function_arg): ...this. Make static. Take a const_tree and
+ a bool.
+ (function_arg_advance): Rename to...
+ (iq2000_function_arg_advance): ...this. Make static. Take a
+ const_tree and a bool.
+ (iq2000_expand_prologue): Call iq2000_function_arg_advance and
+ iq2000_function_arg.
+ (iq2000_pass_by_reference): Call iq2000_function_arg).
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete.
+ * config/fr30/fr30.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/fr30/fr30.c (fr30_num_arg_regs): Make static. Take a
+ const_tree.
+ (fr30_function_arg): New function.
+ (fr30_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/frv/frv-protos.h (frv_function_arg): Delete.
+ (frv_function_arg_advance): Delete.
+ * config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/frv/frv.c (frv_function_arg): Rename to...
+ (frv_function_arg_1): Make static. Take const_tree and bool arguments.
+ (frv_function_arg, frv_function_incoming_arg): New functions.
+ (frv_function_arg_advance): Make static. Take a const_tree and a bool.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
+ (TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46153
+ * config/i386/sse.md (sse_movhlps_exp): Use destination
+ returned from ix86_fixup_binary_operands to expand insn.
+ (sse_movlhps_exp): Ditto.
+ (sse_loadhps_exp): Ditto.
+ (sse_loadlps_exp): Ditto.
+ (sse2_loadhpd_exp): Ditto.
+ (sse2_loadlpd_exp): Ditto.
+
+2010-10-28 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
+ constants in thumb2.
+
+2010-10-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * combine.c (set_nonzero_bits_and_sign_copies): Use unsigned
+ arithmetics in masking operations.
+ (contains_muldiv): Likewise.
+ (try_combine): Likewise.
+ (find_split_point): Likewise.
+ (combine_simplify_rtx): Likewise.
+ (simplify_if_then_else): Likewise.
+ (simplify_set): Likewise.
+ (expand_compound_operation): Likewise.
+ (expand_field_assignment): Likewise.
+ (make_extraction): Likewise.
+ (extract_left_shift): Likewise.
+ (make_compound_operation): Likewise.
+ (force_to_mode): Likewise.
+ (make_field_assignment): Likewise.
+ (reg_nonzero_bits_for_combine): Likewise.
+ (simplify_shift_const_1): Likewise.
+ (simplify_comparison): Likewise.
+
+2010-10-27 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/ia64/ia64-protos.h (ia64_function_arg): Delete.
+ (ia64_function_arg_advance): Delete.
+ * config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
+ (FUNCTION_ARG_ADVANCE): Delete.
+ * config/ia64/ia64.c (ia64_function_arg): Rename to...
+ (ia64_function_arg_1): ...this. Make static. Take const_tree and
+ bool arguments.
+ (ia64_function_arg, ia64_function_incoming_arg): New functions.
+ (ia64_function_arg_advance): Make static. Take a const_tree and
+ a bool.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
+ (TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-27 Steve Ellcey <sje@cup.hp.com>
+
+ * doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
+ (TARGET_GET_RAW_ARG_MODE): New.
+ * doc/tm.texi: Regenerate.
+ * target.def (get_raw_result_mode): New.
+ (get_raw_arg_mode): New.
+ * targhooks.c (default_get_reg_raw_mode): New.
+ * targhooks.h (default_get_reg_raw_mode): New.
+ * builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode.
+ (apply_result_size): Ditto.
+ * config/ia64/ia64.c (ia64_get_reg_raw_mode): New.
+ (TARGET_GET_RAW_RESULT_MODE): Define.
+ (TARGET_GET_RAW_ARG_MODE): Ditto.
+
+2010-10-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
+ for newer Solaris 10 release.
+ (sparc_fallback_frame_state): Likewise.
+
+2010-10-27 Jason Merrill <jason@redhat.com>
+
+ * gimplify.c (gimplify_decl_expr): Handle anonymous artificial
+ variables sooner.
+
+2010-10-27 Jie Zhang <jie@codesourcery.com>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * haifa-sched.c (ISSUE_POINTS): Remove.
+ (max_issue): Don't issue more than issue_rate instructions.
+
+2010-10-27 Ian Lance Taylor <iant@google.com>
+
+ PR target/46197
+ * config/i386/i386.md (UNSPECV_SPLIT_STACK_RETURN): New.
+ (split_stack_return): Replace UNSPEC_STACK_CHECK with
+ UNSPECV_SPLIT_STACK_RETURN.
+
+2010-10-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386-protos.h (init_cumulative_args): Add an int.
+
+ * config/i386/i386.c (block_info): New.
+ (BLOCK_INFO): Likewise.
+ (call_avx256_state): Likewise.
+ (check_avx256_stores): Likewise.
+ (move_or_delete_vzeroupper_2): Likewise.
+ (move_or_delete_vzeroupper_1): Likewise.
+ (move_or_delete_vzeroupper): Likewise.
+ (use_avx256_p): Likewise.
+ (function_pass_avx256_p): Likewise.
+ (flag_opts): Add -mvzeroupper.
+ (ix86_option_override_internal): Turn on MASK_VZEROUPPER by
+ default for TARGET_AVX. Turn off MASK_VZEROUPPER if TARGET_AVX
+ is disabled.
+ (ix86_function_ok_for_sibcall): Disable sibcall if we need to
+ generate vzeroupper.
+ (init_cumulative_args): Add an int to indicate caller. Set
+ use_avx256_p, callee_return_avx256_p and caller_use_avx256_p
+ based on return type.
+ (ix86_function_arg): Set use_avx256_p, callee_pass_avx256_p and
+ caller_pass_avx256_p based on argument type.
+ (ix86_expand_epilogue): Emit vzeroupper if 256bit AVX register
+ is used, but not returned by caller.
+ (ix86_expand_call): Emit vzeroupper if 256bit AVX register is used.
+ (ix86_local_alignment): Set use_avx256_p if 256bit AVX register
+ is used.
+ (ix86_minimum_alignment): Likewise.
+ (ix86_expand_special_args_builtin): Set target to
+ GEN_INT (vzeroupper_intrinsic) for CODE_FOR_avx_vzeroupper.
+ (ix86_reorg): Run the vzeroupper optimization if needed.
+
+ * config/i386/i386.h (ix86_args): Add caller.
+ (INIT_CUMULATIVE_ARGS): Updated.
+ (machine_function): Add use_vzeroupper_p, use_avx256_p,
+ caller_pass_avx256_p, caller_return_avx256_p,
+ callee_pass_avx256_p and callee_return_avx256_p.
+
+ * config/i386/i386.opt (-mvzeroupper): New.
+
+ * config/i386/predicates.md (vzeroupper_operation): Removed.
+
+ * config/i386/sse.md (avx_vzeroupper): Removed.
+ (*avx_vzeroupper): Removed.
+ (avx_vzeroupper): New.
+
+ * doc/invoke.texi: Document -mvzeroupper.
+
+2010-10-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/i386/t-mingw32 (SHLIB_LC): Add -lmingwthrd.
+ * config/i386/t-mingw-w32 (SHLIB_LC): Likewise.
+ * config/i386/t-mingw-w64 (SHLIB_LC): Likewise.
+
+2010-10-27 Eric Botcazou <ebotcazou@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Fix regnum
+ of EBP. Do not restore reg #9. Remove +1 adjustment to EIP and set
+ fs->signal_frame instead.
+
+2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (cp_parser_objc_at_property_declaration): Removed
+ parsing of RID_COPIES and RID_IVAR.
+
+2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_at_property_declaration): Recognize
+ RID_ASSIGN, RID_COPY, RID_RETAIN, RID_READWRITE and RID_NONATOMIC.
+ Do not use objc_set_property_attr, but use local variables
+ instead. Detect repeated usage of setter, getter and ivar
+ attributes. Improved error processing when a setter name does not
+ end in ':'. Do not check for CPP_CLOSE_PAREN after we determined
+ that the token is a keyword. Updated call to
+ objc_add_property_declaration.
+
+2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_at_property): Renamed to
+ c_parser_objc_at_property_declaration. Updated calls to
+ objc_add_property_variable, now objc_add_property_declaration.
+ Code rewritten to be much more robust in recovering from syntax
+ errors. Added comments.
+ (c_parser_objc_property_attrlist): Removed.
+ (c_parser_external_declaration): Updated calls to
+ c_parser_objc_at_property, now
+ c_parser_objc_at_property_declaration.
+ (c_parser_objc_methodprotolist): Same change.
+
+2010-10-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (split_stack_return): Put back unspec_volatile.
+
+2010-10-26 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (process_references): Enqueue all referenced nodes;
+ mark as reachable only non-external nodes.
+ (cgraph_remove_unreachable_nodes): All referenced nodes should
+ be enqueued; remove bogues node->needed check.
+
+2010-10-26 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (build_cgraph_edges): Use ipa-reference
+ to represent OMP.
+
+2010-10-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (split_stack_return): Replace
+ unspec_volatile with unspec.
+
+2010-10-26 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/install.texi: Fix typo in --with-sysroot description.
+
+2010-10-26 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p):
+ Use info provided by linker plugin.
+
+2010-10-26 Jason Merrill <jason@redhat.com>
+
+ * varasm.c (constructor_static_from_elts_p): Don't require a
+ CONSTRUCTOR to have elements to be suitable for static
+ initialization. Allow ARRAY_TYPE as well.
+
+2010-10-26 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/45736
+ * cgraph.c (cgraph_set_readonly_flag): Rename to...
+ (cgraph_set_const_flags) ... this one; get also looping argument;
+ clear constructor/destructor flags.
+ (cgraph_set_pure_flag): Likewise.
+ (cgraph_set_looping_const_or_pure_flag): Remove.
+ (cgraph_can_remove_if_no_direct_calls_and_refs): Do not try
+ to optimize away static ctors/dtors; it does not work on inline clones;
+ external functions can always be rmeoved.
+ (cgraph_will_be_removed_from_program_if_no_direct_calls): Assert on
+ inline clones; in LTO external functions always can go.
+ (cgraph_used_from_object_file_p): Handle EXTERNAL functions correctly.
+ (cgraph_mark_address_taken_node): Assert that we are not taking
+ address of inline clone.
+ (cgraph_can_remove_if_no_direct_calls_p): We always eventually remove
+ external functions.
+ * ipa-cp.c (ipcp_cloning_candidate_p): Do not clone functions with
+ address taken.
+ (ipcp_initialize_node_lattices): Only local functions can be
+ handled without cloning.
+ * cgraph.h (cgraph_set_readonly_flag,
+ cgraph_set_looping_const_or_pure_flag): Remove.
+ (cgraph_set_const_flag): Declare.
+ (cgraph_set_pure_flag): Update.
+ * ipa-pure-const (propagate_pure_const, local_pure_const): Update
+ flags setting code.
+ * ipa.c (cgraph_remove_unreachable_nodes): Fix formating; do not
+ look at inline clones; fix handling of external definitions.
+ (cgraph_postorder): Do not look at inline clones in the first pass.
+ (function_and_variable_visibility): Drop constructors/destructor
+ flags at pure and const functions.
+ * tree-profile.c (tree_profiling): Update.
+ * ipa-inline.c (cgraph_clone_inlined_nodes): Always clone functions with
+ address taken; external functions do not account to whole program size.
+ (cgraph_decide_inlining): Likewise; do not try to inline
+ functions already inlined.
+
+2010-10-26 Jie Zhang <jie@codesourcery.com>
+
+ * doc/invoke.texi: Improve documentation of
+ -fstrict-volatile-bitfields.
+
+2010-10-26 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/46167
+ * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that there
+ is basic block for the statement.
+
+2010-10-26 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Update to
+ current definition of struct_real_format.
+
+2010-10-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44948
+ * config/i386/i386.c (ix86_old_function_arg_boundary): New.
+ (ix86_function_arg_boundary): Always align parameters on stack
+ in 64bit and align parameters with alignment >= 16byte on stack
+ in 32bit. Warn alignment change.
+
+2010-10-26 Ian Lance Taylor <iant@google.com>
+
+ PR middle-end/45687
+ * ipa-prop.c (ipa_modify_call_arguments): Correct type of MEM_REF
+ offset.
+
+2010-10-25 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+ Implement opaque-enum-specifiesr for C++0x
+ * tree.h (ENUM_IS_OPAQUE): New.
+ * dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE.
+
+2010-10-26 Jie Zhang <jie@codesourcery.com>
+
+ * stor-layout.c (layout_decl): Use the field's type to
+ determine the mode and keep DECL_BIT_FIELD for a volatile bit-field.
+ * config/arm/arm.c (arm_override_options): Default to
+ -fstrict-volatile-bitfields.
+
+2010-10-25 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md: Add define_constants for register
+ numbers, branch offset limits.
+ * config/pdp11/pdp11.c: Use named constants instead of numbers.
+ * config/pdp11.pdp11.h: Ditto.
+
+2010-10-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * configure.ac: Use $cpu_type instead of $target to define the nop.
+ * configure: Regenerate.
+
+2010-10-25 Jie Zhang <jie@codesourcery.com>
+
+ * combine.c (try_combine): If insns need to be kept around, check that
+ they can be copied in the merged instruction.
+
+2010-10-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * reg-stack.c (convert_regs_1): Return boolean value, true if the CFG
+ has been modified.
+ (convert_regs_2): Likewise. Adjust calls to convert_regs_1.
+ (convert_regs): Adjust calls to convert_regs_2. Clean up the CFG if
+ it has been modified.
+
+2010-10-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (sparc_type_code) <NULLPTR_TYPE>: New case.
+
+2010-10-24 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md: Change length attribute to be in bytes.
+ * config/pdp11/pdp11.c (output_jump): Ditto.
+
+2010-10-24 Ian Lance Taylor <iant@google.com>
+
+ * config/i386/i386.c (ix86_va_start): Remove extraneous blank line.
+
+2010-10-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfglayout.c (fixup_reorder_chain): When ensuring that there is at
+ least one insn with a locus corresponding to an edge's goto_locus,
+ disregard non-fallthru edges to the exit block and merge the blocks
+ created for the same goto_locus.
+
+2010-10-23 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (n_switches_alloc_debug_check): New.
+ (set_option_handlers): New.
+ (process_command): Use set_option_handlers.
+ (do_self_spec): Pass spec-generated options through option handlers.
+ (main): Also save and restore n_switches_alloc when swapping
+ switch arrays.
+
+2010-10-23 Richard Henderson <rth@redhat.com>
+
+ PR target/46144
+ * config/i386/sse.md (*avx_absneg<AVXMODEF2P>2): New.
+ (*sse_absneg<SSEMODEF2P>2): Rename from *absneg<VEC_FLOAT_MODE>2.
+ Honor matching operands when splitting to XOR.
+
+2010-10-23 Ian Lance Taylor <iant@google.com>
+
+ * tree-vrp.c (extract_range_from_binary_expr): If
+ flag_non_call_exceptions don't eliminate division by zero.
+ * simplify-rtx.c (simplify_binary_operation_1): Likewise.
+
+2010-10-23 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
+ __BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
+ __ORDER_PDP_ENDIAN__.
+ * libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ (struct DWstruct): Define based on __BYTE_ORDER__.
+ * config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ (struct INTstruct): Define based on __BYTE_ORDER__.
+ * config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
+ * system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
+ * config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+ * doc/tm.texi: Regenerate.
+ * doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
+ (__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
+
+2010-10-23 Jie Zhang <jie@codesourcery.com>
+
+ PR rtl-optimization/37360
+ * config/mips/mips.c (cached_can_issue_more): New local variable.
+ (mips_sched_reorder_1): New.
+ (mips_sched_reorder): Use mips_sched_reorder_1.
+ (mips_sched_reorder2): New.
+ (mips_variable_issue): Set cached_can_issue_more.
+ (TARGET_SCHED_REORDER2): Define to mips_sched_reorder2
+ instead of mips_sched_reorder.
+
+ Revert:
+ 2008-09-09 Andrey Belevantsev <abel@ispras.ru>
+ PR rtl-optimization/37360
+ * haifa-sched.c (max_issue): Do not assert that we never issue more
+ insns than issue_rate. Add comment.
+
+2010-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_variable_sized_compare): Preserve the source
+ location info of the expression.
+
+2010-10-22 DJ Delorie <dj@redhat.com>
+
+ * doc/extend.texi (Named Address Spaces): Document the M32C named
+ address space.
+
+ * config/m32c/m32c-pragma.c (m32c_register_pragmas): Register the
+ __far address space.
+ * config/m32c/m32c.h (ADDR_SPACE_FAR): New. Add support for
+ "__far" address space for R8C and M16C processor variants.
+ * config/m32c/m32c.c (m32c_addr_space_legitimate_address_p): New.
+ (far_addr_space_p): New.
+ (encode_pattern_1): Add sign and zero extend support.
+ (m32c_hard_regno_nregs_1): Large pointers in A16 mode are SImode.
+ (m32c_extra_constraint_p2): Add SF constraint.
+ (m32c_legitimate_address_p): Support __far addresses.
+ (m32c_addr_space_pointer_mode): New.
+ (m32c_addr_space_address_mode): New.
+ (m32c_addr_space_legitimate_address_p): New.
+ (m32c_addr_space_legitimize_address): New.
+ (m32c_addr_space_subset_p): New.
+ (m32c_addr_space_convert): New.
+ (conversions): Add __far operand patterns.
+ (m32c_prepare_move): Force constants into registers for __far moves.
+ (m32c_split_move): __far moves are always split.
+ * config/m32c/addsub.md (addsi3_1): Support SImode symbols.
+ * config/m32c/mov.md (mov<mode>_far_op1): New.
+ (mov<mode>_far_op2): New.
+ (movqi_op): Add __far (SF) support.
+ (movhi_op): Likewise.
+ (movsi_splittable): Split A1A0 also.
+
+2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
+ Andrew Pinski <pinskia@gmail.com>
+
+ * c-typeck.c (build_array_ref): Handle subscripting of vectors.
+ * doc/extend.texi: New paragraph
+
+2010-10-22 Paul Koning <ni1d@arrl.net>
+
+ * config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define.
+
+2010-10-22 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant.
+
+2010-10-22 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define.
+
+2010-10-22 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_builtin_vectorized_function): Add
+ cases for __builtin_fma and __builtin_fmaf.
+
+2010-10-22 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_fp_absneg_operator): Produce
+ NEG+USE for vectors as well.
+ * config/i386/i386.md (*absneg<VEC_FLOAT_MODE>2): New pattern
+ and splitter.
+
+2010-10-22 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION,
+ SWITCH_CURTAILS_COMPILATION): Remove.
+ * doc/tm.texi.in (SWITCH_CURTAILS_COMPILATION): Remove documentation.
+ * doc/tm.texi: Regenerate.
+ * system.h (SWITCH_CURTAILS_COMPILATION): Poison.
+
+2010-10-22 Changpeng Fang <changpeng.fang@amd.com>
+
+ * config/i386/bdver1.md: New file.
+ * config/i386/i386.md (include "bdver1.md"): Invoke the
+ pipeline description for bdver1.
+ (x86_sahf_1): Add "bdver1_decode" attribute.
+ (*cmpfp_i_mixed): Likewise.
+ (*cmpfp_i_sse): Likewise.
+ (*cmpfp_i_i387): Likewise.
+ (*cmpfp_iu_mixed): Likewise.
+ (*cmpfp_iu_sse): Likewise.
+ (*cmpfp_iu_387): Likewise.
+ (*swap<mode>,*swap<mode>_1): Likewise.
+ (fixuns_trunc<mode>hi2): Likewise.
+ (fix_trunc<mode>si_sse): Likewise.
+ (x86_fnstcw_1): Likewise.
+ (x86_fldcw_1): Likewise.
+ (*floatsi<mode>2_vector_mixed_with_temp): Likewise.
+ (*floatsi<mode>2_vector_mixed): Likewise.
+ (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Likewise.
+ (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise.
+ (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise.
+ (*floatsi<mode>2_vector_sse_with_temp): Likewise.
+ (*floatsi<mode>2_vector_sse): Likewise.
+ (*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Likewise.
+ (*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
+ (*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise.
+ (*mul<mode>3_1): Likewise.
+ (*mulsi3_1_zext): Likewise.
+ (*mulhi3_1): Likewise.
+ (*mulqi3_1): Likewise.
+ (*<u>mul<mode><dwi>3_1): Likewise.
+ (*<u>mulqihi3_1): Likewise.
+ (*<s>muldi3_highpart_1): Likewise.
+ (*<s>mulsi3_highpart_1): Likewise.
+ (*<s>mulsi3_highpart_zext): Likewise.
+ (x86_64_shld): Likewise.
+ (x86_shld): Likewise.
+ (x86_64_shrd): Likewise.
+ (x86_shrd): Likewise.
+ (sqrtxf2): Likewise.
+ (sqrt_extend<mode>xf2_i387): Likewise.
+ (*sqrt<mode>2_sse): Likewise.
+ * config/i386/sse.md (sse_cvtsi2ss): Add "bdver1_decode" attribute.
+ (sse_cvtsi2ssq): Likewise.
+ (sse_cvtss2si): Likewise.
+ (sse_cvtss2si_2): Likewise.
+ (sse_cvtss2siq): Likewise.
+ (sse_cvtss2siq_2): Likewise.
+ (sse_cvttss2si): Likewise.
+ (sse_cvttss2siq): Likewise.
+ (sse2_cvtpi2pd): Likewise.
+ (sse2_cvttpd2pi): Likewise.
+ (sse2_cvtsi2sd): Likewise.
+ (sse2_cvtsi2sdq): Likewise.
+ (sse2_cvtsd2si): Likewise.
+ (sse2_cvtsd2si_2): Likewise.
+ (sse2_cvtsd2siq): Likewise.
+ (sse2_cvtsd2siq_2): Likewise.
+ (sse2_cvttsd2si): Likewise.
+ (sse2_cvttsd2siq): Likewise.
+ (*sse2_cvtpd2dq): Likewise.
+ (*sse2_cvttpd2dq): Likewise.
+ (sse2_cvtsd2ss): Likewise.
+ (sse2_cvtss2sd): Likewise.
+ (*sse2_cvtpd2ps): Likewise.
+ (sse2_cvtps2pd): Likewise.
+
+2010-10-22 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/46137
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Properly
+ remove the virtual operands if they are not needed.
+
+2010-10-22 Changpeng Fang <changpeng.fang@amd.com>
+
+ * config/i386/i386.c (processor_costs bdver1_cost): Update
+ insn costs and architectural parameters for bdver1.
+
+2010-10-22 Richard Guenther <rguenther@suse.de>
+
+ * gimple.h (gimple_register_canonical_type): Declare.
+ * gimple.c (gimple_canonical_types): New global hashtable.
+ (struct gimple_type_leader_entry_s): New type.
+ (gimple_type_leader): New global cache.
+ (gimple_lookup_type_leader): New function.
+ (gtc_visit): Query the proper cache.
+ (gimple_types_compatible_p): Likewise.
+ (gimple_register_type): Use the new cache instead of TYPE_CANONICAL.
+ (gimple_canonical_type_eq): New function.
+ (gimple_register_canonical_type): Likewise.
+ (print_gimple_types_stats): Adjust for gimple_canonical_types.
+ (free_gimple_type_tables): Likewise. Free gimple_type_leader.
+ * tree-ssa.c (useless_type_conversion_p): Do not dispatch to
+ gimple_types_compatible_p for LTO.
+
+2010-10-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46098
+ * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
+ Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
+ (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
+ (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
+ (<sse>_movu<ssemodesuffix>): New expander.
+ (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
+ (avx_movdqu<avxmodesuffix>): New expander.
+ (*sse2_movdqu): Rename from sse2_movdqu.
+ (sse2_movdqu): New expander.
+
+2010-10-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45720
+ * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
+ Handle negative step.
+ (vect_enhance_data_refs_alignment): Likewise.
+ * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Likewise.
+ (vect_create_cond_for_align_checks): Likewise.
+ (vect_create_cond_for_alias_checks): Likewise.
+
+2010-10-22 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/46126
+ * tree-vect-stmts.c (vect_analyze_stmt): Pass NODE to
+ vectorizable_shift in case of basic block vectorization.
+
+2010-10-22 Joseph Myers <joseph@codesourcery.com>
+
+ * target.h (enum opt_levels, struct default_options): New.
+ * target.def (handle_ofast): Remove hook.
+ (target_option.optimization): Change to
+ target_option.optimization_table.
+ * doc/tm.texi.in (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ (CAN_DEBUG_WITHOUT_FP): Remove.
+ * doc/tm.texi: Regenerate.
+ * opts.c (maybe_default_option, maybe_default_options,
+ default_options_table): New.
+ (default_options_optimization): Take extra parameters. Don't
+ assert that global_options and global_options_set are in use. Use
+ maybe_default_options.
+ (decode_options): Pass extra parameters to
+ default_options_optimization.
+ * common.opt (falign-loops): Use value 0 with Var.
+ (frerun-cse-after-loop, ftree-ter): Remove Init.
+ * system.h (CAN_DEBUG_WITHOUT_FP, TARGET_HANDLE_OFAST,
+ TARGET_OPTION_OPTIMIZATION): Remove.
+ * targhooks.c (empty_optimization_table): New.
+ * targhooks.h (empty_optimization_table): Declare.
+ * toplev.c (process_options): Don't set flag_rerun_cse_after_loop.
+ * config/alpha/alpha.c (alpha_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/alpha/alpha.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/arm/arm.c (arm_option_optimization: Change to
+ arm_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/arm/arm.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/avr/avr.c (avr_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/avr/avr.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/cris/cris.c (cris_option_optimization): Change to
+ cris_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/crx/crx.c (crx_option_optimization): Change to
+ crx_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/crx/crx.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/fr30/fr30.c (fr30_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/fr30/fr30.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/frv/frv.c (frv_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/frv/frv.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/h8300/h8300.c (h8300_option_optimization): Change to
+ h8300_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/h8300/h8300.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/i386/i386.c (ix86_option_optimization): Change to
+ ix86_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
+ as initializer.
+ * config/ia64/ia64.c (ia64_option_optimization): Change to
+ ia64_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/ia64/ia64.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define as
+ initializer.
+ * config/iq2000/iq2000.c (iq2000_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/iq2000/iq2000.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/lm32/lm32.c (lm32_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/lm32/lm32.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/m32r/m32r.c (m32r_option_optimization): Change to
+ m32r_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/m32r/m32r.h (SUBTARGET_OPTIMIZATION_OPTIONS,
+ CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/mcore/mcore.c (mcore_option_optimization): Change to
+ mcore_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/mep/mep.c (mep_option_optimization): Change to
+ mep_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/mep/mep.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/microblaze/microblaze.c
+ (microblaze_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/microblaze/microblaze.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/mips/mips.c (mips_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/mips/mips.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/mmix/mmix.c (mmix_option_optimization): Change to
+ mmix_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/mmix/mmix.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/mn10300/mn10300.c (mn10300_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/mn10300/mn10300.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/pa/pa.c (pa_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/pa/pa.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/pdp11/pdp11.c (pdp11_option_optimization): Change to
+ pdp11_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/picochip/picochip.c (picochip_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/picochip/picochip.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/rs6000/rs6000.c (rs6000_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/rs6000/rs6000.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/rx/rx.c (rx_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/rx/rx.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/s390/s390.c (s390_option_optimization): Change to
+ s390_option_optimization_table.
+ (s390_option_override): Update comment.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/s390/s390.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/score/score.c (score_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/score/score.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/sh/sh.c (sh_option_optimization): Change to
+ sh_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ (sh_option_override): Set MASK_SAVE_ALL_TARGET_REGS here.
+ (sh_option_override, expand_block_move, multcosts, find_barrier,
+ barrier_align): Use optimize_size instead of TARGET_SMALLCODE.
+ * config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ (LOOP_ALIGN, TRAMPOLINE_ALIGNMENT, MOVE_BY_PIECES_P,
+ STORE_BY_PIECES_P, SH_DYNAMIC_SHIFT_COST): Use optimize_size
+ instead of TARGET_SMALLCODE.
+ * config/sh/sh.opt (mspace): Make into an alias for -Os.
+ * config/sparc/sparc.c (sparc_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/sparc/sparc.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/stormy16/stormy16.c (xstorym16_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): New.
+ * config/stormy16/stormy16.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/v850/v850.c (v850_option_optimization): Change to
+ v850_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/v850/v850.h (CAN_DEBUG_WITHOUT_FP): Remove.
+ * config/xtensa/xtensa.c (xtensa_option_optimization): Change to
+ xtensa_option_optimization_table.
+ (TARGET_OPTION_OPTIMIZATION): Change to
+ TARGET_OPTION_OPTIMIZATION_TABLE.
+ * config/xtensa/xtensa.h (CAN_DEBUG_WITHOUT_FP): Remove.
+
+2010-10-21 Iain Sandoe <iains@gcc.gnu.org>
+
+ Based on the CFString implementation in FSF apple/trunk branch.
+
+ * target.def (objc_construct_string): New Hook.
+ * doc/tm.texi (objc_construct_string): Document.
+ * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING): New.
+ * config/t-darwin: Amend build rules for darwin.o.
+ * config/darwin.opt: Add cfstrings flags.
+ * config/darwin-c.c: Define __CONSTANT_CFSTRINGS__.
+ (darwin_objc_construct_string): New.
+ * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Define.
+ * config/i386/i386.c (ix86_init_builtins): Add SUBTARGET_INIT_BUILTINS.
+ * config/darwin-protos.h (darwin_init_cfstring_builtins): New prototype.
+ (darwin_fold_builtin): Likewise.
+ (darwin_build_constant_cfstring): Likewise.
+ (darwin_objc_construct_string): Likewise.
+ (darwin_cfstring_p): Likewise.
+ (darwin_enter_string_into_cfstring_table): Likewise.
+ * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS) Update for CFString.
+ * config/darwin.c (darwin_running_cxx): New var.
+ (machopic_select_section): Return cfstring_constant_object_section.
+ (darwin_override_options): Set darwin_running_cxx.
+ (add_builtin_field_decl): New.
+ (darwin_init_cfstring_builtins): New.
+ (darwin_build_constant_cfstring): New.
+ (darwin_fold_builtin): New.
+ (cfstring_hash): New.
+ (cfstring_eq): New.
+ (darwin_enter_string_into_cfstring_table): New.
+ * config/darwin-sections.def (cfstring_constant_object_section): New.
+ * config/darwin.h (TARGET_FOLD_BUILTIN): Define.
+ (TARGET_OBJC_CONSTRUCT_STRING): Define.
+
+2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/alpha/alpha.c (alpha_build_builtin_va_list): Use
+ TYPE_STUB_DECL instead of TREE_CHAIN.
+ * config/i386/i386.c (ix86_build_builtin_va_list_abi): Likewise.
+ * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Likewise.
+ * config/s390/s390.c (s390_build_builtin_va_list): Likewise.
+ * config/sh/sh.c (sh_build_builtin_va_list): Likewise.
+ * config/spu/spu.c (spu_build_builtin_va_list): Likewise.
+ * config/stormy16/stormy16.c (xstormy16_build_builtin_va_list):
+ Likewise.
+ * config/xtensa/xtensa.c (xtensa_build_builtin_va_list): Likewise.
+
+2010-10-22 Jie Zhang <jie@codesourcery.com>
+
+ * expr.c (emit_group_load_1): Update calls to extract_bit_field.
+ (copy_blkmode_from_reg): Likewise.
+ (read_complex_part): Likewise.
+ (expand_expr_real_1): Calculate packedp and pass it to
+ extract_bit_field.
+ * expr.h (extract_bit_field): Update declaration.
+ * calls.c (store_unaligned_arguments_into_pseudos): Update call
+ to extract_bit_field.
+ * expmed.c (extract_fixed_bit_field): Update calls to
+ extract_fixed_bit_field.
+ (store_split_bit_field): Likewise.
+ (extract_bit_field_1): Add new argument packedp.
+ (extract_bit_field): Add new argument packedp.
+ (extract_fixed_bit_field): Add new argument packedp and let
+ packed attribute override volatile.
+ * stmt.c (expand_return): Update call to extract_bit_field.
+
+2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/spu/spu.c (spu_function_arg): Dereference CUM parameter.
+
+2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead
+ of gcc_checking_assert.
+ * sel-sched.c (code_motion_process_successors): Likewise.
+
+2010-10-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgcleanup.c (try_forward_edges): Do not throw away previous steps
+ when stopping because of a different locus on edge or insn.
+ (try_optimize_cfg): Add comment.
+ * cfgrtl.c (rtl_merge_blocks): Tweak log message. If the destination
+ block is a forwarder block, propagate locus on the edge.
+ (cfg_layout_merge_blocks): Likewise.
+
+2010-10-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/45946
+ * config/i386/i386.md (*pushti2): New insn pattern.
+ (pushti2 splitter): New insn splitter.
+ (*push<mode>2): Macroize insn pattern from *push{di,ti}2 using
+ DWI mode iterator.
+
+2010-10-21 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11-protos.md (arith_operand,
+ const_immediate_operand, expand_shift_operand,
+ immediate15_operand): Delete
+ * config/pdp11/pdp11.c: Ditto.
+ * config/pdp11/pdp11.h (REG_CLASS_FROM_LETTER,
+ CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
+ EXTRA_CONSTRAINT): Delete.
+ * config/pdp11/pdp11.md (various): Use standard constraints
+ instead of removed ones.
+ * config/pdp11/constraints.md: New file.
+ * config/pdp11/predicates.md: New file.
+
+2010-10-21 Bingfeng Mei <bmei@broadcom.com>
+
+ PR c/45834
+ * alias.c (true_dependence_1): Remove obsolete check for QImode.
+ (may_alias_p): Ditto.
+
+2010-10-21 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/45875
+ * tree.c (get_binfo_at_offset): Remove initial zero offset test.
+
+2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree-into-ssa.c (rewrite_update_enter_block): Remove unused
+ variables.
+ (create_new_def_for): Likewise.
+
+2010-10-21 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c: Fold code to 80-character width.
+ Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
+ MEM, CONST_INT and CONST_DOUBLE.
+ (targetm): Move initialization to end of file.
+ (print_operand): Rename to mn10300_print_operand.
+ (print_operand_address): Rename to mn10300_print_operand_address.
+ (can_use_return_insn): Rename to mn10300_can_use_return_insn.
+ (expand_prologue): Rename to mn10300_expand_prologue.
+ (expand_epilogue): Rename to mn10300_expand_epilogue.
+ (initial_offset): Rename to mn10300_initial_offset.
+ (function_arg): Rename to mn10300_function_arg.
+ (mask_ok_for_mem_btst): Rename to mn10300_mask_ok_for_mem_btst.
+ (symbolic_operand): Rename to mn10300_symbolic_operand.
+ (legitimize_pic_address): Rename to mn10300_legitimize_pic_address.
+ (legitimate_pic_operand_p): Rename to mn10300_legitimate_pic_operand_p.
+ * config/mn10300/mn10300-protos.h: Update prototypes.
+ * config/mn10300/mn10300.h: Fold code to 80-character width.
+ Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
+ MEM, CONST_INT and CONST_DOUBLE.
+ (CPP_SPEC): Move to...
+ (TARGET_CPU_CPP_BUILTINS): ... here.
+ * config/mn10300/mn10300.md: Fold code to 80-character width.
+ Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
+ MEM, CONST_INT and CONST_DOUBLE.
+
+2010-10-21 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/46049
+ PR tree-optimization/46052
+ * tree-vectorizer.h (enum stmt_vec_info_type): Add new value for shift.
+ (vect_get_slp_defs): Add arguments.
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Pass scalar
+ operands to vect_get_slp_defs.
+ (vectorizable_reduction): Fix comment, pass scalar operands to
+ vect_get_slp_defs.
+ * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use operand's
+ type to determine number of units in the created vector.
+ (vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
+ (vectorizable_conversion): Fix comment.
+ (vectorizable_shift): New function.
+ (vectorizable_operation): Move code that handles shifts to
+ vectorizable_shift.
+ (vectorizable_type_demotion): Fix comment, pass scalar operands to
+ vect_get_slp_defs.
+ (vectorizable_type_promotion, vectorizable_store): Likewise.
+ (vectorizable_condition): Fix comment.
+ (vect_analyze_stmt): Call vectorizable_shift.
+ (vect_transform_stmt): Likewise.
+ * tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
+ Use it as the operand to create vectors for, except reduction
+ initial definition and store. Use operands type.
+ (vect_get_slp_defs): Add new arguments. Pass them to
+ vect_get_constant_vectors.
+
+2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * basic-block.h (single_succ_edge): Use gcc_checking_assert.
+ (single_pred_edge, ei_container, ei_next, ei_prev): Likewise.
+ * cfghooks.c (fixup_reorder_chain): Likewise.
+ * cfgrtl.c (cfg_layout_merge_blocks): Likewise.
+ * cgraph.c (cgraph_add_thunk): Likewise.
+ (cgraph_create_edge_1): Likewise.
+ (cgraph_create_virtual_clone): Likewise.
+ * ddg.c (add_cross_iteration_register_deps): Likewise.
+ * dwarf2out.c (modified_type_die): Likewise.
+ * emit-rtl.c (set_mem_alias_set): Likewise.
+ * ggc-zone.c (zone_allocate_marks): Likewise.
+ * gimple-iterator.c (gsi_move_to_bb_end): Likewise.
+ * gimple.c (iterative_hash_gimple_type): Likewise.
+ * graphite-scop-detection.c (create_single_entry_edge): Likewise.
+ (create_single_exit_edge): Likewise.
+ * haifa-sched.c (choose_ready): Likewise.
+ * lto-streamer-in.c (input_gimple_stmt): Likewise.
+ * passes.c (execute_todo): Likewise.
+ * sched-ebb.c (begin_schedule_ready): Likewise.
+ * sel-sched.c (code_motion_process_successors): Likewise.
+ * tree-call-cdce.c (gen_conditions_for_pow): Likewise.
+ * tree-cfg-cleanup.c (tree_forwarder_block_p): Likewise.
+ * tree-flow-inline.h (link_imm_use, move_use_after_head): Likewise.
+ (phi_arg_index_from_use, phi_ssa_name_p): Likewise.
+ * tree-into-ssa.c (insert_updated_phi_nodes_for): Likewise.
+ * tree-ssa-coalesce.c (ssa_conflicts_test_p): Likewise.
+ (ssa_conflicts_add): Likewise.
+ * tree-ssa-copy.c (replace_exp): Likewise.
+ * tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
+ * tree-ssa-forwprop.c (simple_gimple_switch): Likewise.
+ * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
+ * tree-ssa-pre.c (bitmap_value_insert_into_set): Likewise.
+ (compute_antic): Likewise.
+ * tree-ssa-ter.c (add_to_partition_kill_list): Likewise.
+ (add_dependence): Likewise.
+ (process_replaceable, kill_expr, find_replaceable_exprs): Likewise.
+ * tree-vrp.c (supports_overflow_infinity): Likewise.
+ (make_overflow_infinity, negative_overflow_infinity): Likewise.
+ (avoid_overflow_infinity, register_new_assert_for): Likewise.
+ (process_assert_insertions_for): Likewise.
+ * var-tracking.c (dv_is_value_p, dv_as_decl, dv_from_decl): Likewise.
+ (dv_from_value, variable_union, find_loc_in_1pdv): Likewise.
+ (intersect_loc_chains, variable_merge_over_cur): Likewise.
+
+2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cfgloop.c (flow_loops_find): Call bb_has_abnormal_pred.
+ * reload1.c (has_nonexceptional_receiver): Likewise.
+ * tree-into-ssa.c (rewrite_update_enter_block): Likewise.
+ (create_new_def_for): Likewise.
+ * tree-cfgcleanup.c (remove_forwarder_block): Likewise.
+ (merge_phi_nodes): Likewise.
+ (has_abnormal_incoming_edge_p): Delete.
+
+2010-10-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/sse.md (ssescalarmodesuffix): Add V8SI and V4DI.
+
+2010-10-21 Richard Guenther <rguenther@suse.de>
+ Michael Matz <matz@suse.de>
+
+ PR tree-optimization/45764
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
+ Adjust initial misalignment for negative DR_STEP.
+ (vect_find_same_alignment_drs): Two DRs with different DR_STEP
+ do not have the same alignment over the whole iteration domain.
+
+2010-10-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46111
+ * tree-parloops.c (take_address_of): Re-organize for MEM_REF.
+
+2010-10-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md (*xordi3_cc): Mark xgrk as z196 only.
+
+2010-10-21 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms-crtl.h (CRTL_NAMES): Add new translations.
+ * config/vms/vms-crtl-64.h (CRTL_NAMES): Ditto.
+
+2010-10-21 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/vms-unwind.h (alpha_vms_fallback_frame_state): Set
+ signal_frame.
+ * config/alpha/alpha.c (alpha_function_arg): Adjust call.
+
+2010-10-21 Tristan Gingold <gingold@adacore.com>
+
+ * config/ia64/vms64.h (TARGET_DEFAULT): Add MASK_FUSED_MADD.
+ * config/ia64/vms.h (TARGET_DEFAULT): Ditto.
+
+2010-10-20 Nathan Froyd <froydnj@codesourcery.com>
+
+ * basic-block.h (find_fallthru_edge): Define.
+ * cfgcleanup.c (merge_blocks_move): Use it.
+ (try_crossjump_bb): Likewise.
+ * cfglayout.c (fixup_reorder_chains): Likewise.
+ (fixup_fallthru_exit_predecessor): Likewise.
+ * cfgrtl.c (rtl_split_edge): Likewise.
+ (rtl_verify_flow_info): Likewise.
+ * function.c (thread_prologue_and_epilogue_insns): Likewise.
+ * gimple-pretty-print.c (dump_implicit_edges): Likewise.
+ * ifcvt.c (block_fallthru): Likewise.
+ * reload1.c (fixup_abnormal_edges): Likewise.
+ * sched-ebb.c (being_schedule_ready): Likewise.
+ (schedule_ebb): Likwise.
+ * sched-rgn.c (find_single_block_region): Likewise.
+ * sel-sched-ir.c (bb_ends_ebb_p): Likewise.
+ * tree-complex.c (expand_complex_move): Likewise.
+ * sched-int.h (find_fallthru_edge): Rename to...
+ (find_fallthru_edge_from): ...this.
+ * haifa-sched.c (find_fallthru_edge): Rename to...
+ (find_fallthru_edge_from): ...this. Use new find_fallthru_edge.
+ (init_before_recovery): Call find_fallthru_edge_from.
+ * sel-sched-ir.c (merge_fences): Likewise.
+ * sel-sched.c (in_fallthru_bb_p): Likewise.
+ (move_cond_jump): Likewise.
+
+2010-10-20 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11.md (various): Fix conditions on a number of
+ insn to check for target 11/40 or higher.
+
+2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * parser.c (c_parser_objc_method_type): Mark inline. Return a
+ bool instead of a tree.
+ (c_parser_objc_method_decl): Added bool argument. Updated call to
+ objc_build_method_signature.
+ (c_parser_objc_method_definition): Do not call
+ objc_set_method_type. Updated calls to c_parser_objc_method_type,
+ c_parser_objc_method_decl and objc_start_method_definition.
+ (c_parser_objc_methodproto): Do not call objc_set_method_type.
+ Updated calls to c_parser_objc_method_type,
+ c_parser_objc_method_decl and objc_add_method_declaration.
+
+2010-10-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/45919
+ * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Handle flexible
+ array members.
+
+ PR tree-optimization/46066
+ * tree-parloops.c (create_parallel_loop): Use gsi_last_nondebug_bb
+ instead of gsi_last_bb.
+
+2010-10-20 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c.c (m32c_option_override): Always disable
+ function-cse in 16-bit mode. Indirect calls are always worse than
+ direct calls as there is no 16-bit indirect call opcode.
+ (m32c_override_options_after_change): New, likewise.
+
+2010-10-20 Nathan Froyd <froydnj@codesourcery.com>
+
+ * ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs, try
+ emitting the conditional move in the inner mode of the SUBREG.
+
+2010-10-20 Anatoly Sokolov <aesok@post.ru>
+
+ * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Remove macros.
+ * config/ia64/ia64-protos.h (ia64_preferred_reload_class): Remove.
+ * config/ia64/ia64.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
+ (ia64_preferred_reload_class): Make static. Change rclass argument
+ and result types from enum reg_class to reg_class_t.
+
+2010-10-20 Pat Haugen <pthaugen@us.ibm.com>
+
+ * tree-ssa-ter.c (find_replaceable_in_bb): Allow replacement over
+ call for single operand expression.
+
+2010-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges
+ if there is a call statement to pure or const function in the block.
+
+2010-10-20 Paul Koning <pkoning@equallogic.com>
+
+ Fix several build errors for pdp11 target.
+ * config/pdp11/pdp11.md (*cmpdf): Fix tstd operands.
+ (cbranchdf4): Conditional on TARGET_FPU.
+ (movdf): Ditto; correct alternatives check.
+ (movmemhi): Fix predicate and constraint.
+ * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Handle 64 bit mode.
+
+2010-10-20 Richard Guenther <rguenther@suse.de>
+
+ PR lto/45667
+ * lto-streamer-out.c (output_gimple_stmt): Fix typo.
+ * tree-cfg.c (verify_gimple_call): Properly get the call fndecl.
+ (verify_gimple_assign_single): Disable ADDR_EXPR type check
+ when in LTO.
+
+2010-10-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR fortran/42169
+ * ira-emit.c (store_can_be_removed_p): Return false instead of
+ gcc_unreachable.
+
+2010-10-20 Dmitry Melnik <dm@ispras.ru>
+
+ * fold-const.c (fold_binary_loc): New transformation.
+
+2010-10-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46085
+ * config/i386/sse.md (reduc_splus_v8sf): Updated.
+ (reduc_splus_v4df): Likewise.
+
+2010-10-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45860
+ * tree-ssa-phiopt.c (cond_store_replacement): Do not do
+ conditional store replacement for non-register type stores.
+
+2010-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stor-layout.c (skip_simple_constant_arithmetic): New function.
+ (self_referential_size): Use it instead of skip_simple_arithmetic.
+
+2010-10-20 Olivier Hainque <hainque@adacore.com>
+
+ * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p):
+ If the current function calls eh_return, claim live all registers
+ that we need to check for liveness otherwise.
+
+2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-decl.c (c_write_global_declarations): Call
+ objc_write_global_declarations when compiling Objective-C.
+ * c-lang.c (finish_file): Removed.
+
+2010-10-19 DJ Delorie <dj@redhat.com>
+
+ * doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
+ (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook.
+ (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
+ (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
+ * doc/tm.texi: Regenerate.
+ * targhooks.h (default_label_align_after_barrier_max_skip,
+ default_loop_align_max_skip, default_label_align_max_skip,
+ default_jump_align_max_skip): Declare.
+ * target.def (label_align_after_barrier_max_skip): New.
+ (loop_align_max_skip): New.
+ (label_align_max_skip): New.
+ (jump_align_max_skip): New.
+ * system.h (poison): Add those macros to the list.
+ * final.c (LABEL_ALIGN_MAX_SKIP): Remove.
+ (LOOP_ALIGN_MAX_SKIP): Remove.
+ (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove.
+ (JUMP_ALIGN_MAX_SKIP): Remove.
+ (default_label_align_after_barrier_max_skip): New.
+ (default_loop_align_max_skip): New.
+ (default_label_align_max_skip): New.
+ (default_jump_align_max_skip): New.
+ (compute_alignments): Use the new hooks.
+ (shorten_branches): Likewise.
+
+2010-10-19 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (bdesc_multi_arg): Use fma4i_fmadd_<mode>.
+ * config/i386/sse.md (fma<mode>4): Enable for FMA & SSE_MATH.
+ (fma4i_fmadd_<mode>): New.
+ (*split_fma, *split_fms, *split_fnma, *split_fnms): Rename from
+ fma4_fm*_<mode> and adjust to be pre-reload splitters to the
+ standard fma patterns.
+ (fmaddsub_<mode>): Rename from fma4i_fmaddsub_<mode> and
+ enable for FMA.
+ (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
+ (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
+ (*fma_fmaddsub_<mode>, *fma_fmsubadd_<mode>): New.
+
+2010-10-19 Paul Koning <pkoning@equallogic.com>
+
+ * lower-subreg.c (resolve_shift_zext): Delete conditional code for
+ WORDS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
+
+2010-10-19 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.md (fmasf4, *fmssf4, *nfmasf4): New.
+ (fmadf4, *fmsdf4, *nfmadf4): New.
+ (fmaxf4, *fmsxf4, *nfmaxf4): New.
+
+2010-10-19 Michael Eager <eager@eagercon.com>
+
+ * config/microblaze/microblaze.c (TARGET_EXCEPT_UNWIND_INFO):
+ Use sjlj unwind info for exceptions.
+
+2010-10-19 Francois-Xavier Coudert<fxcoudert@gcc.gnu.org>
+
+ PR fortran/43414
+ * dwarf2out.c (add_calling_convention_attribute): Flag main
+ Fortran subroutine with DW_AT_main_subprogram.
+
+2010-10-19 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_function_value): Small integer types are
+ promoted to SImode.
+ (rx_promote_function_mode): New function.
+ (TARGET_PROMOTE_FUNCTION_MODE): Define.
+
+2010-10-19 Nick Clifton <nickc@redhat.com>
+
+ * config/mep/mep.c (mep_print_operand): Use
+ targetm.strip_name_encoding.
+ (mep_output_aligned_common): Likewise.
+
+2010-10-19 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.c (new_structure): Remove ad-hoc "location_s" processing.
+
+2010-10-18 Richard Henderson <rth@redhat.com>
+
+ * simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify
+ (fma (neg a) (neg b) c) and (fma a (neg b) c).
+
+2010-10-18 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (IX86_BUILTIN_VFMSUBSS, IX86_BUILTIN_VFMSUBSD,
+ IX86_BUILTIN_VFMSUBPS, IX86_BUILTIN_VFMSUBPD,
+ IX86_BUILTIN_VFMSUBADDPS, IX86_BUILTIN_VFMSUBADDPD,
+ IX86_BUILTIN_VFNMADDSS, IX86_BUILTIN_VFNMADDSD,
+ IX86_BUILTIN_VFNMADDPS, IX86_BUILTIN_VFNMADDPD,
+ IX86_BUILTIN_VFNMSUBSS, IX86_BUILTIN_VFNMSUBSD,
+ IX86_BUILTIN_VFNMSUBPS, IX86_BUILTIN_VFNMSUBPD,
+ IX86_BUILTIN_VFMSUBADDPS256, IX86_BUILTIN_VFMSUBADDPD256,
+ IX86_BUILTIN_VFNMADDPS256, IX86_BUILTIN_VFNMADDPD256,
+ IX86_BUILTIN_VFNMSUBPS256, IX86_BUILTIN_VFNMSUBPD256): Remove.
+ (bdesc_multi_arg): Remove the corresponding builtins.
+ * config/i386/i386.md (UNSPEC_FMA4_INTRINSIC): Remove.
+ (UNSPEC_FMA4_FMSUBADD): Remove.
+ (UNSPEC_FMADDSUB): Rename from UNSPEC_FMA4_FMADDSUB.
+ * config/i386/sse.md (FMA4MODEF4): Remove.
+ (FMAMODE): Add.
+ (fma<mode>4): New expander.
+ (*fma4i_fmadd_<mode>): Macroize from fma4i_fmadd<mode>4 patterns,
+ and use FMA rtx code instead of UNSPEC_FMA4_INTRINSIC.
+ (*fma4i_fmsub_<mode>): Similarly.
+ (*fma4i_fnmadd_<mode>): Similarly.
+ (*fma4i_fnmsub_<mode>): Similarly.
+ (fma4i_vmfmadd_<mode>): Scalar patterns zero-extend, not merge
+ with the first operand.
+ (fma4i_fmaddsub_<mode>): Represent with UNSPEC_FMADDSUB instead
+ of explicit arithmetic. Macroize with AVXMODEF2P.
+ (*fma4i_fmsubadd_<mode>): Represent with UNSPEC_FMADDSUB + NEG.
+ (xop_frcz<mode>2): Macroize with FMAMODE.
+ (xop_vmfrcz<mode>2): Scalar patterns zero-extend, not merge with
+ the first operand.
+ * config/i386/fma4intrin.h (_mm_msub_ps): Use vfmadd intrinsic with
+ extra negations.
+ (_mm_msub_pd, _mm_msub_ss, _mm_msub_sd): Likewise.
+ (_mm_nmacc_ps, _mm_nmacc_pd, _mm_nmacc_ss, _mm_nmacc_sd): Likewise.
+ (_mm_nmsub_ps, _mm_nmsub_pd, _mm_nmsub_ss, _mm_nmsub_sd): Likewise.
+ (_mm256_msub_ps, _mm256_msub_pd): Likewise.
+ (_mm256_nmacc_ps, _mm256_nmacc_pd): Likewise.
+ (_mm256_nmsub_ps, _mm256_nmsub_pd): Likewise.
+ (_mm_msubadd_ps): Use vfmaddsub intrinsic with extra negation.
+ (_mm_msubadd_pd, _mm256_msubadd_ps, _mm256_msubadd_pd): Likewise.
+
+2010-10-18 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/45966
+ * combine.c (try_combine): If added_sets_2, deal with the case
+ where i0 feeds i1 and i1 feeds i2.
+
+2010-10-18 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_externally_visible_p): Handle externally visible and
+ preserve flags before trying to guess on visibility.
+ (varpool_externally_visible_p): New function.
+ (function_and_variable_visibility): Use it.
+
+2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Implemented parsing @synthesize and @dynamic for Objective-C.
+ * c-parser.c (c_parser_external_declaration): Recognize
+ RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
+ (c_parser_objc_at_synthesize_declaration): New.
+ (c_parser_objc_at_dynamic_declaration): New.
+
+2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_class_declaration): After finding an
+ error, parse the whole declaration then reset parser->error.
+
+2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/46041
+ * tree.h (mode_has_fma): Delete, move to c-cppbuiltins.c.
+ * builtins.c (mode_has_fma): Ditto.
+
+2010-10-18 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/36898
+ PR middle-end/43760
+ * config/ia64/ia64.c (rws_access_regno): Remove predicate check.
+
+2010-10-18 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Define and
+ use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
+ default.
+ * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
+ (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
+
+2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Merge from 'apple/trunk' branch on FSF servers.
+ * c-parser.c (c_parser_objc_type_name): Adapted to new parser the
+ following Objective-C change:
+
+ 2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4301047
+ * c-parse.in (objc_quals): Build objc qualifier list same way
+ as gcc-3.3
+
+2010-10-18 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p,
+ function_and_variable_visibility): Revert accidental commit.
+
+2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Merge from 'apple/trunk' branch on FSF servers.
+ * c-parser.c (c_parser_typeof_specifier): Adapted to new parser
+ the following Objective-C change:
+
+ 2005-10-07 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4204796
+ * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
+ 'volatilized' type used in a typeof operator.
+
+2010-10-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare.
+ * tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and
+ rewrite modelled on gimple_purge_dead_eh_edges.
+ (gimple_purge_all_dead_abnormal_call_edges): New function.
+ * tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges
+ directly instead of through gimple_purge_dead_abnormal_call_edges.
+ * tree-ssa-pre.c (need_ab_cleanup): New static variable.
+ (eliminate): Set bit in need_ab_cleanup for the basic block if we have
+ removed AB side-effects from one of its statements.
+ (init_pre): Initialize need_ab_cleanup.
+ (fini_pre): Purge dead abnormal call edges and clean up the CFG if bits
+ are set in need_ab_cleanup. Free need_ab_cleanup afterward.
+
+2010-10-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/46015
+ * c-parser.c (c_parser_statement_after_labels): Call mark_exp_read
+ on computed goto argument.
+
+2010-10-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45967
+ * tree-ssa-structalias.c (type_could_have_pointers): Remove.
+ (could_have_pointers): Likewise.
+ (handle_rhs_call, handle_const_call, handle_pure_call,
+ find_func_aliases, intra_create_variable_infos): Remove calls to them.
+ (struct fieldoff): Add must_have_pointers field.
+ (type_must_have_pointers): New function.
+ (field_must_have_pointers): Likewise.
+ (push_fields_onto_fieldstack): Remove must_have_pointers_p argument.
+ Adjust field merging.
+ (create_function_info_for): May-have-pointers of varinfo is
+ almost always true.
+ (create_variable_info_for_1): Likewise.
+
+2010-10-18 Tejas Belagod <tejas.belagod@arm.com>
+
+ * config/arm/neon.md (neon_move_hi_quad_<mode>): Fix the order
+ of operands to vec_concat.
+
+2010-10-18 Richard Guenther <rguenther@suse.de>
+
+ PR lto/44950
+ * tree.c (free_lang_data_in_decl): As we clear TYPE_METHODS
+ also clear references to entries of it.
+
+2010-10-18 Andi Kleen <ak@linux.intel.com>
+
+ PR other/43448
+ * gccbug.in: Remove.
+ * Makefile.in (GCCBUG_INSTALL_NAME, gccbug): Remove
+ (doc, distclean, install-common): Remove reference to gccbug.
+ * configure: Regenerate.
+ * configure.ac (all_outputs): Remove gccbug.
+ * doc/configfiles.texi: Remove references to gccbug.
+ * doc/sourcebuild.texi: Dito.
+
+2010-10-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/46019
+ * fold-const.c (fold_binary_loc): If integer_pow2p has
+ TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH.
+
+2010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
+ Jeremie Salvucci <jeremie.salvucci@free.fr>
+
+ * gengtype.c (verbosity_level): Add variable.
+ (set_gc_used): Count variables for verbosity.
+ (close_output_files): Backing up files, counting written ones
+ verbosily.
+ (write_types): Count emitted functions for verbosity. Added
+ debug messages.
+ (write_enum_defn): Count structures for verbosity. Added debug
+ messages.
+ (gengtype_long_options): Add "verbose" & "backupdir".
+ (print_usage): Ditto.
+ (main): Verbose display of parsed files.
+
+ * gengtype.h (verbosity_level): Add declaration.
+
+2010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.c (parse_program_options): Add allocation of
+ plugin_files, and correct test on nb_plugin_files.
+
+2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Merge from 'apple/trunk' branch on FSF servers.
+
+ 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4133425
+ * c-decl.c (undeclared_variable): Issue diagnostic on
+ private 'ivar' access.
+
+2010-10-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46051
+ * config/i386/sse.md (vec_interleave_highv4df): Fix third RTX of
+ generated sequence to match *avx_vperm2f128<mode>_nozero.
+ (vec_interleave_lowv4df): Ditto.
+ (vec_interleave_highv8sf): Ditto.
+ (vec_interleave_lowv8sf): Ditto.
+
+2010-10-17 Kai Tietz <kai.tietz@onevision.com>
+
+ * libgcov.c (create_file_directory): Enable it for win32 case.
+ (gcov_exit): De-couple GCOV_PREFIX and GCOV_PREFIX_STRIP.
+ * doc/gcov.texi (GCOV_PREFIX): Adjusted.
+ (GCOV_PREFIX_SKIP): Likewise.
+
+2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * doc/objc.texi (GNU Objective-C runtime API): New section.
+ (Modern GNU Objective-C runtime API): New section.
+ (Traditional GNU Objective-C runtime API): New section.
+ (Executing code before main): Mention that this section is
+ specific to the GNU Objective-C runtime.
+ (Garbage Collection): Same.
+
+2010-10-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * c-parser.c (c_parser_for_statement): Move initialization of
+ cond and incr before if.
+
+2010-10-17 Anatoly Sokolov <aesok@post.ru>
+
+ * target.def (preferred_output_reload_class): New hook.
+ * doc/tm.texi.in (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Document.
+ * doc/tm.texi: Regenerate.
+ * targhooks.c (default_preferred_output_reload_class): New function.
+ * targhooks.h (default_preferred_output_reload_class): Declare.
+ * reload.c (find_dummy_reload): Change rclass argument type from
+ enum reg_class to reg_class_t. Change this_alternative array type
+ from enum reg_class to reg_class_t.
+ Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
+ (push_reload): Change preferred_class variable type to reg_class_t.
+ Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
+ * recog.c (reg_fits_class_p): Change result type to bool. Change cl
+ argument type from enum reg_class to reg_class_t. Use
+ HARD_REGISTER_NUM_P predicate.
+ * recog.h (reg_fits_class_p): Update prototype.
+
+ * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
+ * config/i386/i386-protos.h (ix86_preferred_output_reload_class):
+ Remove.
+ * config/i386/i386.c (ix86_preferred_output_reload_class): Make
+ static. Change regclass argument and result types from enum reg_class
+ to reg_class_t.
+ (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
+
+2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
+
+ * c-parser.c (c_parser_objc_class_instance_variables): Update to use
+ visibility enum, and handle @package.
+
+2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * doc/objc.texi (What you can and what you cannot do in +load):
+ Document that sending messages to constant string objects in +load
+ is not guaranteed to work.
+
+2010-10-16 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44206
+ * ipa.c (cgraph_remove_unreachable_nodes): Cleanup; check
+ existence of refrences before removing the function.
+
+2010-10-16 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (dump_cgraph_node): Dump same_comdat_group,
+ only_called_at_startup and only_called_at_exit.
+ (cgraph_propagate_frequency): Compute only_called_at_startup and
+ only_called_at_exit.
+ * cgraph.h (struct cgraph_node): New fileds only_called_at_startup and
+ only_called_at_exit.
+ * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream the new
+ flags.
+ * predict.c (compute_function_frequency): Initialize the new flags.
+
+2010-10-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
+ ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
+ on the bounds of its domain.
+ * tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
+
+2010-10-16 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/avr/avr-protos.h (preferred_reload_class): Remove.
+ * config/avr/avr.c (preferred_reload_class): Remove.
+ * config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/pa/pa.c (emit_move_sequence): Update comment
+ * config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove.
+
+2010-10-16 Joseph Myers <joseph@codesourcery.com>
+
+ * opts.c (set_fast_math_flags,
+ set_unsafe_math_optimizations_flags): Make static.
+ * toplev.h (set_fast_math_flags,
+ set_unsafe_math_optimizations_flags): Remove prototypes.
+
+2010-10-16 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arm/arm.c (arm_option_optimization): Set
+ flag_section_anchors to 1 not 2.
+ * config/i386/i386.c (ix86_option_override_internal): Check
+ global_options_set.x_flag_zee and
+ global_options_set.x_flag_omit_frame_pointer.
+ (ix86_option_optimization): Don't set flag_omit_frame_pointer and
+ flag_zee to 2.
+ * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Check
+ global_options_set.x_flag_omit_frame_pointer.
+ * config/rs6000/rs6000.c (rs6000_option_init_struct): Set
+ opts->x_flag_section_anchors to 1 not 2.
+ * config/sh/sh.c (sh_option_optimization): Don't set
+ flag_schedule_insns to 2.
+ (sh_option_override): Check
+ global_options_set.x_flag_schedule_insns.
+ * opts.c (finish_options): Check opts_set->x_flag_section_anchors.
+
+2010-10-16 Kai Tietz <kai.tietz@onevision.com>
+
+ * configure.ac: Make sure inhibit_libc remains false for mingw targets
+ as cross.
+ * configure: Regenerated.
+
+2010-10-15 Xinliang David Li <davidxl@google.com>
+
+ * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): New
+ function.
+ (use_pred_not_overlap_with_undef_path_pred): Outline phi arg pruning
+ into a recursive function.
+
+2010-10-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movdfcc_1_rex64): Correct mode attribute.
+ (*movdfcc_1): ditto.
+
+2010-10-15 Joseph Myers <joseph@codesourcery.com>
+
+ * target.def (target_option.init_struct): New hook.
+ * doc/tm.texi.in (TARGET_OPTION_INIT_STRUCT): New @hook.
+ * doc/tm.texi: Regenerate.
+ * hooks.c (hook_void_gcc_optionsp): New.
+ * hooks.h (hook_void_gcc_optionsp): Declare.
+ * langhooks-def.h (lhd_init_options_struct): Remove.
+ (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define to hook_void_gcc_optionsp.
+ * langhooks.c (lhd_init_options_struct): Remove.
+ * opts.c (init_options_struct): Also call
+ targetm.target_option.init_struct.
+ * config/i386/i386.c (ix86_option_init_struct,
+ TARGET_OPTION_INIT_STRUCT): New.
+ (ix86_option_optimization): Move some settings to
+ ix86_option_init_struct.
+ * config/pdp11/pdp11.c (pdp11_option_init_struct,
+ TARGET_OPTION_INIT_STRUCT): New.
+ (pdp11_option_optimization): Move some settings to
+ pdp11_option_init_struct.
+ * config/rs6000/rs6000.c (rs6000_option_optimization): Replace by
+ rs6000_option_init_struct. Use options structure pointer.
+ (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
+ * config/s390/s390.c (s390_option_init_struct,
+ TARGET_OPTION_INIT_STRUCT): New.
+ (s390_option_optimization): Don't set
+ flag_asynchronous_unwind_tables here.
+ * config/sh/sh.c (sh_option_init_struct,
+ TARGET_OPTION_INIT_STRUCT): New.
+ (sh_option_optimization): Don't set flag_finite_math_only here.
+ * config/spu/spu.c (spu_option_optimization): Replace by
+ spu_option_optimization. Use options structure pointer.
+ (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
+
+2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * doc/md.texi (Standard Names): Add fma@var{m}4 documentation.
+
+ * doc/rtl.texi (RTX_TERNARY): Document FMA is ternary. Add
+ SIGN_EXTRACT and ZERO_EXTRACT which were missing.
+ (Standard names): Document fma.
+
+ * doc/cpp.texi (Common Predefined Macros): Document __FP_FAST_FMA,
+ __FP_FAST_FMAF, __FP_FAST_FMAL.
+
+ * builitns.c (expand_builtin_mathfn_ternary): New function for
+ expanding ternary math functions, like fma.
+ (expand_builtin): Call it for the fma builtins.
+
+ * simplify-rtx.c (simplify_ternary_operation): Don't simplify FMA
+ ops at present.
+
+ * tree-vect-stmts.c (vectorizable_call): Allow 3 argument
+ vectorizable functions to support vectorizing fma.
+
+ * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
+ Handle fma builtins.
+
+ * config/rs6000/vsx.md (UNSPEC_VSX_MADD): Delete.
+ (UNSPEC_VSX_MSUB): Ditto.
+ (UNSPEC_VSX_NMADD): Ditto.
+ (UNSPEC_VSX_NMSUB): Ditto.
+ (vsx_fmadd<mode>4*): Rewrite to use FMA rtl in some cases instead
+ of UNSPEC. Renumber combiner patterns.
+ (vsx_fmsub<mode>4*): Ditto.
+ (vsx_fnmadd<mode>4*): Ditto.
+ (vsx_fnmsub<mode>4*): Ditto.
+
+ * config/rs6000/altivec.md (UNSPEC_VNMSUBFP): Delete.
+ (altivec_vmaddfp): Rewrite to use FMA rtl if no fused
+ multiply/add. Rename combiner pattern, and add TARGET_FUSED_MADD test.
+ (altivec_vmaddfp_1): Ditto.
+ (altivec_vmaddfp_2): Ditto.
+ (atlivec_mulv4sf3): Ditto.
+ (altivec_vnmsubfp): Ditto.
+ (altivec_vnmsubfp_1): Ditto.
+ (altivec_vnmsubfp_2): Ditto.
+ (altivec_vnmsubfp_3): Delete.
+
+ * config/rs6000/rs6000.md (fmasf4): New insns for fma builtin support.
+ (fmasf4_fpr): Ditto.
+ (fmssf4_fpr): Ditto.
+ (fnmasf4_fpr): Ditto.
+ (fnmssf4_fpr): Ditto.
+ (fmadf4): Ditto.
+ (fmadf4_fpr): Ditto.
+ (fmsdf4_fpr): Ditto.
+ (fnmadf4_fpr): Ditto.
+ (fnmsdf4_fpr): Ditto.
+
+ * optabs.h (OTI_fma): Add fma optab.
+ (fma_optab): Ditto.
+
+ * genopinit.c (optabs): Set fma optab.
+
+ * rtl.def (FMA): Add FMA rtl.
+
+ * tree.h (mode_has_fma): New function to return if MODE supports a
+ fast multiply and add instruction.
+ * builtins.c (mode_has_fma): Ditto.
+
+2010-10-15 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer-out.c (write_symbol): Use pointer set of seen
+ objects instead of bitmap.
+ (produce_symtab): Likewise; output defined symbols first.
+
+2010-10-15 Jie Zhang <jie@codesourcery.com>
+
+ * doc/invoke.texi: Add -fstrict-volatile-bitfields to
+ Option Summary and Index.
+
+2010-10-15 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (free_lang_data_in_decl): Clear DECL_INITIAL
+ for automatic variables again.
+
+2010-10-15 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/extend.texi (Variable Length): Don't refer to VLAs not
+ conforming to C99.
+
+2010-10-15 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rx/rx.c (rx_option_optimization): Change to
+ rx_override_options_after_change. Don't change
+ flag_lto_compression_level. Don't check for changes to whether
+ FPU instructions can be used. Check and set only
+ flag_finite_math_only, not other fast-math flags.
+ (rx_option_override): Call rx_override_options_after_change.
+ (TARGET_OPTION_OPTIMIZATION): Remove.
+ (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
+
+2010-10-15 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/rs6000.c (rs6000_option_optimization): Don't
+ disable section anchors for lang_hooks.name[4] != 'O'.
+
+2010-10-15 Joseph Myers <joseph@codesourcery.com>
+
+ * config/frv/frv.c (frv_option_optimization,
+ TARGET_OPTION_OPTIMIZATION): Remove.
+ * config/frv/frv.h (RCSP_SOFTWARE_PIPELINING): Remove.
+
+2010-10-15 Michael Matz <matz@suse.de>
+
+ * cgraphunit.c (clone_of_p): Define unconditionally.
+
+2010-10-15 Richard Guenther <rguenther@suse.de>
+
+ PR lto/45957
+ * tree.c (free_lang_data_in_decl): Do not clear DECL_INITIAL of vars.
+
+2010-10-15 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * ifcvt.c (find_active_insn_before): New function.
+ (find_active_insn_after): New function.
+ (cond_exec_process_if_block): Use new functions to replace
+ prev_active_insn() and next_active_insn().
+
+2010-10-14 Yao Qi <yao@codesourcery.com>
+
+ PR target/45447
+ * config/arm/arm.c (arm_build_builtin_va_list): Assign
+ va_list_name to TYPE_STUB_DECL (va_list_type).
+
+2010-10-14 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/45621
+ * cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is
+ redirected to clone, be happy.
+ * cgraph.h (cgraph node): Enable former_clone_of unconditinally.
+ * cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle
+ former_clone_of unconditionally.
+
+2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
+
+ Merge from FSF apple 'trunk' branch.
+ 2006 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radars 4436866, 4505126, 4506903, 4517826
+ * c-parser.c (c_parser, objc_property_attr_context) New flag.
+ (c_lex_one_token): Handle property attributes.
+ (c_parser_external_declaration): Handle @property.
+ (c_parser_declaration_or_fndef): Warn on invalid attributes before
+ @alias, @class, @end and @property objc keywords.
+ (c_parser_objc_methodprotolist): Handle @property.
+ (c_parser_objc_property_attrlist): New.
+ (c_parser_objc_at_property): New.
+ * c-typeck.c (build_component_ref): Handle CLASS.property syntax.
+ (build_modify_expr): Likewise.
+
+2010-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46008
+ * tree-if-conv.c (predicate_bbs): Try to canonicalize c2 if possible.
+
+2010-10-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44913
+ * tree-data-ref.c (disjoint_objects_p): Remove.
+ (dr_may_alias_p): Simplify. Only hand the base object to
+ the alias-oracle.
+ * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
+ some more trees, bail out instead of asserting.
+ (ptr_derefs_may_alias_p): Likewise. Export.
+ (refs_may_alias_p_1): Handle STRING_CSTs.
+ * tree-ssa-alias.h (ptr_derefs_may_alias_p): Declare.
+
+2010-10-14 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/45969
+ * c-typeck.c (build_binary_op): Don't try to compute a semantic
+ type with excess precision for boolean operations.
+
+2010-10-14 Jeremie Salvucci <jeremie.salvucci@free.fr>
+ Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.c: Include getopt.h and version.h.
+
+ (lang_bitmap, struct outf, outf_p)
+ (get_output_file_with_visibility, oprintf): Definitions moved to
+ gengtype.h
+ (output_files, header_file, srcdir, srcdir_len, this_file)
+ (do_dump): No more static variables.
+ (do_debug): New.
+ (dbgprint_count_type_at): Added new function.
+ (gengtype_long_options): New.
+ (print_usage, print_version, parse_program_options): New.
+ (main): Call parse_program_options, and removed old option
+ handling code. Added some debug output.
+
+ * gengtype.h: Updated copyright year.
+ (lang_bitmap, struct outf, outf_p, header_file, oprintf)
+ (get_output_file_with_visibility, srcdir, srcdir_len, do_dump):
+ Moved from gengtype.c to here.
+ (do_debug, read_state_filename, write_state_filename): New variables.
+ (DBGPRINTF, DBGPRINT_COUNT_TYPE): New macros.
+
+ * Makefile.in:
+ (REVISION): Always defined.
+ (version.o): Removed ifdef REVISION_c.
+ (s-gtype): Pass arguments to build/gengtype program.
+ (build/version.o): Added building rule.
+ (build/gengtype$(build_exeext)): Added build/version.o.
+
+2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
+
+ Partial merge of 'ObjC GC' from FSF apple 'trunk' branch.
+ * config/darwin-c.c (darwin_cpp_builtins): Define __weak and
+ __strong macros.
+
+2010-10-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke
+ may_trap_or_fault_p instead of may_trap_p predicate.
+ * tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag.
+ (substitute_placeholder_in_expr): Likewise.
+ * tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP
+ flag on MEM_REF nodes.
+ (copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP
+ flags on INDIRECT_REF nodes.
+
+2010-10-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from libgcc.
+ (arm*-*-uclinux*eabi) <tm_file>: Likewise.
+ (arm*-*-eabi*) <tm_file>: Likewise.
+ (frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
+ (frv-*-*linux*) <tm_file>: Likewise.
+ * config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
+ and associated helper macros.
+ * config/frv/frv-abi.h: Delete.
+
+2010-10-14 Richard Guenther <rguenther@suse.de>
+
+ PR lto/44561
+ * tree.def (NULLPTR_TYPE): New tree code.
+ * dbxout.c (dbxout_type): Handle NULLPTR_TYPE.
+ * dwarf2out.c (is_base_type): Likewise.
+ (gen_type_die_with_usage): Likewise.
+ * sdbout.c (plain_type_1): Likewise.
+ * tree.c (build_int_cst_wide): Likewise.
+ * gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types are equal.
+
+2010-10-14 Joseph Myers <joseph@codesourcery.com>
+
+ * params.c (params_finished): New.
+ (add_params): Assert !params_finished.
+ (finish_params): New.
+ (set_param_value_internal): Take params and params_set
+ parameters. Assert params_finished.
+ (set_param_value, maybe_set_param_value): Take params and
+ params_set parameters. Update calls to set_param_value_internal.
+ (set_default_param_value): Assert !params_finished. Don't use
+ set_param_value_internal.
+ (default_param_value, init_param_values): New.
+ * params.h (struct param_info): Change value to default_value.
+ Remove set.
+ (set_param_value, maybe_set_param_value): Add params and
+ params_set parameters.
+ (PARAM_VALUE): Get parameters from global_options.
+ (PARAM_SET_P): Remove.
+ (finish_params, default_param_value, init_param_values): New.
+ * common.opt (param_values): New Variable.
+ * config/arm/arm.c (arm_option_override): Pass extra arguments to
+ maybe_set_param_value.
+ * config/i386/i386.c (ix86_option_override_internal): Pass extra
+ arguments to maybe_set_param_value.
+ * config/picochip/picochip.c (picochip_option_override): Pass
+ extra arguments to maybe_set_param_value.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Pass
+ extra arguments to maybe_set_param_value.
+ * config/s390/s390.c (s390_option_override): Use
+ maybe_set_param_value instead of set_param_value. Pass extra
+ arguments to maybe_set_param_value.
+ * config/sparc/sparc.c (sparc_option_override): Pass extra
+ arguments to maybe_set_param_value.
+ * config/spu/spu.c (spu_option_override): Pass extra arguments to
+ maybe_set_param_value.
+ * opts.c (handle_param): Take opts and opts_set parameters.
+ Update call to set_param_value.
+ (initial_min_crossjump_insns, initial_max_fields_for_field_sensitive,
+ initial_loop_invariant_max_bbs_in_loop): Remove.
+ (init_options_once): Don't set them.
+ (init_options_struct): Initialize parameters structures.
+ (default_options_optimization): Use default_param_value when
+ restoring defaults. Update calls to maybe_set_param_value.
+ (finish_options): Update calls to maybe_set_param_value.
+ (common_handle_option): Update calls to handle_param and
+ set_param_value.
+ * toplev.c (DEFPARAM): Update definition for changes to param_info.
+ (general_init): Call finish_params.
+
+2010-10-14 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.h (CONSTANT_ALIGNMENT): Define.
+ (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.
+ (FIRST_PSEUDO_REGISTER): Increase by one.
+ (FIXED_REGISTERS, CALL_USED_REGISTERS): Update with CC_REG.
+ (HARD_REGNO_MODE_OK): Call mn10300_hard_regno_mode_ok.
+ (MODES_TIEABLE): Call mn10300_modes_tieable.
+ (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add CC_REGS.
+ (LEGITIMATE_CONSTANT_P): Call mn10300_legitimate_constant_p.
+ (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, NOTICE_UPDATE_CC)
+ (SELECT_CC_MODE, REVERSIBLE_CC_MODE): Delete.
+ (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Add CC register.
+ (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
+ (mn10300_cc_status_mdep): Delete.
+ (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Delete.
+ * config/mn10300/mn10300 (mn10300_option_override): Stop disabling
+ the combine-stack-adjust pass.
+ (print_operand): Use the mode of the comparison operation to
+ select the comparison suffix.
+ (notice_update_cc): Delete.
+ (mn10300_secondary_reload_class): Remove test for stack pointer
+ based arithmetic.
+ (output_tst): Rename to mn10300_output_cmp.
+ (impossible_plus_operand): Move into predicates.md.
+ (mn10300_legitimize_address): Make static.
+ (mn10300_legitimate_address_p): Make static. Only allow SI sized
+ constant pic operands.
+ (mn10300_legitimate_constant_p): New function.
+ (mn10300_case_values_threshold): Make static.
+ (mn10300_hard_regno_mode_ok): New function.
+ (mn10300_modes_tieable): New function.
+ (mn10300_select_cc_mode): New function.
+ * config/mn10300/predicates.md (impossible_plus_operand): Define.
+ * config/mn10300/mn10300-protos.h: Tidy.
+ (mn10300_legitimate_constant_p, mn10300_modes_tieable)
+ (mn10300_hard_regno_mode_ok, mn10300_select_cc_mode): Prototype.
+ * config/mn10300/mn10300.md (cc attribute): Delete. Replace
+ with clobbers or sets of CC_REG.
+ (CC_REG): Define.
+ (mov*): Remove use of CLR instruction.
+ (cbranch_si4_<code>): New pattern/split.
+ (integer_conditional_branch): New pattern.
+ (cbranch_sf4_<code>): New pattern/split.
+ (float_conditional_branch): New pattern.
+ (casesi): Use addsi3 pattern instead of movsi pattern to add and
+ move a value at the same time.
+ (cc0 peepholes): Remove.
+
+2010-10-14 Andrey Belevantsev <abel@ispras.ru>
+
+ * sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE
+ on RTX_FRAME_RELATED_P insns and the insn to which
+ NOTE_INSN_EPILOGUE_BEG is attached.
+ * sched-vis.c (print_value): Allow NULL value.
+
+2010-10-14 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/45570
+ * sel-sched-ir.c (cfg_preds_1): When walking out of the region,
+ assert that we are pipelining outer loops. Allow returning
+ zero predecessors.
+
+2010-10-14 Andrey Belevantsev <abel@ispras.ru>
+
+ * sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
+ (tidy_control_flow): Tidy vertical space.
+ (sel_remove_bb): New variable idx. Use it to remember the basic
+ block index before deleting the block.
+ (sel_remove_empty_bb): Remove dead code, simplify and insert to ...
+ (sel_merge_blocks): ... here.
+ * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.
+
+2010-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * cse.c (is_dead_reg): Change into inline function that is not
+ called through for_each_rtx.
+ (set_live_p): Adjust caller.
+ (insn_live_p): Don't reset DEBUG_INSNs here.
+ (struct dead_debug_insn_data): New data.
+ (count_stores, is_dead_debug_insn, replace_dead_reg): New functions.
+ (delete_trivially_dead_insns): If there is just one setter for the
+ dead reg that is referenced by some DEBUG_INSNs, create a DEBUG_EXPR
+ and add DEBUG_INSN for it right before the removed setter and
+ use the DEBUG_EXPR instead of the dead pseudo.
+
+2010-10-14 Zdenek Dvorak <rakdver@kam.uniff.cz>
+
+ * et-forest.c (et_nca): Return NULL immediately when
+ the dominance forest has disjoint components.
+
+2010-10-13 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira.c (setup_class_hard_regs): Fix typo in indexing
+ ira_non_ordered_class_hard_regs and ira_class_hard_reg_index.
+
+2010-10-14 Tijs Wiebe Lefering <twlevo@gmail.com>
+
+ * graph.c (inbb): New variable.
+ (start_bb): Set inbb to 1 if output is inside of a building block.
+ (end_bb): Check if output is inside of a building block.
+
+2010-10-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/45912
+ * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Test the
+ regno of registers instead of their index to compute the alignment.
+
+2010-10-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_build_const_vector): Check vector
+ mode instead of scalar mode.
+ (ix86_build_signbit_mask): Likewise.
+ (ix86_expand_fp_absneg_operator): Updated.
+ (ix86_expand_copysign): Likewise.
+ (ix86_expand_int_vcond): Likewise.
+ (ix86_emit_swdivsf): Likewise.
+ (ix86_sse_copysign_to_positive): Likewise.
+ (ix86_expand_sse_fabs): Likewise.
+ * config/i386/i386.md (fixuns_trunc<mode>si2): Likewise.
+ * config/i386/sse.md (copysign<mode>3): Likewise.
+ (sse2_cvtudq2ps): Likewise.
+ (vec_unpacku_float_hi_v4si): Likewise.
+ (vec_unpacku_float_lo_v4si): Likewise.
+
+ * config/i386/i386.c (ix86_builtins): Add
+ IX86_BUILTIN_CPYSGNPS256 and IX86_BUILTIN_CPYSGNPD256.
+ (bdesc_args): Likewise.
+ (ix86_builtin_vectorized_function): Support
+ IX86_BUILTIN_CPYSGNPS256, IX86_BUILTIN_CPYSGNPD256,
+ IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS_NR256,
+ and IX86_BUILTIN_CVTPS2DQ256.
+ (ix86_builtin_reciprocal): Support IX86_BUILTIN_SQRTPS_NR256.
+
+ * config/i386/sse.md (STORENT_MODE): New.
+ (VEC_FLOAT_MODE): Likewise.
+ (VEC_EXTRACT_MODE): Likewise.
+ (*avx_cvtdq2pd256_2): Likewise.
+ (vec_pack_trunc_v4df): Likewise.
+ (vec_interleave_highv8sf): Likewise.
+ (vec_interleave_lowv8sf): Likewise.
+ (storent<mode>): Macroized.
+ (<code><mode>2: absneg): Likewise.
+ (copysign<mode>3): Likewise.
+ (vec_extract<mode>): Likewise.
+
+ PR target/44180
+ * config/i386/i386.c (expand_vec_perm_even_odd_1): Rewritten
+ for V8SFmode.
+
+2010-10-13 Richard Guenther <rguenther@suse.de>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/sse.md (reduc_splus_v8sf): Add.
+ (reduc_splus_v4df): Likewise.
+ (vec_unpacks_hi_v8sf): Likewise.
+ (vec_unpacks_lo_v8sf): Likewise.
+ (*avx_cvtps2pd256_2): Likewise.
+ (vec_unpacks_float_hi_v8si): Likewise.
+ (vec_unpacks_float_lo_v8si): Likewise.
+ (vec_interleave_highv4df): Likewise.
+ (vec_interleave_lowv4df): Likewise.
+
+2010-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR objc/45878
+ * gimple-fold.c (gimple_fold_obj_type_ref): Leave OBJ_TYPE_REFs
+ alone if there are no virtual methods.
+
+2010-10-13 Richard Henderson <rth@redhat.com>
+
+ * expr.c (build_personality_function): Take parameter LANG instead
+ of parameter NAME. Build the name based on the lang prefix and the
+ unwind method in use.
+ * tree.c (lhd_gcc_personality): Update call to
+ build_personality_function.
+
+2010-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR objc/45878
+ * tree-ssa-ccpc (ccp_fold_stmt): Use gimple_fold_obj_type_ref.
+
+2010-10-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cse.c (cse_insn): Fix thinko in the canonicalization of USE insns.
+ Canonicalize input operands of ASM_OPERANDS insns.
+
+2010-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45788
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Delay
+ EH update until fixup-cfg.
+
+2010-10-13 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
+ from CORE_REGS and GENERAL_REGS classes.
+ * config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of
+ final constraint for register preferencing.
+
+2010-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45970
+ * tree-ssa-alias.h (stmt_kills_ref_p): Declare.
+ * tree-ssa-alias.c (stmt_kills_ref_p_1): New function.
+ (stmt_kills_ref_p): Likewise.
+ * tree-ssa-dse.c (dse_optimize_stmt): Use it.
+
+2010-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45982
+ * tree-ssa-structalias.c (make_constraints_to): New function.
+ (make_constraint_to): Implement in terms of make_constraints_to.
+ (find_func_aliases): Properly make return values of pure/const
+ functions escape if they assign to sth that is not a pointer.
+
+2010-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45874
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
+ Fixup the CFG when EH was fixed up.
+
+2010-10-13 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vect-slp.c (vect_get_constant_vectors): Fix comment.
+ Use operand's type for POINTER_PLUS_EXPR.
+
+2010-10-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * c-parser.c (c_parser_for_statement): Initialize incr.
+
+2010-10-12 Xinliang David Li <davidxl@google.com>
+
+ PR tree-optimization/45972
+ * tree-ssa-uninit.c (compute_uninit_opnds_pos): Skip phis
+ with too many arguments.
+
+2010-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/45636
+ * tree-ssa-forwprop.c: Include expr.h.
+ (constant_pointer_difference, simplify_builtin_call): New functions.
+ (tree_ssa_forward_propagate_single_use_vars): Call
+ simplify_builtin_call on builtin calls.
+
+2010-10-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.md (*adddi3_insn_sp32): Rename.
+ (*adddi3_extend_sp32): Likewise.
+ (*subdi3_insn_sp32): Likewise.
+ (*subdi3_extend_sp32): Likewise.
+ (*negdi2_sp32): Use negative test for consistency.
+
+2010-10-12 Nathan Froyd <froydnj@codesourcery.com>
+
+ * libgcc2.h: Use __SIZEOF_DOUBLE__ instead of LIBGCC2_DOUBLE_TYPE_SIZE.
+ (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
+ * config/fixed-bit.h: Likewise.
+ * config/rx/rx.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
+ * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
+ * system.h (LIBGCC2_DOUBLE_TYPE_SIZE): Poison.
+ * doc/tm.texi.in (LIBGCC2_HAS_DF_MODE): Use DOUBLE_TYPE_SIZE.
+ (DF_SIZE): Likewise.
+ * doc/tm.texi: Regenerate.
+
+2010-10-12 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rs6000/predicates.md (scc_rev_comparison_operator): New.
+ * config/rs6000/rs6000.md (*isel_reversed_signed_<mode>): New.
+ (*isel_reversed_unsigned_<mode>): New.
+ * config/rs6000/rs6000.c (output_isel): Accept GE/GEU/LE/LEU/NE
+ as valid comparisons and adjust operands and output appropriately.
+ (rs6000_rtx_costs) <CONST_INT>: Accept NE as a cost-0 outer_code.
+
+2010-10-12 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
+ DATA_ALIGNMENT and add COND parameter. Update comments above.
+ (DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
+ (LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !flag_conserve_stack.
+
+2010-10-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/45958
+ * exec-tool.in: Support '-plugin' as the second option to the linker.
+
+2010-10-12 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/45962
+ * cfgexpand.c (add_stack_var): Ensure every variable has 1 byte.
+ (expand_stack_vars): Assert large base allocated when used.
+
+2010-10-12 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (get_constraint_for_1): Constants
+ only point to nonlocal, not anything.
+
+2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Use sjlj
+ unwind info for exceptions.
+
+2010-10-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/45851
+ * doc/sourcebuild.texi (LTO Testing, dg-extra-ld-options):
+ Document optional target selector.
+
+2010-10-12 Joseph Myers <joseph@codesourcery.com>
+
+ * flag-types.h: New.
+ * Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H).
+ (FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of
+ options.h.
+ (OPTIONS_H): Define.
+ (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead
+ of options.h.
+ * configure.ac (tm_include_list): Include options.h not flags.h.
+ * configure: Regenerate.
+ * flags.h: Include flag-types.h. Include options.h at top of file
+ again.
+ (enum debug_info_type, enum debug_info_level, enum
+ debug_info_usage, enum symbol_visibility, struct visibility_flags,
+ enum ira_algorithm, enum ira_region, enum excess_precision, enum
+ graph_dump_types, enum stack_check_type,
+ enum warn_strict_overflow_code): Move to flag-types.h
+ * opth-gen.awk: Include flag-types.h in options.h.
+
+2010-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ * expr.c (store_expr): Share code for STRING_CST and
+ MEM_REF of &STRING_CST cases. Don't require BLKmode, instead
+ check if target is a MEM.
+
+ * rtl.h: Include hashtab.h.
+ (iterative_hash_rtx): New prototype.
+ * rtl.c (iterative_hash_rtx): New function.
+ * dwarf2out.c (dw_loc_list_node): Add hash and emitted fields.
+ (output_loc_list): Return immediately if emitted is set, set it.
+ (hash_loc_operands, hash_locs, hash_loc_list,
+ compare_loc_operands, compare_locs, loc_list_hash, loc_list_eq,
+ optimize_location_lists_1, optimize_location_lists): New function.
+ (dwarf2out_finish): Call optimize_location_lists.
+ * Makefile.in (RTL_BASE_H): Depend on $(HASHTAB_H).
+
+2010-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR testsuite/45974
+ Revert:
+ * Makefile.in ($(lang_checks_parallel))
+ ($(lang_checks_parallelized)): Use single quotes for
+ $(RUNTESTFLAGS), to allow passing quoted content.
+
+2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/linux-atomic.c (__sync_val_compare_and_swap_4): Return
+ actual_oldval. Use __builtin_expect.
+ (SUBWORD_VAL_CAS): Likewise.
+
+2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * recog.c (nonmemory_operand): Call immediate_operand for
+ CONSTANT_P operands.
+
+2010-10-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (movmem<mode>): Macroize expander from
+ movmem{si,di} using SWI48 mode iterator.
+ (*strmovsi_1): Macroize insn pattern from *strmovsi_1 and
+ *strmovsi_rex_1 using P mode iterator.
+ (*strmovhi_1): Ditto from *strmovhi_1 and *strmovhi_rex_1.
+ (*strmovqi_1): Ditto from *strmovqi_1 and *strmovqi_rex_1.
+ (*rep_movsi): Ditto from *rep_movsi and *rep_movsi_rex64.
+ (*rep_movqi): Ditto from *rep_movqi and *rep_movqi_rex64.
+ (setmem<mode>): Macroize expander from setmem{si,di} using
+ SWI48 mode iterator.
+ (*strsetsi_1): Macroize insn pattern from *strsetsi_1 and
+ *strsetsi_rex_1 using P mode iterator.
+ (*strsethi_1): Ditto from *strsethi_1 and *strsethi_rex_1.
+ (*strsetqi_1): Ditto from *strsetqi_1 and *strsetqi_rex_1.
+ (*rep_stossi): Ditto from *rep_stossi and *rep_stossi_rex64.
+ (*rep_stosqi): Ditto from *rep_stosqi and *rep_stosqi_rex64.
+ (*cmpstrnqi_nz_1): Ditto from *cmpstrnqi_nz_1 and *cmpstrnqi_nz_rex_1.
+ (*cmpstrnqi_1): Ditto from *cmpstrnqi_1 and *cmpstrnqi_rex_1.
+ (strlen<mode>): Macroize expander from strlen{si,di} using SWI48x
+ mode iterator.
+ (*strlenqi_1): Macroize insn pattern from *strlenqi_1 and
+ *strlenqi_rex_1 using P mode iterator.
+
+2010-10-11 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/45445
+ * ira-lives.c (mark_pseudo_reg_live, mark_pseudo_reg_dead): New
+ static functions.
+ (mark_ref_live, mark_ref_dead): Use them.
+ (make_pseudo_conflict): New arg ORIG_DREG. All callers changed.
+ Save the original reg, and use the new functions.
+ (check_and_make_def_use_conflict): New arg ORIG_DREG. All callers
+ changed.
+ (check_and_make_def_conflict): Save the original reg.
+
+2010-10-11 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/45699
+ * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Choose among
+ thunks.
+
+2010-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.in ($(lang_checks_parallel))
+ ($(lang_checks_parallelized)): Use single quotes for
+ $(RUNTESTFLAGS), to allow passing quoted content.
+
+ PR bootstrap/35855
+ * opt-functions.awk (BEGIN): New section.
+ (lower, upper, digit, alnum): New variables.
+ (static_var, opt_sanitized_name): Use alnum instead of character
+ classes, for non-C locale.
+ * optc-gen.awk: Likewise.
+ * opth-gen.awk: Likewise.
+
+2010-10-11 Anatoly Sokolov <aesok@post.ru>
+
+ * target.def (preferred_reload_class): New hook.
+ * doc/tm.texi.in (TARGET_PREFERRED_RELOAD_CLASS): Document.
+ * doc/tm.texi: Regenerate.
+ * targhooks.c (default_preferred_reload_class): New function.
+ * targhooks.h (default_preferred_reload_class): Declare.
+ * reload.c (find_dummy_reload): Change preferred_class variable type
+ from enum reg_class to reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS
+ target hook.
+ (find_reloads): Change goal_alternative array type from int to
+ reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS target hook.
+ (push_reload, find_reloads_address_part): Use
+ TARGET_PREFERRED_RELOAD_CLASS target hook.
+ * reload1.c (emit_input_reload_insns): Ditto.
+ * ira-costs.c (copy_cost): Use TARGET_PREFERRED_RELOAD_CLASS target
+ hook. Change rclass argument and secondary_class variable types from
+ 'enum reg_class' to reg_class_t.
+
+ * config/i386/i386.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/i386/i386-protos (ix86_preferred_reload_class): Remove.
+ * config/i386/i386.c (ix86_preferred_reload_class): Make static.
+ Change regclass argument and result types from enum reg_class to
+ reg_class_t.
+ (TARGET_PREFERRED_RELOAD_CLASS): Define.
+
+2010-10-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * simplify-rtx.c (simplify_unary_operation_1): Use unsigned arithmetics
+ in masking operations.
+ (simplify_const_unary_operation): Likewise.
+ (simplify_binary_operation_1): Likewise.
+ (simplify_const_binary_operation): Likewise.
+ (simplify_const_relational_operation): Likewise.
+ (simplify_ternary_operation): Likewise.
+ (simplify_immed_subreg): Likewise.
+
+2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/45862
+ * doc/tm.texi.in (SUPPORTS_WEAK): Update.
+ (TARGET_SUPPORTS_WEAK): New.
+ * doc/tm.texi: Regenerate.
+ * defaults.h (SUPPORTS_WEAK): Update comment.
+ (TARGET_SUPPORTS_WEAK): New.
+ * dwarf2asm.c (USE_LINKONCE_INDIRECT): Update define.
+ * varasm.c (assemble_external): Use TARGET_SUPPORTS_WEAK instead of
+ SUPPORTS_WEAK.
+ (merge_weak, declare_weak, do_assemble_alias, supports_one_only,
+ make_decl_one_only): Likewise.
+ * config/pa/som.h (SUPPORTS_WEAK): Rename defines to
+ TARGET_SUPPORTS_WEAK.
+ (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Use TARGET_SUPPORTS_WEAK
+ instead of SUPPORTS_WEAK.
+
+2010-10-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sparc/gmon-sol2.c: Don't include coretypes.h, tm.h.
+
+2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * vec.h (VEC_qsort): Define.
+ * dbxout.c (output_used_types): Use it.
+ * df-scan.c (df_sort_and_compress_refs): Likewise.
+ (df_sort_and_compress_mws): Likewise.
+ * genautomata.c (uniq_sort_alt_states): Likewise.
+ (evaluate_equiv_classes): Likewise.
+ (output_trans_table): Likewise.
+ (output_state): Likewise.
+ * gimplify.c (compare_case_labels): Likewise.
+ * graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise.
+ * ipa.c (build_cdtor_fns): Likewise.
+ * lto.c (lto_wpa_write_files): Likewise.
+ * sel-sched.c (fill_vec_av_set): Likewise.
+ * tree-predcom.c (determine_roots_comp): Likewise.
+ * tree-sra.c (sort_and_spliace_var_accesses): Likewise.
+ (splice_param_accesses): Likewise.
+ * tree-ssa-live.c (dump_enumerated_decls): Likewise.
+ * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
+ (reassociate_bb): Likewise.
+ * tree-ssa-sccvn.c (sort_scc): Likewise.
+ * tree-ssa-structalias.c (sort_fieldstack): Likewise.
+
+2010-10-11 Ian Lance Taylor <iant@google.com>
+
+ * tree.h (TREE_THIS_NOTRAP): Use TREE_CHECK5.
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Only check
+ TREE_THIS_NOTRAP when appropriate.
+ (get_spill_slot_decl): Don't set TREE_THIS_NOTRAP on the new VAR_DECL.
+ * gimplify.c (gimplify_expr): Copy NOTRAP from INDIRECT_REF to
+ newly created MEM_REF.
+
+2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ Nathan Froyds patch to hooks FUNCTION_ARG etc.
+ * config/picochip/picochip-protos.h (picochip_function_arg): Delete.
+ (picochip_incoming_function_arg): Delete.
+ (picochip_arg_advance): Delete.
+ * config/picochip/picochip.h (FUNCTION_ARG): Delete.
+ (FUNCTION_INCOMING_ARG): Delete.
+ (FUNCTION_ARG_ADVANCE): Delete.
+ * config/picochip/picochip.c (picochip_function_arg): Take a
+ const_tree and a bool.
+ (picochip_incoming_function_arg): Likewise.
+ (picochip_arg_advance): Likewise.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
+ (TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/45955
+ * ipa.c (build_cdtor): Delete endless loop.
+
+2010-10-07 Andi Kleen <ak@linux.intel.com>
+
+ * Makefile.in (MOSTLYCLEANFILES): Remove cc1*dummy, add
+ checksum-options.
+ (checksum-options): Add.
+ (cc1-dummy): Remove.
+ (cc1-checksum): Change to run checksum over object files
+ and options only.
+ * dummy-checksum.c: Remove.
+ * genchecksum.c: Update copyright.
+ (usage): Allow multiple arguments.
+ (BLOCKSIZE): Add.
+ (dosum): Change for incremental checksum. Remove C output.
+ (main): Iterate over all argument files. Add C output.
+
+2010-10-11 Joseph Myers <joseph@codesourcery.com>
+
+ * params.c (set_param_value_internal): New.
+ (set_param_value): Use set_param_value_internal.
+ (maybe_set_param_value, set_default_param_value): New.
+ * params.h (PARAM_VALUE, PARAM_SET_P): Make into rvalues.
+ (maybe_set_param_value, set_default_param_value): Declare.
+ * config/arm/arm.c (arm_option_override): Use maybe_set_param_value.
+ * config/i386/i386.c (ix86_option_override_internal): Use
+ maybe_set_param_value.
+ * config/ia64/ia64.c (ia64_option_default_params,
+ TARGET_OPTION_DEFAULT_PARAMS): New.
+ (ia64_option_optimization): Move some code to
+ ia64_option_default_params.
+ * config/picochip/picochip.c (picochip_option_override): Use
+ maybe_set_param_value.
+ * config/rs6000/rs6000.c (rs6000_option_default_params,
+ TARGET_OPTION_DEFAULT_PARAMS): New.
+ (rs6000_option_override_internal): Use maybe_set_param_value.
+ (rs6000_option_optimization): Move some code to
+ rs6000_option_default_params.
+ * config/s390/s390.c (s390_option_override): Use maybe_set_param_value.
+ * config/sh/sh.c (sh_option_default_params,
+ TARGET_OPTION_DEFAULT_PARAMS): New.
+ (sh_option_optimization): Move some code to sh_option_default_params.
+ * config/sparc/sparc.c (sparc_option_override): Use
+ maybe_set_param_value.
+ * config/spu/spu.c (spu_option_default_params,
+ TARGET_OPTION_DEFAULT_PARAMS): New.
+ (spu_option_optimization): Move some code to spu_option_default_params.
+ (spu_option_override): Use maybe_set_param_value.
+ * doc/tm.texi.in (TARGET_OPTION_DEFAULT_PARAMS): New @hook.
+ * doc/tm.texi: Regenerate.
+ * ggc-common.c (init_ggc_heuristics): Use set_default_param_value.
+ * opts.c (init_options_once): Use PARAM_VALUE not direct access to
+ compiler_params.
+ (default_options_optimization): Use maybe_set_param_value.
+ (finish_options): Use maybe_set_param_value.
+ * target.def (target_option.default_params): New hook.
+ * toplev.c (general_init): Call targetm.target_option.default_params.
+
+2010-10-11 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/45902
+ * tree-vect-slp.c (vect_get_constant_vectors): Use statement's
+ vector type for constants, unless it's a pointer.
+
+2010-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md (*mov<mode>cc): lgoc -> locg and stgoc -> stocg.
+
+2010-10-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/45870
+ * config/i386/i386.c (ix86_delegitimize_tls_address): New function.
+ (ix86_delegitimize_address): Use it.
+
+2010-10-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * opt-functions.awk (opt_sanitized_name): Remove gdwarf+ handling.
+
+2010-10-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer
+ to cum struct in the call to function_arg_advance.
+ (alpha_function_arg_advance): Mark named as unused.
+
+2010-10-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_handle_option): Make "value" with
+ ATTRIBUTE_UNUSED.
+
+2010-10-09 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/33721
+ * explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
+ remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN. Honor
+ required_align, tidy the code a bit. Emit split_stack code in the
+ right place. Mark the return value with the alignment properly.
+ * expr.h (allocate_dynamic_stack_space): Update decl.
+ * builtins.c (expand_builtin_apply): Update call to
+ allocate_dynamic_stack_space.
+ (expand_builtin_alloca): Likewise. Remove TARGET parameter.
+ * calls.c (initialize_argument_information): Update call to
+ allocate_dynamic_stack_space.
+ (expand_call): Likewise.
+
+ * cfgexpand.c (get_decl_align_unit): Don't limit alignment.
+ Don't update_stack_alignment here.
+ (alloc_stack_frame_space): Make ALIGN unsigned.
+ (stack_var_cmp): Sort by alignment too.
+ (partition_stack_vars): Don't merge large and small alignment vars.
+ (expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
+ Take care when BASE is not virtual_stack_vars_rtx.
+ (expand_stack_vars): Allocate dynamic stack space for large
+ alignment variables.
+ (expand_one_stack_var): Update all to expand_one_stack_var_at.
+ (defer_stack_allocation): True for large alignment vars.
+ (update_stack_alignment): Merge into ...
+ (expand_one_var): ... here.
+ (gimple_expand_cfg): Place code from expand_stack_vars.
+
+2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/pdp11/pdp11.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/pdp11/pdp11.c (pdp11_function_arg): New function.
+ (pdp11_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE.
+ * libgcc2.c: Likewise.
+
+2010-10-09 Richard Guenther <rguenther@suse.de>
+
+ PR lto/45956
+ * lto-streamer-in.c (lto_register_var_decl_in_symtab):
+ Properly check if a decl is an automatic var.
+
+2010-10-09 Richard Guenther <rguenther@suse.de>
+
+ PR lto/45947
+ * tree.c (free_lang_data_in_cgraph): Properly walk the varpool.
+
+2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/mmix/mmix-protos.h (mmix_function_arg): Delete.
+ * config/mmix/mmix.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/mmix/mmix.c (mmix_function_arg): Rename to...
+ (mmix_function_arg_1): ...this. Make static. Take a const_tree and
+ bool arguments.
+ (mmix_function_arg): New function.
+ (mmix_function_incoming_arg): New function.
+ (mmix_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
+ (TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/vax/vax.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/vax/vax.c (vax_function_arg): New function.
+ (vax_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/pa/pa-protos.h (function_arg): Delete.
+ * config/pa/pa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/pa/pa.c (function_arg): Rename to...
+ (pa_function_arg): ...this. Make static. Take a const_tree and
+ a bool.
+ (pa_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/m68k/m68k.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/m68k/m68k.c (m68k_function_arg): New function.
+ (m68k_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/avr/avr-protos.h (function_arg): Delete.
+ (function_arg_advance): Delete.
+ * config/avr/avr.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/avr/avr.c (function_arg): Rename to...
+ (avr_function_arg): ...this. Make static. Take a const_tree and
+ a bool.
+ (function_arg_advance): Rename to...
+ (avr_function_arg_advance): ...this. Make static. Take a
+ const_tree and a bool.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/alpha/alpha-protos.h (function_arg): Delete.
+ * config/alpha/alpha.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/alpha/vms.h (FUNCTION_ARG_ADVANCE): Delete.
+ * config/alpha/alpha.c (function_arg): Rename to...
+ (alpha_function_arg): ...this. Make static. Take a const_tree and
+ a bool. Delete TARGET_ABI_UNICOSMK code.
+ (alpha_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/mep/mep-protos.h (mep_function_arg): Delete.
+ (mep_function_arg_advance): Delete.
+ * config/mep/mep.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/mep/mep.c (mep_function_arg): Make static. Take a
+ const_tree and a bool.
+ (mep_function_arg_advance): Likewise.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45945
+ * tree-ssa.c (execute_update_addresses_taken): Fixup LHS scanning.
+
+2010-10-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/45612
+ * ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.
+ Test LABEL_DECLs as well. Fix formatting issues.
+ (verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement
+ whose label is present in NON_SSA_VARS.
+ (mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED. Handle LABEL_DECLs
+ as well. Fix formatting issues.
+ (visit_bb): Fix typos and formatting issue.
+
+2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR tree-optimization/45950
+ * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length
+ before initializing vno->op.
+
+2010-10-09 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * config.gcc (bfin*-rtems*): Add newlib-stdint.h.
+ * config.gcc (lm32*-rtems*): Add newlib-stdint.h.
+
+2010-10-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/45913
+ * config/i386/i386.c (ix86_binary_operator_ok): Support
+ "andhi/andsi/anddi" as a zero-extending move.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * builtins.c (fold_call_stmt): Don't copy gimple call arguments
+ into a temporary array.
+
+2010-10-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/45903
+ * simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
+ of {A,L}SHIFTRT of MEM.
+
+2010-10-08 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
+ Re-construct BLOCK_VARS.
+ (lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS.
+ * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
+ * tree.c (free_lang_data_in_block): Remove.
+ (free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs.
+ Do not touch the BLOCK tree.
+ * expr.c (expand_expr_real_1): Allow externals.
+
+2010-10-08 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer-out.c (lto_output_ts_block_tree_pointers):
+ Do not output BLOCK_SUBBLOCKS.
+ * lto-streamer-in.c (lto_input_ts_block_tree_pointers):
+ Reserve exact space needed for BLOCK_NONLOCALIZED_VARS.
+ Re-construct BLOCK_SUBBLOCKS of parent block.
+ (lto_input_ts_binfo_tree_pointers): Reserve exact space needed
+ for BINFO_BASE_ACCESSES.
+
+2010-10-08 Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
+ (TREE_H): Include $(FLAGS_H) instead of options.h.
+ (opts-common.o): Depend on $(FLAGS_H) instead of options.h.
+ * c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
+ * common.opt (flag_complex_method, flag_evaluation_order,
+ flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
+ Variable declarations.
+ * configure.ac (tm_include_list): Include flags.h instead of options.h.
+ * configure: Regenerate.
+ * flags.h: Condition out contents for target libraries. Include
+ options.h at end of file.
+ (flag_complex_method, flag_ira_algorithm, flag_ira_region,
+ flag_evaluation_order, flag_warn_unused_result): Remove.
+ * gcc.c (main): Intialize global_options with global_options_init.
+ * langhooks-def.h (lhd_init_options_struct): Declare.
+ (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
+ (LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
+ * langhooks.c (lhd_init_options_struct): New.
+ * langhooks.h (struct lang_hooks): Add init_options_struct.
+ Update comment on init_options.
+ * optc-gen.awk: Generate initializer for global_options_init, not
+ global_options.
+ * opth-gen.awk: Condition out structure declarations for target
+ libraries. Declare global_options_init.
+ * opts-common.c: Include flags.h instead of options.h.
+ * opts.c (flag_warn_unused_result): Remove.
+ (read_cmdline_options): Take gcc_options parameters. Pass them to
+ read_cmdline_option.
+ (initial_lang_mask, initial_min_crossjump_insns,
+ initial_max_fields_for_field_sensitive,
+ initial_loop_invariant_max_bbs_in_loop): Define at file scope.
+ (init_options_once): New. Split out of decode_options.
+ (init_options_struct): New. Split out of decode_options.
+ (decode_cmdline_options_to_array_default_mask): New.
+ (default_options_optimization): New. Split out of decode_options.
+ (decode_options): Move most code to other functions. Update call
+ to read_cmdline_options.
+ (finish_options): New. Split out of decode_options.
+ * opts.h (decode_options): Add gcc_options parameters.
+ (init_options_once, init_options_struct,
+ decode_cmdline_options_to_array_default_mask): New.
+ * toplev.c (flag_complex_method, flag_ira_algorithm,
+ flag_ira_region, flag_evaluation_order): Remove.
+ (general_init): Use global_options_init for initial flag values
+ for global_dc.
+ (toplev_main): Call init_options_once, init_options_struct,
+ lang_hooks.init_options_struct,
+ decode_cmdline_options_to_array_default_mask and
+ lang_hooks.init_option before decode_options. Update arguments to
+ decode_options.
+ * tree.h: Include flags.h instead of options.h.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/sparc/sparc-protos.h (function_arg_advance, function-arg):
+ Delete.
+ * config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
+ (FUNCTION_INCOMING_ARG): Delete.
+ * config/sparc/sparc.c (scan_record_type): Const-ify tree argument.
+ (function_arg_slotno): Likewise. Take bool arguments.
+ (sparc_arg_partial_bytes): Update call to it.
+ (function_arg): Rename to...
+ (sparc_function_arg_1): ...this. Take bool arguments.
+ (sparc_function_arg, sparc_function_incoming_arg): New functions.
+ (function_arg_advance): Rename to...
+ (sparc_function_arg_advance): ...this. Take bool argument.
+ (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define.
+ (TARGET_FUNCTION_INCOMING_ARG): Define.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/bfin/bfin-protos.h (function_arg, function_arg_advance):
+ Delete.
+ * config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/bfin/bfin.c (function_arg_advance): Rename to...
+ (bfin_function_arg_advance): ...this. Make static. Take const_tree
+ and bool arguments.
+ (function_arg): Rename to...
+ (bfin_function_arg): ...this. Make static. Take const_tree and bool
+ arguments.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/score/score-protos.h (score_function_arg): Delete.
+ (score_function_arg_advance): Delete.
+ * config/score/score3.h (score3_function_arg_advance): Take a
+ const_tree and a bool.
+ (score3_function_arg): Likewise.
+ * config/score/score7.h (score7_function_arg_advance): Likewise.
+ (score7_function_arg): Likewise.
+ * config/score/score3.c (score3_classify_arg): Likewise.
+ (score3_function_arg_advance, score3_function_arg): Likewise.
+ * config/score/score7.c (score7_classify_arg): Likewise.
+ (score7_function_arg_advance, score7_function_arg): Likewise.
+ * config/score/score.c (score_function_arg_advance): Likewise.
+ (score_function_arg): Likewise. De-const-ify `cum' argument.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/s390/s390-protos.h (s390_function_arg_advance): Delete.
+ (s390_function_arg): Delete.
+ * config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/s390/s390.c (s390_function_arg_float): Take a const_tree.
+ (s390_function_arg_integer): Likewise.
+ (s390_function_arg_advance): Make static. Take a const_tree and
+ a bool.
+ (s390_function_arg): Likewise.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/spu/spu-protos.h (spu_function_arg): Delete.
+ * config/spu/spu.h (FUNCTION_ARG): Delete.
+ (FUNCTION_ARG_ADVANCE): Move code to ...
+ * config/spu/spu.c (spu_function_arg_advance): New function.
+ (spu_function_arg): Make static. Take a const_tree and a bool.
+ (spu_setup_incoming_varargs): Call spu_function_arg_advance.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
+ (init_vn_nary_op_from_op): New function.
+ (init_vn_nary_op_from_stmt): New function.
+ (vn_nary_op_lookup_1): New function.
+ (sizeof_vn_nary_op): New function.
+ (alloc_vn_nary_op_noinit): New function.
+ (alloc_vn_nary_op): New function.
+ (vn_nary_op_insert_into): New function.
+ (vn_nary_op_lookup_pieces): Rewrite to use new helper functions.
+ (vn_nary_op_lookup): Likewise.
+ (vn_nary_op_lookup_stmt): Likewise.
+ (vn_nary_op_insert_pieces): Likewise.
+ (vn_nary_op_insert): Likewise.
+ (vn_nary_op_insert_stmt): Likewise.
+ (copy_nary): Likewise.
+ (set_value_id_for_result): New function.
+ (set_hashtable_value_ids): Call it.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+ * config/fr30/fr30.md (leave_func): Rewrite without post_inc.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
+ * config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+
+2010-10-08 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/45656
+ * cse.c (cse_extended_basic_block): Preserve cc0 info across
+ debug isnsn. Skip them when searching for cc0 setter.
+ (set_live_p): Skip debug insns when searching for cc0 user.
+
+2010-10-08 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/45673
+ PR debug/45604
+ PR debug/45419
+ PR debug/45408
+ * tree-pretty-print.c (dump_generic_node): Explicitly dump the
+ type of MEM_REFs to INTEGER_CSTs.
+
+2010-10-07 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/m68hc11/m68hc11.c (m68hc11_print_operand): Call
+ m68hc11_print_operand_address.
+
+2010-10-07 Nathan Froyd <froydnj@codesourcery.com>
+
+ * builtins.c (rewrite_call_expr): Move code to...
+ (rewrite_call_expr_valist): ...here. Call build_call_expr_loc_array.
+ (rewrite_call_expr_array): New function.
+ (fold_builtin_sprintf_chk_1): New function.
+ (fold_builtin_sprintf_chk): Call it.
+ (gimple_fold_builtin_sprintf_chk): Likewise.
+ (fold_builtin_snprintf_chk_1): New function.
+ (fold_builtin_snprintf_chk): Call it.
+ (gimple_fold_builtin_snprintf_chk): Likewise.
+ (gimple_rewrite_call_expr): Delete.
+
+2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * config.host: Update copyright year.
+
+2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * config.host (host_lto_plugin_soname): New shell variable.
+ * configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of
+ LTO plugin shared library.
+
+2010-10-07 Richard Henderson <rth@redhat.com>
+
+ * target.h (enum unwind_info_type): Move ...
+ * coretypes.h: ... here.
+
+2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * doc/objc.texi (Fast enumeration protocol): Mention that
+ 'unsigned int' can also be used instead of 'unsigned long' in
+ countByEnumeratingWithState:objects:count:.
+
+2010-10-07 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (struct access): New field grp_assignment_write.
+ (dump_access): Dump grp_assignment_write.
+ (build_accesses_from_assign): Set grp_assignment_write.
+ (sort_and_splice_var_accesses): Aggregate grp_assignment_write.
+ (mark_read_status): Renamed to mark_rw_status, individual values
+ renamed too.
+ (analyze_access_subtree): Changed type of mark_write to
+ mark_read_status. Fixed propagating of mark_read and
+ mark_write. Changed benefit estimate. Updated comment.
+
+2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
+
+ PR Tree-Vect/45847
+ * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
+ check for vectype_out returned by get_vectype_for_scalar_type().
+
+2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
+
+ PR target/45805
+ * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
+ constraint, add register specifier in instruction template.
+ (neon_vec_pack_trunc_<mode>): Likewise.
+ (neon_vec_<US>mult_<mode>): Add register specifier to
+ instruction template.
+
+2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add
+ cygwin2.o.
+ (cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise.
+ (extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o.
+ * config/i386/t-cygwin (cygwin1.o): Delete build rule.
+ (cygwin2.o): Likewise.
+ * config/i386/cygwin1.c: Delete file.
+ * config/i386/cygwin2.c: Likewise.
+ * config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and
+ make all {%!mno-cygwin} ones unconditional.
+ (STARTFILE_SPEC): Likewise.
+ (REAL_LIBGCC_SPEC): Likewise.
+ (LIB_SPEC): Likewise.
+ (CXX_WRAP_SPEC): Likewise.
+ (LINK_SPEC): Likewise.
+ (CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition.
+ (CYGWIN_MINGW_SUBDIR_LEN): Likewise.
+ (cygwin_gplusplus_include_dir): Delete now-unused array.
+ (GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it.
+ (cygwin_gplusplus_tool_include_dir): Delete now-unused array.
+ (GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it.
+ (cygwin_gplusplus_backward_include_dir): Delete now-unused array.
+ (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it.
+ (cygwin_local_include_dir): Delete now-unused array.
+ (LOCAL_INCLUDE_DIR): Don't redefine to point to it.
+ (cygwin_cross_include_dir): Delete now-unused array.
+ (CROSS_INCLUDE_DIR): Don't redefine to point to it.
+ (cygwin_tool_include_dir): Delete now-unused array.
+ (TOOL_INCLUDE_DIR): Don't redefine to point to it.
+ (cygwin_standard_include_dir): Delete now-unused array.
+ (STANDARD_INCLUDE_DIR): Don't redefine to point to it.
+ (GEN_CVT_ARRAY): Delete now-unused macro definition.
+ (cvt_to_mingw): Delete now-unused array.
+ (mingw_scan): Remove prototype of deleted function.
+ (GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro.
+ * config/i386/cygming.opt (mcygwin): Delete target-specific option.
+ * doc/invoke.texi (-mcygwin): Don't document removed option.
+ (-mno-cygwin): Likewise.
+
+2010-10-07 Richard Guenther <rguenther@suse.de>
+
+ * machmode.h (mode_for_vector): Declare.
+ * stor-layout.c (mode_for_vector): New function, split out from ...
+ (layout_type): ... here.
+ * tree-vectorizer.h (current_vector_size): Declare.
+ * tree-vect-stmts.c (perm_mask_for_reverse): Check if the
+ mask vector type is available.
+ (get_vectype_for_scalar_type): Rename to ...
+ (get_vectype_for_scalar_type_and_size): ... this. Get a vector
+ size argument.
+ (get_vectype_for_scalar_type): New wrapper around
+ get_vectype_for_scalar_type_and_size using current_vector_size.
+ (get_same_sized_vectype): Use get_vectype_for_scalar_type_and_size.
+ * tree-vect-loop.c (vect_analyze_loop_2): Split out core part
+ of vect_analyze_loop here.
+ (vect_analyze_loop): Loop over vector sizes calling vect_analyze_loop_3.
+ * tree-vect-slp.c (vect_slp_analyze_bb): Set current_vector_size
+ to autodetect.
+ * config/i386/i386.c (ix86_vectorize_builtin_conversion): Fix
+ V8SF to V8SI conversion builtin.
+
+2010-10-07 Richard Guenther <rguenther@suse.de>
+
+ * target.def (autovectorize_vector_sizes): New target hook.
+ * targhooks.c (default_autovectorize_vector_sizes): New function.
+ * targhooks.h (default_autovectorize_vector_sizes): Declare.
+ * doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES):
+ Document.
+ * doc/tm.texi: Update.
+ * config/i386/i386.c (ix86_autovectorize_vector_sizes): New function.
+ (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
+
+2010-10-07 Richard Guenther <rguenther@suse.de>
+
+ * target.def (units_per_simd_word): Rename to ...
+ (preferred_simd_mode): ... this. Return mode instead of size.
+ * targhooks.c (default_units_per_simd_word): Rename to ...
+ (default_preferred_simd_mode): ... this. Return word_mode.
+ * targhooks.h (default_preferred_simd_mode): Declare.
+ * config/arm/arm.c (arm_units_per_simd_word): Rename to ...
+ (arm_preferred_simd_mode): ... this. Re-implement.
+ * config/i386/i386.c (ix86_units_per_simd_word): Rename to ...
+ (ix86_preferred_simd_mode): ... this. Re-implement.
+ * config/sparc/sparc.c (sparc_units_per_simd_word): Rename to ...
+ (sparc_preferred_simd_mode): ... this. Re-implement.
+ * config/mips/mips.c (mips_units_per_simd_word): Rename to ...
+ (mips_preferred_simd_mode): ... this. Re-implement.
+ * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Rename to ...
+ (rs6000_preferred_simd_mode): ... this. Re-implement.
+ * tree-vect-stmts.c (get_vectype_for_scalar_type): Adjust.
+ * doc/tm.texi.in (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Remove.
+ (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Document.
+ * doc/tm.texi: Update.
+
+2010-10-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45869
+ * tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts
+ of pointers.
+
+2010-10-07 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
+ rather than sign extension by hand.
+
+2010-10-07 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/45926
+ * ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch.
+
+2010-10-07 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/45914
+ * configure.ac: Fix typo.
+ * configure: Regenerated.
+
+2010-10-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
+ define_builtin_std where it's unnecessary.
+ * config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
+
+2010-10-06 Anatoly Sokolov <aesok@post.ru>
+
+ * doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
+ * doc/tm.texi.in: Regenerate.
+ * system.h (CLASS_LIKELY_SPILLED_P): Poison.
+ * targhooks.c (default_class_likely_spilled_p): Don't use the
+ CLASS_LIKELY_SPILLED_P macro.
+
+ * config/arm/arm.md: Update comment.
+
+2010-10-06 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_remove_unreachable_nodes): External references can
+ always be removed.
+ (cgraph_externally_visible_p): We can not bring local comdats that
+ are known to linker; fix handling of internal visibility.
+ (function_and_variable_visibility): Likewise.
+
+2010-10-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/45394
+ * combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
+ (struct rtx_subst_pair): Remove AFTER field.
+ (propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
+ (propagate_for_debug): Remove MOVE parameter and adjust.
+ (try_combine): In the special case where I2 is a PARALLEL, combine only
+ destinations of SETs and set I2SRC to the I2 source.
+ Adjust calls to propagate_for_debug throughout.
+ * reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
+ insns.
+
+2010-10-06 Olivier Hainque <hainque@adacore.com>
+
+ * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
+ switch on insn codes as sequence of ifs.
+
+2010-10-06 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
+ be UI_NONE for picochip.
+ (picochip_option_override): Do not disable exception flags.
+ * config/picochip/picochip-protos.h (picochip_except_unwind_info):
+ Declare.
+
+2010-10-06 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (regmove.o): Depend on $(TARGET_H).
+
+2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Implemented fast enumeration for Objective-C.
+ * c-parser.c (objc_could_be_foreach_context): New.
+ (c_lex_one_token): Recognize RID_IN keyword in a potential
+ Objective-C foreach context.
+ (c_parser_declaration_or_fndef): Added parameter. Accept
+ Objective-C RID_IN keyword as terminating a declaration; in that
+ case, return the declaration in the new parameter.
+ (c_parser_extenral_declaration): Updated calls to
+ c_parser_declaration_or_fndef.
+ (c_parser_declaration_or_fndef): Same change.
+ (c_parser_compound_statement_nostart): Same change.
+ (c_parser_label): Same change.
+ (c_parser_objc_methodprotolist): Same change.
+ (c_parser_omp_for_loop): Same change.
+ (c_parser_for_statement): Detect and parse Objective-C foreach
+ statements.
+ (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
+ * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
+ fast enumeration parsing code to turn off the c99 error but still
+ perform checks on the loop declarations.
+ * c-tree.h (check_for_loop_decls): Updated declaration.
+ * doc/objc.texi: Document fast enumeration.
+
+2010-10-06 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one.
+ (MDR_REGNUM): Define.
+ (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed register.
+ (REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
+ (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
+ (REGISTER_NAMES): Add MDR.
+ (DWARF2_DEBUGGING_INFO): Define to 1.
+ * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+ (F): New function. Sets RTX_FRAME_RELATED_P.
+ (mn10300_gen_multiple_store): Use F.
+ (expand_prologue): Use F. Use gen_movsf() to push floating
+ point registers.
+ (expand_epilogue): Use gen_movsf() to pop floating point registers.
+ (mn10300_option_override): Disable combine stack adjust pass.
+
+2010-10-06 Thomas Schwinge <thomas@schwinge.name>
+
+ PR target/45901
+ * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
+ LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.
+
+2010-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ * builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
+ BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
+ BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
+ BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
+ BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
+ BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
+ BUILT_IN_TOUPPER): Mark as leaf.
+
+ PR middle-end/45838
+ * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
+ BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
+ BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
+ BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
+ BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
+ BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
+ Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
+
+2010-10-05 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
+ * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
+ (m68hc11_class_likely_spilled_p): New function.
+
+2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_method_definition): Updated comment.
+
+2010-10-05 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
+ Document.
+ * opts.c (decode_options): Handle lto partitions.
+ * common.opt (flto-partition=1to1, flto-partition=balanced): New.
+ * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
+
+2010-10-05 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (assemble_function): Output thunks and aliases before
+ the function itself.
+
+2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (picochip_option_override): Disable
+ exception flags for picochip.
+
+2010-10-05 Joseph Myers <joseph@codesourcery.com>
+
+ * opts-common.c (handle_option, handle_generated_option,
+ read_cmdline_option, set_option): Add diagnostic_context
+ parameter. Update calls among these functions.
+ (set_option): Don't use global_dc.
+ * opts.c (read_cmdline_options): Pass global_dc to read_cmdline_option.
+ (decode_options): Pass global_dc to enable_warning_as_error.
+ (common_handle_option): Pass global_dc to enable_warning_as_error.
+ (enable_warning_as_error): Add diagnostic_context parameter.
+ Document parameters. Don't use global_dc. Pass
+ diagnostic_context parameter to handle_generated_option.
+ * opts.h (set_option, handle_option, handle_generated_option,
+ read_cmdline_option, enable_warning_as_error): Add
+ diagnostic_context parameter.
+ * Makefile.in (lto-opts.o): Update dependencies.
+ * coretypes.h (struct diagnostic_context, diagnostic_context):
+ Declare here.
+ * diagnostic.h (diagnostic_context): Don't declare typedef here.
+ * gcc.c (process_command): Pass global_dc to read_cmdline_option.
+ * langhooks-def.h (struct diagnostic_context): Don't declare here.
+ (lhd_print_error_function, lhd_initialize_diagnostics): Declare
+ using diagnostic_context typedef.
+ * langhooks.c (lhd_initialize_diagnostics): Declare using
+ diagnostic_context typedef.
+ * langhooks.h (struct diagnostic_context): Don't declare here.
+ (initialize_diagnostics, print_error_function): Declare using
+ diagnostic_context typedef.
+ * lto-opts.c: Include diagnostic.h.
+ (lto_reissue_options): Pass global_dc to set_option. Pass
+ DK_UNSPECIFIED not 0.
+ * plugin.c (plugins_internal_error_function): Declare using
+ diagnostic_context typedef.
+ * plugin.h (struct diagnostic_context): Don't declare here.
+ (plugins_internal_error_function): Declare using
+ diagnostic_context typedef.
+
+2010-10-05 Olivier Hainque <hainque@adacore.com>
+ Nicolas Roche <roche@adacore.com>
+
+ * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
+ * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
+
+2010-10-05 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/45752
+ * tree-vect-slp.c (vect_get_mask_element): Remove static
+ variables, make them function arguments.
+ (vect_transform_slp_perm_load): Pass new arguments to
+ vect_get_mask_element.
+
+2010-10-05 Richard Guenther <rguenther@suse.de>
+
+ * value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
+ (gimple_mod_pow2): Likewise.
+ (gimple_mod_subtract): Likewise.
+ (gimple_ic): Likewise.
+ (gimple_stringop_fixed_value): Likewise.
+ * tree-profile.c (tree_init_edge_profiler): Mark profile
+ functions nothrow and leaf.
+ (add_abnormal_goto_call_edges): Remove.
+ (tree_gen_edge_profiler): Work on SSA form.
+ (tree_gen_ic_profiler): Likewise. Simplify.
+ (do_tree_profiling): Update SSA form.
+ (pass_tree_profile): Remove.
+ (do_tree_profiling): Likewise.
+ (gate_tree_profile_ipa): New function.
+ (pass_ipa_tree_profile): New.
+ (tree_profiling): Re-write as IPA pass. Properly drop const/pure
+ state of instrumented functions.
+ * passes.c (init_optimization_passes): Remove early non-SSA
+ inlining. Move profiling after early optimizations.
+ * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
+ (pass_ipa_early_inline): Likewise.
+ * tree-pass.h (pass_ipa_early_inline): Remove.
+ (pass_tree_profile): Likewise.
+ (pass_ipa_tree_profile): Declare.
+
+2010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+ Christian Borntraeger <Christian.Borntraeger@de.ibm.com>
+
+ * config/s390/s390.c (z196_cost): New.
+ (s390_handle_arch_option): Add -march=z196.
+ (s390_option_override): Use the new cost function and use the z10
+ defaults also for z196.
+ (legitimate_reload_constant_p): Adjust comment.
+ (legitimate_reload_fp_constant_p): New function.
+ (s390_preferred_reload_class): Distingiush between FP and Int constants.
+ (preferred_la_operand_p): Avoid la with index on z196.
+ (s390_adjust_priority): Trigger also for z196.
+ (s390_issue_rate): Issue rate for z196 is 3.
+ (s390_z10_fix_long_loop_prediction): Rename to ...
+ (s390_fix_long_loop_prediction): ... this.
+ (s390_reorg): Apply the z10 adjustments also for z196.
+ (s390_loop_unroll_adjust): Do this also for z196.
+ * config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
+ (enum processor_flags): Add PF_Z196.
+ (TARGET_AVOID_CMP_AND_BRANCH): New macro.
+ (TARGET_CPU_Z196, TARGET_Z196): New macros.
+ * config.gcc: Enable z196 for --with-arch.
+ * config/s390/2817.md: New file.
+ * config/s390/2084.md: New type for multiply and add.
+ * config/s390/2097.md: Likewise.
+ * config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
+ (UNSPECV_ATOMIC_OP): New constants.
+ (fmadddf, fmaddsf): New values for type attribute.
+ (z196prop): New insn attribute.
+ (cpu, cpu_facility): Add z196.
+ (ATOMIC_Z196): New code iterator.
+ (noxa): New code attribute.
+ (gk): New mode attribute.
+ (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
+ Support load zero for fp constants.
+ (fixuns_truncdddi2, fixuns_trunctddi2)
+ (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
+ for z196.
+ (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
+ (popcounthi2, popcountqi2): New expander.
+ (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
+ (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
+ (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
+ insn definition.
+ (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
+ (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
+ (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc)
+ (*sub<mode>3, *sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly)
+ (*sub<mode>3_cc, *sub<mode>3_cc2, *sub<mode>3_cconly)
+ (*sub<mode>3_cconly2, *anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc)
+ (*andsi3_cconly, *andsi3_zarch, *andsi3_esa, *andhi3_zarch
+ (*andqi3_zarch, *iordi3_cc, *iordi3_cconly, *iordi3, *iorsi3_cc)
+ (*iorsi3_cconly, *iorsi3_zarch, *iorhi3_zarch, *iorqi3_zarch)
+ (*xordi3_cc, *xordi3_cconly, *xordi3, *xorsi3_cc, *xorsi3_cconly)
+ (*xorsi3, *xorhi3, *xorqi3, *<shift><mode>3, *<shift><mode>3_and)
+ (*ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
+ (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
+ Support new z196 instructions.
+
+2010-10-05 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45877
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Handle
+ case where gimplification optimizes away the stmt.
+
+2010-10-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45849
+ * var-tracking.c (strip_pointer_flags): New function.
+ (emit_note_insn_var_location): If rtx_equal_p check failed,
+ retry on locations simplified with simplify_replace_fn_rtx
+ and strip_pointer_flags as its callback.
+
+2010-10-04 Jan Hubicka <jh@suse.cz>
+
+ * gimple-fold.c (static_object_in_other_unit_p): Rename to...
+ (can_refer_decl_in_current_unit_p): ... this one; reverse return
+ value; handle comdats too.
+ (canonicalize_constructor_val): Use it; handle function_decls
+ correctly.
+ (gimple_fold_obj_type_ref_known_binfo): Likewise.
+ * gimple.c (get_base_address): Accept all kinds of decls.
+
+2010-10-04 Joseph Myers <joseph@codesourcery.com>
+
+ * flags.h (g_switch_value, g_switch_set): Remove.
+ * opts.c (g_switch_value, g_switch_set): Remove.
+ * config/g.opt (G): Add Var(g_switch_value).
+ * config/alpha/alpha.c (alpha_handle_option): Don't handle -G here.
+ (alpha_option_override): Check global_options_set.x_g_switch_value
+ instead of g_switch_set.
+ (alpha_in_small_data_p): Remove cast in comparison with
+ g_switch_value.
+ * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
+ g_switch_value to unsigned HOST_WIDE_INT.
+ * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
+ with g_switch_value.
+ (frv_handle_option): Don't handle -G here.
+ (frv_option_override): Check global_options_set.x_g_switch_value
+ instead of g_switch_set. Don't modify g_switch_set.
+ (frv_in_small_data_p): Remove cast in comparison with g_switch_value.
+ * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
+ g_switch_value to unsigned HOST_WIDE_INT.
+ * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
+ (ia64_option_override): Check global_options_set.x_g_switch_value
+ instead of g_switch_set.
+ * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
+ Remove.
+ (lm32_in_small_data_p): Remove cast in comparison with
+ g_switch_value.
+ * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
+ ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
+ HOST_WIDE_INT.
+ * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
+ (m32r_init): Check global_options_set.x_g_switch_value instead of
+ g_switch_set.
+ (m32r_in_small_data_p): Remove cast in comparison with
+ g_switch_value.
+ (m32r_file_start): Format g_switch_value with %d.
+ * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
+ ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned HOST_WIDE_INT.
+ * config/microblaze/microblaze.c (microblaze_handle_option): Don't
+ handle -G here.
+ (microblaze_option_override): Check
+ global_options_set.x_g_switch_value instead of g_switch_set.
+ * config/mips/mips.c (mips_handle_option): Don't handle -G here.
+ (mips_option_override): Check global_options_set.x_g_switch_value
+ instead of g_switch_set.
+ * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G here.
+ (rs6000_file_start): Format g_switch_value with %d.
+ (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
+ comparisons with g_switch_value.
+ * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
+ global_options_set.x_g_switch_value instead of g_switch_set.
+ * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
+ global_options_set.x_g_switch_value instead of g_switch_set.
+ * config/score/score.c (score_handle_option): Don't handle -G here.
+ * config/score/score3.c (score3_option_override): Check
+ global_options_set.x_g_switch_value instead of g_switch_set.
+ * config/score/score7.c (score7_option_override): Check
+ global_options_set.x_g_switch_value instead of g_switch_set.
+
+2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
+
+ * common.opt (fira-coalesce): Remove.
+
+ * doc/invoke.texi (flag_ira_coalesce): Remove.
+
+ * ira-color.c (allocno_coalesced_p): Move before
+ copy_freq_compare_func.
+ processed_coalesced_allocno_bitmap): Ditto.
+ (update_conflict_hard_regno_costs): Don't use
+ ALLOCNO_FIRST_COALESCED_ALLOCNO.
+ (allocno_cost_compare_func, print_coalesced_allocno): Remove.
+ (assign_hard_reg): Assume no coalesced allocnos.
+ (get_coalesced_allocnos_attributes): Remove.
+ (bucket_allocno_compare_func): Assume no coalesced allocnos.
+ (push_allocno_to_stack): Ditto.
+ (remove_allocno_from_bucket_and_push): Use
+ ira_print_expanded_allocno instead of print_coalesced_allocno.
+ (push_allocnos_to_stack): Assume uncoalesced allocnos.
+ (all_conflicting_hard_regs_coalesced): Ditto. Rename to
+ all_conflicting_hard_regs.
+ (setup_allocno_available_regs_num): Assume uncoalesced allocnos.
+ (setup_allocno_left_conflicts_size): Ditto.
+ (put_allocno_into_bucket): Ditto.
+ (copy_freq_compare_func): Remove.
+ (copy_freq_compare_func, merge_allocnos): Move before
+ coalesced_pseudo_reg_freq_compare.
+ coalesced_allocno_conflict_p): Ditto.
+ (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto. Remove
+ parameter. Assume it true.
+ (color_allocnos): Assume uncoalesced allocnos. Use
+ ira_print_expanded_allocno instead of print_coalesced_allocno.
+ (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
+ parameter.
+
+ * ira.c: Remove comment about coalescing.
+
+2010-10-04 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/mips.h (target_flags_explicit): Declare for
+ GENERATOR_FILE.
+
+2010-10-04 Andi Kleen <ak@linux.intel.com>
+
+ * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
+ gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule.
+
+2010-10-04 Matthias Klose <doko@ubuntu.com>
+
+ * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
+ multilib osdirname if it exists.
+ * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
+
+2010-10-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/45876
+ * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
+ arg0's type or its unsigned counterpart as utype. Convert
+ arg1 to utype unconditionally.
+
+2010-10-04 Julian Brown <julian@codesourcery.com>
+
+ * expr.c (expand_assignment): Add assertion to prevent emitting
+ null rtx for movmisalign pattern.
+ (expand_expr_real_1): Likewise.
+ * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
+ (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
+ (arm_vector_alignment_reachable): New.
+ (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
+ (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
+ (arm_print_operand): Include alignment qualifier in %A.
+ * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
+ (movmisalign<mode>): New expander.
+ (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
+ insn patterns.
+
+2010-10-04 Joseph Myers <joseph@codesourcery.com>
+
+ * optc-gen.awk: Define global_options_set. Don't define
+ target_flags_explicit.
+ * opth-gen.awk: Declare global_options_set. Define
+ target_flags_explicit as macro.
+ * opts-common.c (handle_option): Take opts_set and generated_p
+ parameters.
+ (handle_generated_option, read_cmdline_option, set_option): Take
+ opts_set parameter.
+ (set_option): Use opts_set instead of hardcoding target_flags and
+ target_flags_explicit.
+ * opts.c (sel_sched_switch_set, profile_arc_flag_set,
+ flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
+ flag_value_profile_transformations_set, flag_peel_loops_set,
+ flag_branch_probabilities_set, flag_inline_functions_set,
+ flag_ipa_cp_set, flag_ipa_cp_clone_set,
+ flag_predictive_commoning_set, flag_unswitch_loops_set,
+ flag_gcse_after_reload_set): Remove.
+ (common_handle_option, lang_handle_option, target_handle_option):
+ Take opts_set parameter. Assert that it is &global_options_set.
+ (common_handle_option): Don't set _set variables. Check opts_set
+ instead of such variables.
+ (enable_warning_as_error): Pass &global_options_set to
+ handle_generated_option.
+ * opts.h (cl_option_handler_func.handler, set_option,
+ handle_option, handle_generated_option, read_cmdline_option): Add
+ opts_set parameters.
+ (handle_option): Add generated_p parameter.
+ * config/i386/i386.c (ix86_function_specific_save,
+ ix86_function_specific_restore): Updat for renaming of
+ target_flags_explicit field.
+ * config/i386/i386.opt (target_flags_explicit): Rename to
+ ix86_target_flags_explicit.
+ * config/ia64/ia64.c (ia64_override_options_after_change): Check
+ global_options_set.x_flag_selective_scheduling and
+ global_options_set.x_flag_selective_scheduling2, not
+ sel_sched_switch_set.
+ * flags.h (sel_sched_switch_set,
+ flag_speculative_prefetching_set): Remove.
+ * gcc.c (driver_handle_option): Take opts_set parameter. Assert
+ that it is &global_options_set.
+ (process_command): Pass &global_options_set to read_cmdline_option.
+ * lto-opts.c (lto_reissue_options): Pass &global_options_set to
+ set_option.
+ * toplev.c (target_flags_explicit): Remove.
+
+2010-10-04 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/45871
+ * tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
+ use get_ref_base_and_offset to handle references.
+ (fold_const_aggregate_ref): Update.
+
+2010-10-04 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/45572
+ * ipa-prop.c (ipa_make_edge_direct_to_target): Call
+ ipa_check_create_node_params.
+ * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
+
+2010-10-04 Yao Qi <yao@codesourcery.com>
+
+ * doc/passes.texi: Clean up.
+
+2010-10-03 Ian Lance Taylor <iant@google.com>
+
+ * c-typeck.c (lookup_field): If -fplan9-extensions, permit
+ referring to a field using a typedef name.
+ (find_anonymous_field_with_type): New static function.
+ (convert_to_anonymous_field): New static function.
+ (convert_for_assignment): If -fplan9-extensions, permit converting
+ pointer to struct to pointer to anonymous field.
+ * c-decl.c (grokfield): If -fplan9-extensions, permit anonymous fields.
+ (is_duplicate_field): New static function.
+ (detect_field_duplicates_hash): If -fplan9-extensions, check for
+ typedef names duplicating field names.
+ (detect_field_duplicates): Likewise.
+ * doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
+ (C Dialect Options): Document -fplan9-extensions.
+ * doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
+
+2010-10-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
+ revision 164914.
+ (vect_create_data_ref_ptr): Likewise.
+ * tree-vect-stmts.c (vectorizable_store): Likewise.
+ (perm_mask_for_reverse): Likewise.
+ (reverse_vec_elements): Likewise.
+ (vectorizable_load): Likewise.
+
+2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * cppbuiltin.c: New file.
+ * cppbuiltin.h: New file.
+ * Makefile.in: Take into account cppbuiltin.{h,c}.
+
+2010-10-03 Andi Kleen <ak@linux.intel.com>
+
+ * lto-cgraph.c (input_cgraph): Check for missing sections.
+
+2010-10-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 predicate
+ to nonimmediate_operand. Force operand 2 to register when allowed.
+ (*<shiftrt_insn><mode>3_mask): Ditto.
+ (*<rotate_insn><mode>3_mask): Ditto.
+
+2010-10-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR tree-optimization/45720
+ PR tree-optimization/45764
+ * tree-vect-data-refs.c (vect_analyze_data_ref_access):
+ Don't accept backwards consecutive accesses.
+ (vect_create_data_ref_ptr): Disallow negative steps.
+
+ * tree-vect-stmts.c (vectorizable_store): Allow negative steps.
+ (perm_mask_for_reverse): Removed.
+ (reverse_vec_elements): Likewise.
+ (vectorizable_load): Don't handle negative steps.
+
+2010-10-02 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
+ call destination is known.
+
+2010-10-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/45820
+ * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
+ earlier.
+
+2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/install.texi (Configuration): Document build_configargs,
+ host_configargs, target_configargs.
+
+2010-10-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern.
+ (*<shiftrt_insn><mode>3_mask): Ditto.
+ (*<rotate_insn><mode>3_mask): Ditto.
+
+2010-10-01 Steve Ellcey <sje@cup.hp.com>
+
+ PR tree-optimization/44716
+ * config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
+ (HOT_TEXT_SECTION_NAME): Define.
+
+2010-10-01 Nick Clifton <nickc@redhat.com>
+
+ * common.opt: Add -fcombine-stack-adjustments.
+ * opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1.
+ * combine-stack-adj.c (gate_handle_stack_adjustments): Check
+ flag_combine_stack_adjustments.
+ * doc/invoke.texi: Document the new option.
+
+2010-10-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45854
+ * tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
+
+2010-10-01 Anthony Green <green@moxielogic.com>
+
+ * config.gcc: Fix moxie-*-rtems* configuration.
+
+2010-10-01 Richard Guenther <rguenther@suse.de>
+
+ * dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P.
+ (gen_decl_die): Likewise.
+
+2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS
+ to the function code for SPU MD builtins.
+ (spu_expand_builtin): Update.
+ * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update.
+
+2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to
+ sjlj_except_unwind_info.
+
+2010-10-01 Tristan Gingold <gingold@adacore.com>
+
+ * configure.ac: Define the nop insn for avr*-*-*
+ * configure: Regenerate.
+
+2010-10-01 Alan Modra <amodra@gmail.com>
+
+ PR target/45807
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign
+ extend toc_restore_insn.
+
+2010-09-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43959
+ * function.c (gimplify_parameters): Use create_tmp_reg instead of
+ create_tmp_var.
+
+2010-09-30 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_expand_prologue): Set
+ current_function_static_stack_size.
+
+2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac: Check for Solaris 8 ld with .hidden support.
+ * configure: Regenerate.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/45758
+ * graphite.c (graphite_initialize): Call scev_reset.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * sese.h (scev_analyzable_p): Return false for real or floating
+ point. Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
+ and ps.
+ * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
+ domain.
+ * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
+ Do not allocate ub_expr, it is passed in initialized.
+
+2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-clast-to-gimple.c (init_cloog_input_file): New.
+ (build_cloog_prog): Dump CLooG input file when
+ flag_graphite_dump_cloog is set. This is disabled on trunk.
+ * graphite-cloog-compat.h (cloog_program_dump_cloog): New.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (graphite_verify): Remove call to
+ verify_dominators for CDI_POST_DOMINATORS.
+ * sese.h: Remove comment about CDI_POST_DOMINATORS.
+ (recompute_all_dominators): Remove call to free_dominance_info
+ for CDI_POST_DOMINATORS. Remove call to calculate_dominance_info
+ for CDI_POST_DOMINATORS.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
+ over pbb_dim_iter_domain.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-flattening.c: Fix comments.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * Makefile.in (OBJS-common): Add graphite-flattening.o.
+ (graphite-flattening.o): New rule.
+ * common.opt (floop-flatten): New flag.
+ * doc/invoke.texi (-floop-flatten): Documented.
+ * graphite-flattening.c: New.
+ * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
+ * graphite-poly.h (flatten_all_loops): Declared.
+ (lst_remove_loop_and_inline_stmts_in_loop_father): New.
+ * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
+ is set, also set flag_graphite.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (cloog_checksum): New.
+ * graphite-poly.h (cloog_checksum): Declared.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (pbb_number_of_iterations): Removed.
+ (pbb_number_of_iterations_at_time): Correctly compute the number
+ of iterations in the transformed loop.
+ * graphite-poly.h (pbb_number_of_iterations): Removed.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.h (lst_update_scattering_seq): Removed.
+ (lst_update_scattering): Correctly handle outermost loop dewey
+ renumbering.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
+ lst_strip_mine_profitable_p. Call lst_niter_for_loop.
+ * graphite-poly.h (lst_niter_for_loop): New.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (apply_poly_transforms): Do not abort when the
+ transform read from disk is not legal. Call fatal_error instead.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
+ (print_scop_header): Removed. Inlined in the only call place...
+ (print_scop): ... here.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (dot_deps): Avoid set but not used warning.
+ (dot_deps_stmt): Same.
+ * graphite-poly.c (dot_lst): Same.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-blocking.c (scop_do_strip_mine): Do not call
+ graphite_legal_transform.
+ (scop_do_block): Same.
+
+2010-09-30 Vladimir Kargov <kargov@gmail.com>
+
+ * graphite-scop-detection.c (graphite_can_represent_loop): Correct the
+ description.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-scalar-evolution.c (instantiate_array_ref): New.
+ (instantiate_scev_r): Also handle ARRAY_REFs.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
+ Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
+ RESULT_DECL, and FIELD_DECL. Return false for an
+ SSA_NAME_IS_DEFAULT_DEF.
+ (compute_scalar_evolution_in_loop): Do not further analyze the
+ scalar evolution when no_evolution_in_loop_p returns true.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-chrec.h (evolution_function_is_affine_p): Do not check
+ whether CHREC_LEFT is invariant. A function is affine when
+ CHREC_RIGHT is invariant.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (reduction_phi_p): Remove check for
+ is_gimple_reg.
+ (rewrite_degenerate_phi): Same.
+ (rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
+
+2010-09-30 Vladimir Kargov <kargov@gmail.com>
+
+ * graphite-scop-detection.c (graphite_can_represent_scev,
+ graphite_can_represent_expr, stmt_has_simple_data_refs_p,
+ graphite_can_represent_loop): Remove outermost_loop.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/45229
+ * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
+ handle GIMPLE_CALLs with no LHS.
+
+2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
+
+ * graphite-poly.c (init_graphite_out_file): New.
+ (init_graphite_in_file): New.
+ (apply_poly_transforms): Updated to enable reading and writing of
+ multiple scop files.
+
+2010-09-30 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ * graphite-scop-detection.c (graphite_can_represent_scev): Remove
+ redundant checks.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (precision_for_value): Adjust
+ computation of precision by 1.
+
+2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
+
+ * graphite-cloog-util.c (openscop_read_cloog_matrix): New.
+ (openscop_read_polyhedron_matrix): New.
+ * graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
+ (openscop_read_N_int): Same.
+ * graphite-poly.c (openscop_read_N_int): New.
+ (openscop_read_one_int): New.
+ (openscop_read_N_string): New.
+ (openscop_read_one_string): New.
+ (openscop_read_powerset_matrix): New.
+ (graphite_read_transforms): Remove.
+ (graphite_read_scatt): New.
+ (graphite_read_scop_file): New.
+ (apply_poly_transforms): Updated to call graphite_read_scop_file.
+
+2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-poly.c: Change include order.
+
+2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
+ (cloog_matrix_nrows): New.
+
+2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
+
+ * graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
+ from matrix lines.
+ * graphite-poly.c (openscop_print_scattering_function_1): Same.
+ (print_scattering_function_1): Same.
+ (openscop_print_pbb_domain): Same.
+ (openscop_print_scop_context): Same.
+ (print_scop_context): Same.
+
+2010-09-30 Riyadh Baghdad <baghdadi.mr@gmail.com>
+
+ * graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
+ (openscop_print_pdr_polyhedron): Print pph.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
+ priority signed types.
+
+2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (max_signed_precision_type): Remove
+ the call to lang_hooks.types.type_for_size. Call
+ build_nonstandard_integer_type.
+
+2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
+
+ * graphite-cloog-util.c (openscop_print_cloog_matrix): New.
+ (openscop_print_polyhedron_matrix): New.
+ * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
+ * graphite-poly.c (openscop_print_pdr_polyhedron): Same.
+ (openscop_print_pdr_powerset): New.
+ (openscop_print_powerset_matrix): New.
+ (openscop_print_scattering_function_1): New.
+ (print_scattering_function): Add support for scattering names and
+ OpenScop format.
+ (graphite_write_transforms): Remove.
+ (print_pdr_access_layout): Updated to support OpenScop format.
+ (print_pdr): Same.
+ (openscop_print_pbb_domain): New.
+ (print_pbb_body): Added a parameter to allow indicating that pbb_body
+ is not provided.
+ (print_pbb): Updated to call the new print_pbb_body.
+ (openscop_print_scop_context): New.
+ (print_scop_header): New.
+ (print_scop): Updated to call print_scop_header.
+ * graphite-poly.h: Document OpenScop format.
+
+2010-09-30 Anatoly Sokolov <aesok@post.ru>
+
+ * config/cris/m32c.c (cris_memory_move_cost): New.
+ (cris_register_move_cost): Make static. Change arguments type from
+ enum reg_class to reg_class_t.
+ (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
+ * config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
+ * config/cris/cris-protos.h (cris_register_move_cost): Remove.
+
+2010-09-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/45843
+ * config/i386/i386.c (ix86_gimplify_va_arg): Use
+ INTVAL (XEXP (slot, 1)) as prev_size.
+
+2010-09-30 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/45837
+ * config/rs6000/aix.h (TARGET_AIX_OS): Define to be 1.
+ * config/rs6000/rs6000.h (TARGET_AIX_OS): Define to be 0 if not
+ defined.
+ * config/rs6000/option-defaults.h (toplevel): Change #if
+ TARGET_AIX to TARGET_AIX_OS to allow compiler to build after
+ global option changes.
+
+2010-09-30 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
+
+ PR tree-optimization/31261
+ * fold-const.c (fold_binary): Optimize ((A & N) + B) & M
+ for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.
+
+2010-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR bootstrap/45796
+ * Makefile.in (build/gen%$(build_exeext)): Move rule after all
+ special-casing for generators and turn into ...
+ ((genprog:%=build/gen%$(build_exeext))): ... this static pattern
+ rule, for better error messages in case of toplevel dependency errors.
+ (genprog): Add hooks, rename to ...
+ (genprogerr): ... this, and let genprog also contain check,
+ checksum, condmd.
+ ((genprog:%=build/gen%$(build_exeext))): Rename to ...
+ ((genprogerr:%=build/gen%$(build_exeext))): ... this.
+ (build/genhooks$(build_exeext)): Remove now-unneeded dependency.
+
+2010-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
+ Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
+ for GMP, MPFR and MPC.
+
+2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sparc/sparc.opt (mimpure-text): Move ...
+ * config/sol2.opt: ... here. Correct description.
+ * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
+ * doc/invoke.texi (Option Summary, SPARC Options): Move
+ -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
+ (Option Summary, Solaris 2 Options): ... here.
+ (Submodel Options, Solaris 2 Options): New menu entry.
+ (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ...
+ (Solaris 2 Options): ... here.
+
+2010-09-30 Michael Eager <eager@eagercon.com>
+
+ * extend.texi (interrupt_handler): Add MicroBlaze to list.
+ (save_volatiles): Describe option for MicroBlaze.
+ * invoke.texi: Add MicroBlaze Options.
+ * contrib.texi: Add acknowledgment.
+ * md.texi: Add MicroBlaze d and z constraints.
+ * install.texi: Add microblaze-*-elf.
+ * configure.ac: Add microblaze-*-* to target list.
+ * configure: Regenerate.
+ * config.gcc: Add microblaze*-*-*, microblaze*-linux*.
+ * config/microblaze/microblaze-protos.h: New.
+ * config/microblaze/crti.s: New.
+ * config/microblaze/predicates.md: New.
+ * config/microblaze/linux.h: New.
+ * config/microblaze/microblaze.md: New.
+ * config/microblaze/constraints.md: New.
+ * config/microblaze/crtn.s: New.
+ * config/microblaze/microblaze.opt: New.
+ * config/microblaze/microblaze-c.c: New.
+ * config/microblaze/t-microblaze: New.
+ * config/microblaze/microblaze.c: New.
+ * config/microblaze/microblaze.h: New.
+
+2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
+
+ * c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment,
+ parse @optional/@required and set the flags as appropriate.
+
+2010-09-30 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete.
+
+2010-09-30 Joseph Myers <joseph@codesourcery.com>
+
+ * opt-functions.awk (static_var): Update comment.
+ (var_ref): Return offsetof expression or -1, not variable address.
+ * optc-gen.awk: Generate structure field initializers instead of
+ static variables. Expect -1 for missing variables instead of null
+ pointer. Add gcc_options parameters to generated functions.
+ * opth-gen.awk: Generate structure fields for static variables.
+ Add gcc_options parameters to generated functions.
+ * common.opt (optimize, optimize_size): Add variables.
+ * config/i386/i386-c.c (ix86_pragma_target_parse): Pass
+ &global_options to cl_target_option_restore.
+ * config/i386/i386.c (ix86_valid_target_attribute_p): Pass
+ &global_options to cl_optimization_restore, cl_target_option_save
+ and cl_target_option_restore.
+ (ix86_set_current_function): Pass &global_options to
+ cl_target_option_restore.
+ * config/pdp11/pdp11.h (optimize): Remove.
+ * config/rs6000/rs6000.h (optimize): Remove.
+ * config/sh/sh.h (optimize): Remove.
+ * config/xtensa/xtensa.h (optimize): Remove.
+ * coretypes.h (struct gcc_options): Declare.
+ * diagnostic.c (diagnostic_initialize): Initialize
+ context->option_state.
+ (diagnostic_report_diagnostic): Pass option_state to
+ option_enabled hook.
+ * diagnostic.h (diagnostic_context.option_enabled): Add void *
+ parameter.
+ (diagnostic_context.option_state): New field.
+ * final.c (final_start_function, final, final_scan_insn): Rename
+ optimize parameter to optimize_p.
+ * flags.h (optimize, optimize_size): Remove.
+ * function.c (invoke_set_current_function_hook): Pass
+ &global_options to cl_optimization_restore.
+ * gcc.c (driver_handle_option): Take gcc_options parameter.
+ Assert that it is &global_options.
+ (process_command): Pass &global_options to read_cmdline_option.
+ * ipa-pure-const.c (suggest_attribute): Pass &global_options to
+ option_enabled.
+ * lto-opts.c (lto_reissue_options): Use option_flag_var. Pass
+ &global_options to set_option.
+ * opts-common.c (handle_option, handle_generated_option,
+ read_cmdline_option, set_option): Take explicit gcc_options
+ parameters. Use option_flag_var.
+ (option_flag_var): New.
+ * opts.c (common_handle_option, lang_handle_option,
+ target_handle_option): Take gcc_options parameter. Assert that it
+ is &global_options.
+ (read_cmdline_options): Pass &global_options to read_cmdline_option.
+ (print_filtered_help): Use option_flag_var. Pass &global_options
+ to option_enabled.
+ (common_handle_option): Use option_flag_var.
+ (option_enabled): Take opts parameter. Use option_flag_var.
+ (get_option_state): Take gcc_options parameter. Use
+ option_flag_var. Pass gcc_options parameter to option_enabled.
+ (enable_warning_as_error): Pass &global_options to
+ handle_generated_option.
+ * opts.h (struct cl_option): Change flag_var to flag_var_offset.
+ (cl_option_handler_func.handler): Take gcc_options parameter.
+ (option_enabled, get_option_state, set_option, handle_option,
+ handle_generated_option, read_cmdline_option): Take gcc_options
+ parameters.
+ * toplev.c (optimize, optimize_size): Remove.
+ (print_switch_values): Pass &global_options to option_enabled.
+ (option_affects_pch_p): Use option_flag_var. Pass &global_options
+ to get_option_state.
+ (general_init): Initialize global_dc->option_state.
+ * tree.c (build_optimization_node): Pass &global_options to
+ cl_optimization_save.
+ (build_target_option_node): Pass &global_options to
+ cl_target_option_save.
+
+2010-09-30 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (type_consists_of_records_p): Do not check for trailing
+ zero sized bit-fields.
+
+2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
+ Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
+ (c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS.
+ (c_parser_objc_class_declaration): Same change.
+ (c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
+ RID_TRY and RID_AT_CATCH instead of RID_CATCH.
+ (c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE
+ instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED
+ and RID_AT_PUBLIC instead of RID_PUBLIC.
+ (c_parser_statement_after_labels): Use RID_AT_TRY instead of
+ RID_TRY and RID_AT_CATCH instead of RID_CATCH.
+
+2010-09-30 Tom G. Christensen <tgc@jupiterrise.com>
+
+ * doc/install.texi (Binaries): Update link to HP-UX porting centre.
+ Add links to current providers of packages for Solaris and IRIX.
+
+2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Merge from 'apple/trunk' branch on FSF servers.
+ * c-parser.c: Applied change originally in c-parse.in.
+
+ 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4281748
+ * c-decl.c (start_decl): Check for redeclaration of class name.
+ * c-parse.in (after_type_declarator): Recognize CLASSNAME.
+
+2010-09-29 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_builtin_decl): New.
+ (TARGET_BUILTIN_DECL): Define.
+ (ia64_builtins): New.
+ (ia64_init_builtins): Save decls in ia64_builtins.
+
+2010-09-29 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/40457
+ * postreload.c (move2add_use_add2_insn): Use full_costs for comparison.
+ (move2add_use_add3_insn): Likewise.
+ (reload_cse_move2add): Likewise.
+ * rtlanal.c (get_full_rtx_cost): New function.
+ * rtl.h (struct full_rtx_costs): New.
+ (init_costs_to_max, init_costs_to_zero, costs_lt_p,
+ costs_add_n_insns): New inline functions.
+ (get_full_rtx_cost): Declare.
+
+ PR c/45054
+ * reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
+ invariants. Check for reg_equiv_invariant.
+ (reload): Assert that spilled_pseudos is empty when returning.
+
+2010-09-29 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/mingw32.h (TARGET_64BIT): replaced by
+ TARGET_64BIT_DEFAULT in #if check.
+
+2010-09-29 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * varasm.c (assemble_alias): Add error message for unsupported ifunc.
+
+2010-09-29 Mike Stump <mikestump@comcast.net>
+
+ * config/darwin.h (flag_mkernel): Remove.
+ (flag_apple_kext): Likewise.
+
+2010-09-29 Joseph Myers <joseph@codesourcery.com>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * config/darwin.opt (undefined): Add.
+
+2010-09-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR testsuite/45664
+ * configure.ac: Add --enable-indirect-function option.
+ * config.gcc: Add default_gnu_indirect_function.
+ * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
+ (HAVE_GNU_INDIRECT_FUNCTION): ... this.
+ * varasm.c (do_assemble_alias): Adjust for macro name change.
+ * configure: Rebuilt.
+ * doc/install.texi: Document --enable-indirect-function.
+
+2010-09-29 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/options.texi (Variable, Var, Init): Update documentation
+ without reference to VarExists.
+ (VarExists): Remove.
+ * common.opt, config/i386/i386.opt, config/linux.opt,
+ config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt:
+ Don't use VarExists.
+
+2010-09-29 Joseph Myers <joseph@codesourcery.com>
+
+ * optc-gen.awk: Generate global_options initializer instead of
+ individual variables. Add x_ prefix to names of structure members.
+ * opth-gen.awk: Generate gcc_options structure. Add x_ prefix to
+ names of structure members.
+ * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
+ HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
+ * doc/tm.texi: Regenerate.
+ * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
+ * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
+ * c-parser.c (disable_extension_diagnostics,
+ restore_extension_diagnostics): Update names of cpp_options members.
+ * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
+ * common.opt (fcompare-debug-second): Don't use Var.
+ * config/alpha/alpha.h (target_flags): Remove.
+ * config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
+ HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
+ * config/bfin/bfin.h (target_flags): Remove.
+ * config/cris/cris.h (target_flags): Remove.
+ * config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
+ cl_target_option members.
+ * config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
+ (ix86_function_specific_print, ix86_valid_target_attribute_tree,
+ ix86_can_inline_p): Update names of cl_target_option members.
+ * config/i386/i386.h (ix86_isa_flags): Remove.
+ * config/lm32/lm32.h (target_flags): Remove.
+ * config/mcore/mcore.h (mcore_stack_increment): Remove.
+ * config/mcore/mcore.md (addsi3): Remove extern declaration of
+ flag_omit_frame_pointer.
+ * config/mep/mep.h (target_flags): Remove.
+ * config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
+ HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
+ * config/mmix/mmix.h (target_flags): Remove.
+ * config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
+ flag_expensive_optimizations): Remove.
+ * config/s390/s390.h (flag_pic): Remove.
+ * config/score/score-conv.h (target_flags): Remove.
+ * config/sh/sh.h (sh_fixed_range_str): Remove.
+ * config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
+ * dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
+ * df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
+ * diagnostic.c (diagnostic_initialize): Update names of
+ diagnostic_context members.
+ * diagnostic.h (diagnostic_context): Rename inhibit_warnings and
+ warn_system_headers.
+ (diagnostic_report_warnings_p): Update for new names.
+ * dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
+ * emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
+ HARD_FRAME_POINTER_IS_ARG_POINTER.
+ * flags.h (flag_compare_debug): Declare.
+ * ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
+ * opts.c (flag_compare_debug): Define.
+ (common_handle_option): Update names of diagnostic_context
+ members. Handle -fcompare-debug-second.
+ (fast_math_flags_struct_set_p): Update names of cl_optimization
+ members.
+ * reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
+ * regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
+ * reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
+ * reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
+ * resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
+ * rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
+ HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
+ * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
+ * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
+
+2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (picochip_output_internal_label):
+ This function can now be called for debug CFI labels, which can come
+ in the middle of a vliw instruction. Postpone until end of vliw.
+
+2010-09-29 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (SCOPE_FILE_SCOPE_P): New macro.
+ (DECL_FILE_SCOPE_P): Use it.
+ (TYPE_FILE_SCOPE_P): New macro.
+
+2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_lex_one_token): In Objective-C, when dealing with
+ a CPP_NAME which is a reserved word, clearly separate cases for
+ OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD.
+
+2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_lex_one_token): In Objective-C, do not replace
+ token->value with the canonical spelling. Do exactly like C and
+ C++ and leave it as it is.
+
+2010-09-28 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_builtins): New.
+ (alpha_builtin_decl, TARGET_BUILTIN_DECL): New.
+ (alpha_builtin_function): New.
+ (alpha_add_builtins, alpha_init_builtins): Use it.
+
+2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * doc/standards.texi (Standards): Expanded the section on
+ Objective-C and Objective-C++.
+
+2010-09-28 DJ Delorie <dj@redhat.com>
+
+ PR target/45800
+ * config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
+ volatile MEMs.
+
+2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
+
+ * c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
+ attributes on methods.
+ (c_parser_objc_method_definition): Handle attributes.
+ (c_parser_objc_methodproto): Likewise.
+ (c_parser_objc_maybe_method_attributes): New.
+ (c_parser_objc_method_decl): Handle attributes, add a diagnostic for a
+ missing definition, similar to that in ObjC++.
+
+2010-09-28 Richard Henderson <rth@redhat.com>
+
+ * defaults.h (DWARF2_UNWIND_INFO): Don't depend on TARGET_UNWIND_INFO.
+ (MUST_USE_SJLJ_EXCEPTIONS): Remove.
+ (CONFIG_SJLJ_EXCEPTIONS): Remove.
+ (STACK_OLD_CHECK_PROTECT): Use targetm.except_unwind_info.
+ (STACK_CHECK_PROTECT): Likewise.
+ * dwarf2out.c (DWARF2_UNWIND_INFO, DWARF2_FRAME_INFO): Poison.
+ (dwarf2out_do_frame): Use debug_unwind_info and except_unwind_info.
+ (dwarf2out_do_cfi_asm, dwarf2out_begin_prologue): Likewise.
+ (dwarf2out_frame_init, dwarf2out_frame_finish): Likewise.
+ (dwarf2out_assembly_start): Likewise.
+ * except.c (init_eh): Use targetm.except_unwind_info.
+ (finish_eh_generation, gate_convert_to_eh_region_ranges): Likewise.
+ (output_one_function_exception_table): Likewise.
+ * final.c: Unconditionally include dwarf2out.h.
+ (final_start_function): Unconditionally call dwarf2out routines.
+ (final_end_function, final_scan_insn): Likewise.
+ * function.c (expand_function_end): Use targetm.except_unwind_info.
+ * opts.c (decode_options): Use targetm.except_unwind_info.
+ * system.h (USING_SJLJ_EXCEPTIONS, TARGET_UNWIND_INFO): Poison.
+ * target.def (debug_unwind_info, except_unwind_info): New.
+ * target.h (enum unwind_info_type): New.
+ * targhooks.c (default_debug_unwind_info): New.
+ (default_except_unwind_info): New.
+ (dwarf2_except_unwind_info, sjlj_except_unwind_info): New.
+ * targhooks.h: Declare them.
+ * tree-tailcall.c: Include "target.h"
+ (suitable_for_tail_call_opt_p): Use targetm.except_unwind_info.
+ * Makefile.in (tree-tailcall.o): Update.
+ * tree.c (build_common_builtin_nodes): Use targetm.except_unwind_info.
+ (lhd_gcc_personality): Likewise.
+
+ * doc/tm.texi.in (TARGET_UNWIND_INFO): Remove.
+ (TARGET_EXCEPT_UNWIND_INFO): New.
+ (DWARF2_UNWIND_INFO): Update.
+ (TARGET_DEBUG_UNWIND_INFO): New.
+ * doc/tm.texi: Rebuild.
+
+ * c-family/c-cppbuiltin.c (c_cpp_builtins): Use
+ targetm.except_unwind_info.
+
+ * config/arm/arm.c (TARGET_EXCEPT_UNWIND_INFO): New.
+ (arm_except_unwind_info): New.
+ (arm_compute_func_type): Use it.
+ (arm_expand_prologue, thumb_pushpop): Likewise.
+ (thumb1_expand_prologue, thumb1_output_function_prologue): Likewise.
+ (arm_unwind_emit, arm_output_fn_unwind): Likewise.
+ * config/arm/bpabi.h (ARM_UNWIND_INFO): Rename from TARGET_UNWIND_INFO.
+ * config/arm/arm.h (ARM_UNWIND_INFO): Likewise.
+ (DWARF2_UNWIND_INFO): Remove.
+ (MUST_USE_SJLJ_EXCEPTIONS): Remove.
+ (ARM_EABI_UNWIND_TABLES): Remove.
+
+ * config/ia64/ia64.c (ia64_debug_unwind_info): New.
+ (TARGET_DEBUG_UNWIND_INFO, TARGET_EXCEPT_UNWIND_INFO): New.
+ (ia64_except_unwind_info): New.
+ (ia64_output_function_prologue): Use it.
+ (ia64_add_bundle_selector_before): Likewise.
+ (ia64_reorg, ia64_asm_unwind_emit): Likewise.
+ * config/ia64/ia64.h (DWARF2_FRAME_INFO): Remove.
+ (TARGET_UNWIND_INFO): Remove.
+
+ * config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info.
+
+2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
+
+ * c-parser.c (c_parser_objc_class_definition): Adjust prototype.
+ (c_parser_objc_protocol_definition): Likewise.
+ (c_parser_external_declaration): Provide dummy attribute arguments.
+ (c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
+ (c_parser_objc_class_definition): Handle attributes.
+ (c_parser_objc_protocol_definition): Likewise.
+
+2010-09-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/40569
+ PR fortran/40568
+ * toplev.h (save_decoded_options, save_decoded_options_count):
+ New global variables.
+ * toplev.c (save_decoded_options, save_decoded_options_count):
+ Export variables.
+
+2010-09-28 Ian Lance Taylor <iant@google.com>
+
+ * config/i386/i386.c (ix86_supports_split_stack): Test
+ HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
+
+2010-09-28 Ian Lance Taylor <iant@google.com>
+
+ PR target/45815
+ * opts.c (decode_options): Don't test whether the target supports
+ split stack if flag_split_stack == 0.
+
+2010-09-28 Jan Hubicka <jh@suse.cz>
+
+ * builtin-attrs.def (ATTR_LEAF): New attribute.
+ (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
+ ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
+ ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
+ ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
+ ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
+ ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
+ ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
+ * sync-builtins.def: Annotate all builtins by leaf.
+ * omp-builtins.def: Annotate all builtins by leaf.
+ * builtins.def: Annotate relevant builtins with leaf attribute.
+ (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
+ ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
+ leaf.
+
+2010-09-28 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-ccp.c (fold_ctor_reference): New function.
+ (fold_const_aggregate_ref): Use it.
+ * fold-const.c (canonicalize_constructor_val): Check that we don't fold
+ into external static.
+
+2010-09-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/44452
+ * config/i386/i386.opt (mvect8-ret-in-mem): Define.
+ * config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
+ (ix86_solaris_return_in_memory): Remove.
+ * config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
+ * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
+ (TARGET_SUBTARGET_DEFAULT): Redefine.
+ * config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
+ * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
+ (TARGET_SUBTARGET_DEFAULT): Redefine.
+ * doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
+ -mvect8-ret-in-mem.
+ (i386 and x86-64 Options): Document -mvect8-ret-in-mem.
+
+2010-09-29 Alan Modra <amodra@gmail.com>
+
+ PR target/45807
+ * config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
+ * config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
+ * config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
+ Delete.
+ * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
+ (rs6000_emit_prologue): Don't just create frame save info for r2,
+ actually save r2.
+
+2010-09-28 Richard Henderson <rth@redhat.com>
+
+ * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
+ when 8 bytes are requested.
+
+2010-09-28 Tristan Gingold <gingold@adacore.com>
+
+ * config/avr/avr.c (expand_prologue): Set
+ current_function_static_stack_size.
+
+2010-09-28 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/alpha.md: Change the initial condition of the
+ probing loop.
+
+2010-09-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*avx_<umaxmin:code><mode>3):
+ Split from *avx_<maxmin:code><mode>3.
+ (*avx_<smaxmin:code><mode>3): Ditto.
+ * config/i386/i386.md (maxmin): Remove code iterator.
+
+2010-09-27 Ian Lance Taylor <iant@google.com>
+
+ * config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
+ requires assembler support for CFI directives.
+
+2010-09-27 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
+
+2010-09-27 Hans-Peter Nilsson <hp@axis.com>
+
+ * emit-rtl.c (reorder_insns_nobb) [ENABLE_CHECKING]: Sanity-check
+ that AFTER is not in the range FROM..TO, inclusive.
+
+2010-09-27 Hans-Peter Nilsson <hp@axis.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/45792
+ * cfgcleanup.c (try_head_merge_bb): New rtx vector nextptr.
+ If not all insns are to be merged, for each edge, stash the
+ next candidate after the to-be-merged insns before doing the
+ merge, and use them for the retry at the new insertion point.
+ Handle CC0 targets when retrying.
+
+2010-09-27 Ian Lance Taylor <iant@google.com>
+
+ * common.opt (fsplit-stack): New option.
+ * opts.c (decode_options): Set flag_split_stack to final value.
+ * target.def (supports_split_stack): New hook.
+ * gcc.c (STACK_SPLIT_SPEC): Define.
+ (LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
+ * doc/invoke.texi (Option Summary): Mention -fsplit-stack.
+ (Code Gen Options): Document -fsplit-stack.
+ * doc/extend.texi (Function Attributes): Mention no_split_stack.
+ (Function Attributes): Document no_split_stack.
+ * doc/tm.texi.in (Stack Smashing Protection): Add @hook
+ TARGET_SUPPORTS_SPLIT_STACK.
+ * doc/tm.texi: Rebuild.
+ * function.c (thread_prologue_and_epilogue_insns): If
+ flag_split_stack, add split stack prologue.
+ * explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
+ * varasm.c (saw_no_split_stack): New static variable.
+ (assemble_start_function): Set saw_no_split_stack if the function
+ has the no_split_stack attribute.
+ (file_end_indicate_split_stack): New function.
+ * output.h (file_end_indicate_split_stack): Declare.
+ * libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
+ and function.
+ * doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
+ routines.
+ * config/i386/i386.c (ix86_option_override_internal): Don't set
+ expand_builtin_va_start to NULL if -fsplit-stack.
+ (ix86_function_regparm): Reduce local regparm by 1 for 32-bit
+ -fsplit-stack.
+ (ix86_va_start): If -fsplit-stack, get overflow pointer from
+ scratch register set by prologue.
+ (ix86_code_end): If -fsplit-stack, call
+ file_end_indicate_split_stack.
+ (ix86_supports_split_stack): New static function.
+ (SPLIT_STACK_AVAILABLE): Define.
+ (split_stack_prologue_scratch_regno): New static function.
+ (split_stack_fn): New static variable.
+ (ix86_expand_split_stack_prologue): New function.
+ (ix86_live_on_entry): New static function.
+ (ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
+ (output_pic_addr_const): Likewise.
+ (i386_asm_output_addr_const_extra): Likewise.
+ (ix86_expand_call): Change return type to rtx. Return the new
+ call instruction.
+ (TARGET_SUPPORTS_SPLIT_STACK): Define.
+ (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
+ * config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
+ (split_stack_prologue, split_stack_return): New insns.
+ (split_stack_space_check): New insn.
+ * config/i386/i386.h (struct machine_function): Add
+ split_stack_varargs_pointer field.
+ * config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
+ (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
+ * config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
+ (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
+ * config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
+ Declare.
+ (ix86_expand_call): Update declaration.
+
+2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * doc/objc.texi (Type encoding): Added the new 'long double' (D)
+ code. Added byref, which was missing in the list of codes.
+ Explain that enumeration values are encoded as the integer type
+ that the compiler uses to store them. Explain and make examples
+ of how 'const' interacts with pointers, and the complication of
+ the encoding of 'const char *'.
+ (Legacy type encoding): New subsection, explaining that GCC emits
+ incorrect type encodings for the NeXT runtime for compatibility
+ reasons.
+ (@@encode): New subsection, explaining @encode and particularly
+ that protocol qualifiers are not recognized inside an @encode()
+ expression.
+ (Method signatures): New subsection, explaining how method
+ signatures are encoded.
+
+2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Merge from 'apple/trunk' branch on FSF servers. Removed small
+ change in build_conditional_expr that had been added when fixing
+ PR objc/27377 and which did the same check in a less complete way.
+
+ 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4229905
+ * c-typeck.c (build_conditional_expr): Call objc_have_common_type when
+ looking for objective-c common pointer types.
+
+ 2005-06-22 Ziemowit Laski <zlaski@apple.com>
+
+ Radar 4154928
+ * c-typeck.c (build_conditional_expr): For two ObjC pointer types,
+ use their ObjC common type.
+
+2010-09-27 Richard Guenther <rguenther@suse.de>
+
+ * dbxout.c (dbxout_symbol): Use DECL_FILE_SCOPE_P.
+
+2010-09-27 Jie Zhang <jie@codesourcery.com>
+
+ * print-tree.c (print_node): Print in-constant-pool.
+
+2010-09-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (CLASS_MAX_NREGS): Also handle XCmode.
+ (UNITS_PER_WORD): Define only when IN_LIBGCC2 is undefined.
+ (MOVE_MAX_PIECES): Redefine using UNITS_PER_WORD.
+ (ASM_OUTPUT_AVX_PREFIX): Simplify pointer addition.
+
+2010-09-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_add): Merge
+ from pro_epilogue_adjust_stack_<mode>_{1,2}.
+ (pro_epilogue_adjust_stack_<mode>_add): Rename from
+ pro_epilogue_adjust_stack_<mode>_3.
+ * config/i386/i386.c (pro_epilogue_adjust_stack): Update for
+ renamed pro_epilogue_adjust_stack_{si,di}_add.
+ (ix86_expand_prologue): Use indirect functions. Update for renamed
+ pro_epilogue_adjust_stack_{si,di}_sub.
+
+2010-09-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (movmsk_df): New insn.
+ (signbitdf): Split out of signbit<mode>2. Generate movmsk_df
+ sequence for TARGET_SSE_MATH.
+
+2010-09-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_builtin_decls): Declare.
+ (mips_init_builtins): Store function declarations in
+ mips_builtin_decls.
+ (mips_builtin_decl): New function.
+ (TARGET_BUILTIN_DECL): Define.
+
+2010-09-25 Kai Tietz <kai.tietz@onevision.com>
+ Richard Henderson <rth@redhat.com>
+
+ * config/i386/cygwin.asm: Include auto-host.h.
+ (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
+ cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): New macros.
+ (__chkstk, __alloca): Annotate for dwarf2 unwind info. Drop
+ alignment code from the 64-bit path. Use gas local labels.
+ * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_2): Macroize
+ from _di_2. Remove the useless constant integer argument.
+ (pro_epilogue_adjust_stack_<mode>_3): New.
+ (allocate_stack_worker_probe_<mode>): Macroize from
+ allocate_stack_worker_{32,64}. Use __chkstk_ms. Update all users.
+ * config/i386/i386.c (ix86_expand_prologue): Use __chkstk_ms;
+ use gen_pro_epilogue_adjust_stack_*_3 and annotate it.
+ (__chkstk_ms): New function.
+ * config/i386/t-cygming (LIB1ASMFUNCS): Add _chkstk_ms.
+ * config/i386/t-interix: Likewise.
+ * configure.ac (HAVE_GAS_CFI_DIRECTIVE): Export for target.
+ (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise.
+ (HAVE_GAS_CFI_SECTIONS_DIRECTIVE): Likewise.
+ * configure, config.in: Rebuild.
+
+2010-09-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new
+ statements because of the return slot optimization.
+
+2010-09-25 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.h (CLASS_LIKELY_SPILLED_P): Remove.
+ * config/avr/avr-protos.h (class_likely_spilled_p): Remove.
+ * config/avr/avr.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
+ (class_likely_spilled_p): Rename to...
+ (avr_class_likely_spilled_p): ...this. Make static. Change argument
+ type to reg_class_t.
+
+2010-09-24 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_symtab_entry_def): Add guessed field.
+ (lto_symtab_resolve_symbols): Set it.
+ (lto_symtab_merge_decls_1): Do not compute used_from_object_file;
+ store resolution field in cgraph/varpool.
+ * cgraph.c (cgraph_same_body_alias, cgraph_add_thunk): Return node.
+ (cgraph_get_node_or_alias, cgraph_get_node_or_alias): Constify.
+ (cgraph_dump_node): Drop used_from_object_file.
+ (cgraph_clone_node, cgraph_create_virtual_clone): Likewise.
+ (cgraph_function_body_availability): Use decl_replaceable_p.
+ (cgraph_make_node_local): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
+ (cgraph_can_remove_if_no_direct_calls_and_refs): Use
+ cgraph_used_from_object_file_p.
+ (cgraph_will_be_removed_from_program_if_no_direct_calls): Use
+ cgraph_used_from_object_file_p.
+ (resolution_used_from_other_file_p): New functoin.
+ (cgraph_used_from_object_file_p): New predicate.
+ * cgraph.h: Include plugin-api.h
+ (struct cgraph_local_info): Remove used_from_object_file.
+ (struct cgraph_node): Add resolution field.
+ (struct varpool_node): Likewise; remove used_from_object_file;
+ reove const_value_known.
+ (cgraph_get_node, cgraph_get_node_or_alias, cgraph_node,
+ cgraph_same_body_alias, cgraph_add_thunk): Update prototypes.
+ (resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
+ varpool_used_from_object_file_p): Declare.
+ (varpool_get_node, varpool_extra_name_alias): Update prototype.
+ * tree.h (DECL_REPLACEABLE_P): Remove.
+ (decl_replaceable_p, decl_binds_to_current_def_p): Declare.
+ * final.c (rest_of_clean_state): Use decl_binds_to_current_def_p.
+ * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
+ input_overwrite_node, input_node, input_varpool_node): Stream
+ resolution.
+ * expr.c (expand_expr_real_1): Use const_value_known_p
+ * ipa.c (ipa_discover_readonly_nonaddressable_var): Do not set
+ const_value_known.
+ (cgraph_externally_visible_p): Use cgraph_used_from_object_file_p.
+ (function_and_variable_visibility): Set resolution for local vars
+ and functions; use varpool_used_from_object_file_p.
+ * varasm.c (resolution_to_local_definition_p, resolution_local_p): New
+ static functions.
+ (default_binds_local_p_1): Use resolutoin info.
+ (decl_binds_to_current_def_p, decl_replaceable_p): New functions.
+ * varpool.c (varpool_get_node): Constify.
+ (const_value_known_p): Do not use vnode->const_value_known;
+ use decl_replaceable_p.
+ (varpool_finalize_decl): Do not set const_value_known.
+ (cgraph_variable_initializer_availability): Use decl_replaceable_p
+ (varpool_extra_name_alias): Return new node.
+ (varpool_used_from_object_file_p): New function.
+
+2010-09-24 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): New.
+ (TARGET_DWARF_HANDLE_FRAME_UNSPEC): New.
+ (do_spill): Use REG_CFA_OFFSET.
+ (ia64_expand_prologue): Use REG_CFA_ADJUST_CFA and REG_CFA_REGISTER
+ as appropriate.
+ (ia64_expand_epilogue): Likewise.
+ (process_set): Split into ...
+ (process_cfa_adjust_cfa): this,
+ (process_cfa_register): this,
+ (process_cfa_offset): and this new function.
+ (ia64_asm_unwind_emit): Use them. Expect REG_CFA_* notes
+ instead of REG_FRAME_RELATED_EXPR.
+
+2010-09-24 Olivier Hainque <hainque@adacore.com>
+
+ * config/i386/vx-common.h (DBX_REGISTER_NUMBER): Reinstate.
+
+2010-09-24 Jan Hubicka <jh@suse.cz>
+
+ * doc/extend.texi: (attribute leaf): Document.
+ * tree.c (local_define_builtin): Handle ECF_LEAF.
+ (build_common_builtin_nodes): Set ECF_LEAF where needed.
+ * tree.h (ECF_LEAF): New.
+ * ipa-reference.c (propagate_bits): For leaf calls propagate ever
+ overwrittable and unavailable functions.
+ (ipa_init): Put all_module_statics into optimization_summary_obstack.
+ (copy_global_bitmap): Do not copy all_module_statics.
+ (read_write_all_from_decl): Use cgraph_node argument; handle ECF_LEAF.
+ (propagate): Handle overwritable and unavailable leaf functions;
+ initialize global info for overwritable and unavailable leaf functions;
+ do not free all module statics.
+ (ipa_reference_get_not_{read,written}_global): Leaf calls don't clobber
+ local statics.
+ * calls.c (flags_from_decl_or_type): Handle leaf.
+ * tree-cfg.c (stmt_can_make_abnormal_goto): Leaf functions can't do
+ abnormal gotos.
+
+2010-09-24 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.c: Reindented.
+ * gengtype.h: Reindented.
+ * gengtype-parse.c: Reindented.
+
+2010-09-24 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/45738
+ PR tree-optimization/45741
+ * expr.c (string_constant): Allow CONST_DECL too;
+ check that DECL_INITIAL is set.
+ * varpool.c (const_value_known_p): Only look into VAR_DECL
+ and CONST_DECL.
+
+2010-09-24 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (undef): New.
+
+2010-09-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/45234
+ * rtl.h (enum global_rtl_index): Add
+ GR_VIRTUAL_PREFERRED_STACK_BOUNDARY.
+ (LAST_VIRTUAL_POINTER_REGISTER): Define.
+ (virtual_preferred_stack_boundary_rtx,
+ VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM): Define.
+ (LAST_VIRTUAL_REGISTER): Increase by one.
+ (REGNO_PTR_FRAME_P): Use LAST_VIRTUAL_POINTER_REGISTER
+ instead of LAST_VIRTUAL_REGISTER.
+ * function.c (instantiate_new_reg): Handle
+ virtual_preferred_stack_boundary_rtx.
+ * emit-rtl.c (init_virtual_regs): Handle
+ VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
+ (init_emit_regs): Initialize virtual_preferred_stack_boundary_rtx.
+ * explow.c (round_push): If crtl->preferred_stack_boundary
+ is smaller than MAX_SUPPORTED_STACK_ALIGNMENT, use
+ virtual_preferred_stack_boundary_rtx alignment instead of
+ crtl->preferred_stack_boundary alignment.
+ (allocate_dynamic_stack_space): Use CONST_INT_P and REG_P
+ macros. Never decrease crtl->preferred_stack_boundary,
+ use crtl->preferred_stack_boundary or MAX_SUPPORTED_STACK_ALIGNMENT
+ instead of PREFERRED_STACK_BOUNDARY. Don't modify
+ stack_pointer_delta in dynamic allocation, even when size
+ is constant.
+ (probe_stack_range, anti_adjust_stack_and_probe): Use CONST_INT_P
+ macro.
+ * print-rtl.c (print_rtx): Handle
+ VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
+ * config/alpha/alpha.h (NONSTRICT_REG_OK_FP_BASE_P): Use
+ LAST_VIRTUAL_POINTER_REGISTER instead of LAST_VIRTUAL_REGISTER.
+ * config/frv/frv.c (frv_emit_movsi): Likewise.
+ * config/arm/arm.c (thumb1_legitimate_address_p): Likewise.
+ * config/rs6000/rs6000.c (virtual_stack_registers_memory_p):
+ Likewise.
+
+ Revert:
+ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/45234
+ * calls.c (expand_call): Make sure that all variable sized
+ adjustments are multiple of preferred stack boundary after
+ stack alignment.
+
+2010-09-24 Iain Sandoe <iains@gcc.gnu.org>
+ Dominique Dhumieres <dominiq@lps.ens.fr>
+
+ PR bootstrap/45751
+ * config/darwin-driver.c (darwin_default_min_version):
+ Adjust size passed to memcpy in two places.
+
+2010-09-24 Richard Guenther <rguenther@suse.de>
+
+ * c-decl.c (pop_scope): Always set file-scope DECL_CONTEXT.
+ Make sure to not call set_type_context with error_mark_node.
+ * langhooks.c (lhd_set_decl_assembler_name): Use DECL_FILE_SCOPE_P.
+
+2010-09-24 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (OBJS-onestep): Remove.
+ (ALL_HOST_BACKEND_OBJS): Remove libbackend.o.
+ (libbackend.a): Remove onestep support.
+ (libbackend.o): Remove.
+ * configure.ac (--enable-intermodule): Remove.
+ * configure: Regenerate.
+
+2010-09-24 Bernd Schmidt <bernds@codesourcery.com>
+
+ * cfgcleanup.c (flow_find_head_matching_sequence): Terminate when
+ reaching the end of a block if it occurs at a DEBUG_INSN.
+
+2010-09-09 Tristan Gingold <gingold@adacore.com>
+
+ PR target/44242
+ * config/vms/vms-crt0-64.c: Removed.
+ * config/vms/vms-crt0.c: Removed.
+ * config/vms/vms-psxcrt0-64.c: Removed.
+ * config/vms/vms-psxcrt0.c: Removed.
+ * config/vms/vms-ucrt0.c: New file.
+ * config/vms/t-vms64: Removed.
+ * config/vms/t-vms (VMS_EXTRA_PARTS): Uncomment it. Remove DECC.
+ Use $(GCC_FOR_TARGET) to build pcrt0.o and vcrt0.o
+ * config.gcc (alpha-dec-vms): Use t-vms.
+
+2010-09-24 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * doc/invoke.texi (-fno-nil-receivers): Tidied up line to remove
+ underfull hbox in DVI output.
+ (-fobjc-class-cxx-cdtors): Same change.
+ (-fobjc-exceptions): Tidied up documentation. Explain what the
+ option does, but moved the (lenghty) description of the exception
+ syntax into objc.texi.
+ (-fobjc-gc): Explain that the option is not useful with the GNU
+ runtime.
+ (-fzero-link): Explain that the GNU runtime always works in
+ "zero-link" mode.
+ * doc/objc.texi: All sections: simplified @node declarations
+ removing specification of next, previous, up node.
+ (Objective-C): Updated introduction.
+ (Garbage Collection): Updated. The bohem-gc library is now
+ included in gcc itself. Mention that this section only applies to
+ the GNU Objective-C runtime.
+ (compatibility_alias): Small tidy up.
+ (Exceptions): New section mostly containing text previously in the
+ description of the -fobjc-exception command-line option.
+ (Synchronization): Same.
+
+2010-09-24 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ix86_code_end): Move the initialization of
+ xops array near the consumer. Use AX_REG and SP_REG instead of
+ numerical constants.
+
+2010-09-24 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-typeck.c (convert_arguments): Use warning 'too many arguments to
+ method [methodname]' for an Objective-C method instead of the less
+ satisfactory 'too many arguments to function' (with no method name).
+
+2010-09-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-flow.h (execute_update_addresses_taken): Remove parameter.
+ * tree-ssa.c (maybe_optimize_var): Tweak comment and dump messages.
+ (execute_update_addresses_taken): Remove parameter. Execute the
+ optimization unconditionally.
+ * passes.c (execute_function_todo): Call execute_update_addresses_taken
+ unconditionally if TODO_rebuild_alias is set, else only when optimizing
+ if TODO_update_address_taken is set.
+
+2010-09-23 Anatoly Sokolov <aesok@post.ru>
+
+ * config/arm/arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+ * config/arm/arm-protos.h (arm_output_addr_const_extra): Remove.
+ * config/arm/arm.c (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+ (arm_output_addr_const_extra): Make static.
+
+2010-09-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (UNSPECV_NOPS): Rename from UNSPEC_NOPS and
+ define as unspec_volatile.
+ ("nops"): Define as unspec_volatile. Use fputs to write to
+ asm_out_file directly. Output NOPs on separate lines using while loop.
+ * config/i386/i386.c (ix86_code_end): Use fputs to write to
+ asm_out_file directly. Output NOPs on separate lines using while loop.
+
+2010-09-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45565
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
+ Make sure to adjust the fndecl before replacing the stmt.
+
+2010-09-23 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45750
+ * gimplify.c (gimplify_expr): Properly pass on GS_ERROR when
+ gimplifying MEM_REF.
+
+2010-09-23 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (toc_relative_ok): Delete.
+ (rs6000_emit_move): Use SYMBOL_REF_LOCAL_P instead.
+
+2010-09-23 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/44374
+ * basic-block.h (enum bb_flags): Add BB_MODIFIED.
+ * df-core.c (df_set_bb_dirty): Set it.
+ * ifcvt.c (find_memory): Remove function.
+ (dead_or_predicable): Use can_move_insns_across.
+ * df.h (can_move_insns_across): Declare function.
+ * cfgcleanup.c (block_was_dirty): New static variable.
+ (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
+ than df_get_bb_dirty.
+ (try_head_merge_bb): New static function.
+ (try_optimize_cfg): Call it. Call df_analyze if block_was_dirty
+ is set.
+ * df-problems.c: Include "target.h"
+ (df_simulate_find_uses): New static function.
+ (MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
+ (find_memory, find_memory_store): New static functions.
+ (can_move_insns_across): New function.
+ * Makefile.in (df-problems.o): Update dependencies.
+
+2010-09-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR java/44095
+ * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch
+ is specified and the suffix of the file isn't ".c".
+ * config/sparc/linux64.h (ASM_SPEC): Likewise.
+
+2010-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/contrib.texi (Contributors): Allow URL to wrap in PDF output.
+ * doc/cppopts.texi: Fix markup of index entry.
+ * doc/extend.texi (Constructing Calls): Fix markup of
+ __builtin_va_arg_pack and __builtin_va_arg_pack_len definition.
+ (Conditionals, C++ Comments, Pragmas, Unnamed Fields, Thread-Local)
+ (Vague Linkage, C++ Attributes): Fix markup of index entries and
+ keywords.
+ * doc/invoke.texi (Option Summary): Fix spacing. Rewrap to
+ avoid long lines.
+ (C Dialect Options, C++ Dialect Options, Warning Options)
+ (Debugging Options, Spec Files, Darwin Options)
+ (i386 and x86-64 Options, MIPS Options)
+ (RS/6000 and PowerPC Options, Code Gen Options): Fix markup of
+ index entries, avoid abbreviations, allow URLs to wrap, avoid
+ long lines, avoid overlong pages from long @itemx lists.
+ * doc/objc.texi (Garbage Collection): Allow URLs to wrap.
+ * doc/standards.texi (Standards): Likewise.
+ * doc/trouble.texi (Incompatibilities): Fix markup of index entry.
+
+2010-09-22 Joseph Myers <joseph@codesourcery.com>
+
+ * opts-common.c (prune_options): Make static. Work with decoded
+ options.
+ (decode_cmdline_options_to_array): Call prune_options. Don't
+ resize option array here.
+ * opts.h (prune_options): Remove prototype.
+ * gcc.c (process_command): Take decoded options; don't call
+ decode_cmdline_options_to_array here. Use decoded options for argv[0].
+ (main): Call decode_cmdline_options_to_array here instead of
+ prune_options. Update call to process_command.
+ * config/darwin-driver.c: Include opts.h.
+ (darwin_default_min_version): Work with decoded options. Don't
+ handle -b or -V here.
+ * config/darwin.h (darwin_default_min_version): Update prototype.
+ (GCC_DRIVER_HOST_INITIALIZATION): Update call to
+ darwin_default_min_version.
+ * config/i386/cygwin.h (mingw_scan): Update prototype.
+ (GCC_DRIVER_HOST_INITIALIZATION): Update call to mingw_scan.
+ * config/i386/cygwin1.c: Include opts.h.
+ (mingw_scan): Work with decoded options.
+ * config/i386/t-cygwin (cygwin1.o): Update dependencies.
+ * config/t-darwin (darwin-driver.o): Update dependencies.
+
+2010-09-22 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (-assemble, -compile, -coverage, -debug, -dump,
+ -dump=, -dumpbase, -dumpdir, -entry, -entry=, -extra-warnings,
+ -for-assembler, -for-assembler=, -for-linker, -for-linker=,
+ -force-link, -force-link=, -language, -language=,
+ -library-directory, -library-directory=, -no-canonical-prefixes,
+ -no-standard-libraries, -no-warnings, -optimize, -output,
+ -output=, -pass-exit-codes, -pedantic, -pedantic-errors, -pie,
+ -pipe, -prefix, -prefix=, -preprocess, -print-file-name,
+ -print-file-name=, -print-libgcc-file-name,
+ -print-multi-directory, -print-multi-lib,
+ -print-multi-os-directory, -print-prog-name, -print-prog-name=,
+ -print-search-dirs, -print-sysroot, -print-sysroot-headers-suffix,
+ -profile, -save-temps, -shared, -specs, -specs=, -static,
+ -symbolic, -time, -verbose, -param=, -sysroot, coverage, e, u,
+ symbolic): New.
+ (fhelp, fhelp=, ftarget-help, fversion): Make into aliases.
+ * gcc.c (A Short Introduction to Adding a Command-Line Option):
+ Remove comment.
+ (cc1_options): Correct specs for passing down --help,
+ --target-help and --help=*. Add spec for passing down --version.
+ (struct option_map, option_map, target_option_translations,
+ translate_options): Remove.
+ (driver_handle_option): Handle OPT__version, OPT__help, OPT__help_
+ and OPT__target_help instead of OPT_fversion, OPT_fhelp,
+ OPT_fhelp_ and OPT_ftarget_help.
+ (process_command): Don't call translate_options. Call
+ decode_cmdline_options_to_array before checking for
+ -no-canonical-prefixes using decoded options.
+ * opts-common.c (tm.h): Update comment on #include.
+ (find_opt): Allow abbreviations of long options.
+ (struct option_map, option_map): New.
+ (decode_cmdline_option): Use them instead of hardcoding -Wno, -fno
+ and -mno handling.
+ (target_option_translations): New.
+ (decode_cmdline_options_to_array): Handle
+ TARGET_OPTION_TRANSLATE_TABLE in driver.
+ * opts.c (common_handle_option): Don't handle OPT_fhelp,
+ OPT_ftarget_help, OPT_fhelp_ or OPT_fversion.
+
+2010-09-22 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (optimize_inline_calls): Schedule cleanups
+ only if we inlined something. Block compaction and conditional
+ folding are done by cfg cleanup. Schedule update-address-taken.
+ (tree_function_versioning): Remove redundant call to number_blocks.
+ * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Conditional
+ folding is done by cfg cleanup.
+ * passes.c (init_optimization_passes): Remove update-address-taken
+ pass after IPA inlining.
+
+2010-09-22 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * postreload.c (move2add_note_store): Add reg_symbol_ref[] checks
+ to update conditions. Fix reg_mode[] check.
+
+2010-09-22 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.md (movhicc): Use expand to check whether
+ movhicc is available and split it after reload.
+
+2010-09-22 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssanames.c (release_dead_ssa_names): Do not remove
+ callee edges here.
+ * passes.c (init_optimization_passes): Remove early CFG cleanup.
+ * tree-optimize.c (execute_cleanup_cfg_pre_ipa): Remove.
+ (pass_cleanup_cfg): Likewise.
+ (execute_fixup_cfg): Cleanup.
+ * tree-pass.h (pass_cleanup_cfg): Remove.
+
+2010-09-22 Martin Jambor <mjambor@suse.cz>
+
+ * gimple-fold.c (fold_gimple_call): New parameter inplace, do not fold
+ builtins if it is true.
+ (fold_stmt_1): Call, fold_gimple_call always, pass inplace as a
+ parameter.
+
+2010-09-22 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (struct access): New field grp_no_warning.
+ (create_access_replacement): Set TREE_NO_WARNING according to
+ grp_no_warning.
+ (create_artificial_child_access): Use build_ref_for_model and set
+ grp_no_warning if build_user_friendly_ref_for_offset fails.
+ (propagate_subaccesses_across_link): Likewise.
+
+2010-09-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/35664
+ * config/sparc/constraints.md ('e'): Return NO_REGS if !TARGET_FPU.
+ ('f'): Likewise.
+
+2010-09-22 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/alpha.c (alpha_use_linkage): Initialize target field.
+
+2010-09-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (MAX_STRINGOP_ALGS): Fix typo in the name.
+ * config/i386/i386.c (decide_alg): Update for rename.
+
+2010-09-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/45739
+ * simplify-rtx.c (simplify_binary_operation_1): Optimize even
+ vector mode | CONST0_RTX (mode) and ^ CONST0_RTX (mode).
+
+2010-09-21 Anatoly Sokolov <aesok@post.ru>
+
+ * config/rs6000/rs6000.h (OUTPUT_ADDR_CONST_EXTRA): Remove macros.
+ * config/rs6000/rs6000-protos.h (rs6000_output_addr_const_extra):
+ Remove.
+ * config/rs6000/rs6000.c (rs6000_output_addr_const_extra): Make static.
+ (TTARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/23710
+ * c-parser.c (c_parser_objc_method_definition): Check the return
+ value of objc_start_method_definition and if false is returned,
+ parse the method definition but emit no code.
+
+2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/25965
+ * c-decl.c (detect_field_duplicates): If compiling Objective-C,
+ call objc_get_interface_ivars ().
+
+2010-09-21 Kai Tietz <kai.tietz@onevision.com>
+
+ PR target/45694
+ * config/i386/i386.c (ix86_expand_prologue): Save r10 in case that
+ static chain-register is used for 64-bit.
+
+2010-09-21 Richard Guenther <rguenther@suse.de>
+
+ * dwarf2out.c (is_cu_die): New function.
+ (add_pubtype): Use it.
+ (gen_subprogram_die): Likewise.
+ (gen_struct_or_union_type_die): Likewise.
+ (dwarf2out_finish): Likewise.
+ (comp_unit_die): Rename to ...
+ (single_comp_unit_die): ... this.
+ (comp_unit_die): New function lazily constructing and
+ returning single_comp_unit_die.
+ (is_cxx, is_fortran, is_ada, debug_dwarf, break_out_comdat_types,
+ base_type_die, subrange_type_die, modified_type_die,
+ lower_bound_default, add_bound_info, add_prototyped_attribute,
+ dwarf2out_vms_debug_main_pointer, scope_die_for, retry_incomplete_types,
+ dwarf2out_abstract_function, gen_type_die_with_usage, get_context_die,
+ force_decl_die, gen_namespace_die, dwarf2out_decl,
+ dwarf2out_start_source_file, dwarf2out_end_source_file,
+ prune_unused_types, dwarf2out_finish): Use it.
+ (gen_compile_unit_die): For GNU GIMPLE derive DW_AT_language from
+ the global list of translation-unit decls.
+ (dwarf2out_init): Do not create single_comp_unit_die here.
+ (force_decl_die): Handle TRANSLATION_UNIT_DECL.
+
+2010-09-21 Richard Guenther <rguenther@suse.de>
+
+ * dwarf2out.c (dwarf2out_decl): Do not always generate a DIE
+ for bool for C++.
+
+2010-09-21 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/arm/iterators.md (qhs_extenddi_op): New mode_attr.
+ (qhs_extenddi_cstr): Likewise.
+ * config/arm/arm.md (zero_extend<mode>di2, extend<mode>di2): Use
+ them for the source operand.
+
+2010-09-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_split_ashl): Rename single_width variable
+ to half_width. Use GET_MODE_BITSIZE to calculate mode size.
+ (ix86_split_ashr): Ditto.
+ (ix86_split_lshr): Ditto.
+
+2010-09-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45580
+ * tree-ssa-propagate.c (substitute_and_fold): Always replace
+ regular uses.
+ * gimple-fold.c (gimple_fold_obj_type_ref): For a BINFO without
+ virtuals fold the call into a regular indirect one.
+
+2010-09-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/42775
+ * cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot
+ scheduling is enabled.
+
+2010-09-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/45728
+ * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try
+ gen_lowpart_common first and if that fails, force_reg first
+ before calling gen_lowpart.
+
+ PR middle-end/45678
+ * cfgexpand.c (expand_one_stack_var_at): Use
+ crtl->max_used_stack_slot_alignment as max_align, instead
+ of maximum of that and PREFERRED_STACK_BOUNDARY.
+ Don't call update_stack_alignment.
+
+2010-09-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * langhooks.h (struct lang_hooks_for_types): Remove hash_types field.
+ * langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete.
+ (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES.
+ * system.h (LANG_HOOKS_HASH_TYPES): Poison.
+ * tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types.
+ (build_nonstandard_integer_type): Likewise.
+ (build_range_type_1): New function, built from...
+ (build_range_type): ...this. Call build_range_type_1.
+ (build_nonshared_range_type): New function.
+ (build_array_type_1): New function, built from...
+ (build_array_type: ...this. Call build_array_type_1.
+ (build_nonshared_array_type): New function.
+ * tree.h (build_nonshared_range_type): Declare.
+ (build_nonshared_array_type): Likewise.
+
+2010-09-20 Anatoly Sokolov <aesok@post.ru>
+
+ * config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Remove.
+ * config/arm/arm.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
+ (arm_class_likely_spilled_p): New function.
+
+2010-09-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_expand_ashl_const): Rewrite using
+ indirect functions.
+ (ix86_split_ashl): Ditto.
+ (ix86_split_ashr): Ditto.
+ (ix86_split_lshr): Ditto.
+ (ix86_adjust_counter): Ditto.
+
+2010-09-20 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-family/c-common.h (constant_string_class): Documented with
+ comment identical to the one already in c-common.c.
+
+2010-09-20 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (any_cfis_emitted): New static variable.
+ (add_fde_cfi): Set it.
+ (dwarf2out_frame_debug): Clear it before processing,
+ if it is set afterwards, flush any queued reg saves.
+
+ PR debug/45124
+ * dwarf2out.c (add_accessibility_attribute): Assume
+ DW_ACCESS_private as the default for dwarf_version > 2
+ and DW_TAG_class_type parent.
+ (gen_inheritance_die): Assume DW_ACCESS_public as the default
+ for dwarf_version > 2 and parent other than DW_TAG_class_type.
+
+2010-09-20 Rafael Carre <rafael.carre@gmail.com>
+
+ PR target/45726
+ * arm.md (arm_movt): Only enable on machines with MOVT.
+
+2010-09-20 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/arm.c (arm_address_offset_is_imm): New.
+ (arm_early_store_addr_dep): New.
+ (arm_early_load_addr_dep): New.
+ * config/arm/arm-protos.h (arm_early_store_addr_dep): Declare.
+ (arm_early_load_addr_dep): Declare.
+ (arm_address_offset_is_imm): Declare.
+ * config/arm/cortex-m4.md: New file.
+ * config/arm/cortex-m4-fpu.md: New file.
+ * config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md.
+ (attr generic_sched): Exclude cortexm4.
+ (attr generic_vfp): Exclude cortexm4.
+
+2010-09-20 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45704
+ * gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness.
+
+2010-09-20 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/45605
+ * cgraph.h (const_value_known_p): Declare.
+ (varpool_decide_const_value_known): Remove.
+ * tree-ssa-ccp.c (get_base_constructor): Use it.
+ * lto-cgraph.c (compute_ltrans_boundary): Likewise.
+ * expr.c (string_constant): Likewise.
+ * tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise.
+ * ipa.c (ipa_discover_readonly_nonaddressable_var,
+ function_and_variable_visibility): Likewise.
+ * gimplify.c (gimplify_call_expr): Likewise.
+ * gimple-fold.c (get_symbol_constant_value): Likewise.
+ * varpool.c (varpool_decide_const_value_known): Replace by...
+ (const_value_known_p): ... this one; handle other kinds of DECLs
+ too and work for automatic vars.
+ (varpool_finalize_decl): Use const_value_known_p.
+
+2010-09-20 Rafael Carre <rafael.carre@gmail.com>
+
+ PR target/45726
+ * arm.md (arm_movtas_ze): Only enable on machine with MOVT.
+
+2010-09-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45705
+ * tree-ssa-dom.c (optimize_stmt): Perform redundant store elimination.
+
+2010-09-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/45695
+ * combine.c (try_combine): When splitting a two set pattern,
+ make sure the pattern which will be put into i2 doesn't use REGs
+ or MEMs set by insns in between i2 and i3.
+
+2010-09-19 Jan Hubicka <jh@suse.cz>
+
+ PR lto/44246
+ * lto-cgraph.c (input_cgraph_1, input_varpool_1): Avoid
+ processing same node twice.
+
+2010-09-19 Anatoly Sokolov <aesok@post.ru>
+
+ * config/bfin/bfin.h (CLASS_LIKELY_SPILLED_P): Remove.
+ * config/bfin/bfin.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
+ (bfin_class_likely_spilled_p): New function
+
+2010-09-19 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/45714
+ * tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement
+ created in vectorizable_call instead of the original statement in
+ def stmt updates.
+
+2010-09-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-protos.h (split_double_mode): New prototype.
+ (split_di, split_ti): Remove prototypes.
+ * config/i386/i386.c (split_double_mode): New function.
+ (split_di, split_ti): Remove.
+ (ix86_expand_branch): Use split_double_mode.
+ (ix86_split_to_parts): Ditto.
+ (ix86_split_ashl): Ditto.
+ (ix86_split_ashr): Ditto.
+ (ix86_split_lshr): Ditto.
+ (ix86_force_to_memory): Ditto.
+ * config/i386/i386.md: Use split_double_mode in double-mode splitters.
+
+2010-09-18 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/45453
+ * cgraphunit.c (cgraph_finalize_function): Consider comdat & external
+ virtual functions are reachable.
+ * ipa-inline.c (cgraph_clone_inlined_nodes): Likewise.
+ * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
+ * ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P
+ when modifying function.
+
+2010-09-18 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/45605
+ * cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
+ * gimple-fold.c (static_object_in_other_unit_p): New function.
+ (canonicalize_constructor_val): Use it.
+ (get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
+ returning NULL.
+ (gimple_fold_obj_type_ref_known_binfo): Use
+ static_object_in_other_unit_p.
+
+2010-09-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45709
+ * tree-inline.c (copy_phis_for_bb): Delay commit of edge
+ insertions until after all PHI nodes of the block are processed.
+
+2010-09-18 Tijl Coosemans <tijl@coosemans.org>
+
+ * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.
+
+2010-09-18 Kai Tietz <kai.tietz@onevision.com>
+
+ * config.gcc (*-w64-mingw*): Correct typo about t-dfprules.
+
+2010-09-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45709
+ * tree-inline.c (copy_phis_for_bb): Fixup new_edge when we splitted it.
+
+2010-09-17 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION.
+ (dot_deps_stmt): Same.
+ * graphite-poly.c (dot_lst): Same.
+ * graphite-scop-detection.c (dot_all_scops): Same.
+ (dot_scop): Same.
+
+2010-09-17 Sebastian Pop <sebastian.pop@amd.com>
+
+ Revert:
+ 2009-12-16 Ben Elliston <bje@au.ibm.com>
+
+ * tree-data-ref.c (dot_rdg_1): Added back.
+ (dot_rdg): Same. Added "#if 0" around system call.
+
+2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
+ Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (initial_ix86_tune_features): Add
+ X86_TUNE_PAD_SHORT_FUNCTION.
+ (ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION.
+ (ix86_count_insn): New.
+ (ix86_pad_short_function): Likewise.
+ (ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION.
+
+ * config/i386/i386.h (ix86_tune_indices): Add
+ X86_TUNE_PAD_SHORT_FUNCTION.
+ (TARGET_PAD_SHORT_FUNCTION): New.
+
+ * config/i386/i386.md (UNSPEC_NOPS): New.
+ (nops): Likewise.
+
+2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/45234
+ * calls.c (expand_call): Make sure that all variable sized
+ adjustments are multiple of preferred stack boundary after
+ stack alignment.
+
+2010-09-17 DJ Delorie <dj@redhat.com>
+
+ * config/rx/rx.c (rx_print_operand): If __builtin_rx_setpsw() is
+ passed an invalid value, print an error instead of ICEing.
+ (valid_psw_flag): New.
+ (rx_expand_builtin): Call it for setpsw/clrpsw.
+ (rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an RTX.
+
+ * config/rx/rx.md (bitclr): Don't mark the output as early-clobber.
+ (bitclr_in_memory): Likewise.
+ (clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile.
+
+2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/45678
+ * cfgexpand.c (update_stack_alignment): New.
+ (get_decl_align_unit): Use it.
+ (expand_one_stack_var_at): Call update_stack_alignment.
+
+2010-09-17 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers):
+ Properly copy the read string.
+
+2010-09-17 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/options.texi (Variable): Document.
+ * optc-gen.awk, opth-gen.awk: Handle Variable records. Don't
+ generate target_flags declarations explicitly. Don't define
+ VarExists variables for the driver.
+ * common.opt (target_flags): New Variable record.
+ (flag_dump_unnumbered, flag_dump_unnumbered_links,
+ flag_var_tracking, flag_var_tracking_assignments,
+ flag_var_tracking_assignments_toggle): Don't mark variables with
+ VarExists.
+ * config/i386/i386.c (ix86_isa_flags): Don't define here.
+ * config/i386/i386.opt (ix86_isa_flags): Define here.
+ * config/mcore/mcore.c (mcore_stack_increment): Don't define here.
+ * config/mcore/mcore.opt (mcore_stack_increment): Don't mark with
+ VarExists.
+ * flags.h (flag_dump_unnumbered, flag_var_tracking): Remove.
+ * print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links):
+ Only define for generator programs.
+ * rtlanal.c (target_flags): Remove.
+ * toplev.c (flag_var_tracking, flag_var_tracking_assignments,
+ flag_var_tracking_assignments_toggle): Remove.
+
+2010-09-17 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/43432
+ * tree-vect-data-refs.c (vect_analyze_data_ref_access):
+ Accept backwards consecutive accesses.
+ (vect_create_data_ref_ptr): If step is negative generate
+ decreasing IVs.
+ * tree-vect-stmts.c (vectorizable_store): Reject negative steps.
+ (perm_mask_for_reverse, reverse_vec_elements): New functions.
+ (vectorizable_load): Handle loads with negative steps when easily
+ possible.
+
+2010-09-03 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
+
+2010-09-03 Naveen H.S <naveen.S@kpitcummins.com>
+
+ * config/v850/v850.c (v850_function_value_regno_p): Make static.
+ Adjust comments. Declare.
+ (TARGET_FUNCTION_VALUE_REGNO_P): Define.
+ * config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete.
+
+2010-09-17 Richard Guenther <rguenther@suse.de>
+
+ * common.opt (combine): Remove.
+ * gcc.c (default_compilers): Remove specs testing combine.
+ The C compilers no longer can combine.
+ (option_map): Remove -combine.
+ (display_help): Remove -combine.
+ (driver_handle_option): Remove OPT_combine handling.
+ (compile_input_file_p): Remove.
+ (do_spec): Remove code concerning combine.
+ (main): Likewise.
+ * doc/invoke.texi: Remove traces of -combine.
+ * lto-wrapper.c (run_gcc): Do not pass -combine to the compiler driver.
+
+2010-09-17 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45678
+ * builtins.c (fold_builtin_memory_op): Always properly adjust
+ alignment of memory accesses.
+
+2010-09-16 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when
+ processing clone.
+
+2010-09-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386-protos.h (ix86_split_idivmod): New prototype.
+
+ * config/i386/i386.c (predict_jump): Add prototype.
+ (flag_opts): Add -m8bit-idiv.
+ (ix86_split_idivmod): New.
+
+ * config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New.
+ Add 2 splitters for SI/DI mode divide.
+ (divmod<mode>4_1): New pattern.
+ (udivmod<mode>4_1): Likewise.
+ (testdi_ccno_1): Likewise.
+
+ * config/i386/i386.opt (m8bit-idiv): New.
+
+ * doc/invoke.texi: Document -m8bit-idiv.
+
+2010-09-16 Reza Yazdani <reza.yazdani@amd.com>
+
+ PR bootstrap/45680
+ * config/i386/i386.c (min_insn_size): Moved out of the
+ ASM_OUTPUT_MAX_SKIP_PAD ifdef.
+
+2010-09-16 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (lto_output_node): Fix handling of clones.
+ * ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of
+ unreachable clones with reachable clones.
+ * tree-inline.c (copy_bb): Fix sanity checking when producing
+ unreachable clone.
+
+2010-09-16 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.
+ (TARGET_MEMORY_MOVE_COST): Define.
+ (m32r_function_arg): Annotate argument 'type' with ATTRIBUTE_UNUSED.
+
+2010-09-16 Alexander Monakov <amonakov@ispras.ru>
+
+ * sel-sched.c (move_cond_jump): Use tidy_control_flow instead of
+ maybe_tidy_empty_bb.
+
+ Revert:
+ 2010-09-06 Alexander Monakov <amonakov@ispras.ru>
+ * sel-sched-ir.c (maybe_tidy_empty_bb): Export.
+
+2010-09-16 Joseph Myers <joseph@codesourcery.com>
+
+ * target.def (target_option.optimization): New hook.
+ * doc/tm.texi.in (OPTIMIZATION_OPTIONS): Change to
+ TARGET_OPTION_OPTIMIZATION hook.
+ * doc/tm.texi: Regenerate.
+ * hooks.c (hook_void_int_int): New.
+ * hooks.h (hook_void_int_int): Declare.
+ * opts.c: Don't include tm_p.h.
+ (decode_options): Use targetm.target_option.optimization instead
+ of OPTIMIZATION_OPTIONS.
+ * system.h (OPTIMIZATION_OPTIONS): Poison.
+ * config/arm/arm-protos.h (arm_optimization_options): Remove.
+ * config/arm/arm.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (arm_optimization_options): Rename to arm_option_optimization.
+ Make static.
+ * config/arm/arm.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/cris/cris.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (cris_option_optimization): New.
+ * config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/crx/crx.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (crx_option_optimization): New.
+ * config/crx/crx.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/frv/frv-protos.h (frv_optimization_options): Remove.
+ * config/frv/frv.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (frv_optimization_options): Rename to frv_option_optimization.
+ Make static.
+ * config/frv/frv.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/h8300/h8300.c (h8300_option_optimization): New.
+ (TARGET_OPTION_OPTIMIZATION): Define.
+ * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/i386/i386-protos.h (optimization_options): Remove.
+ * config/i386/i386.c (optimization_options): Rename to
+ ix86_option_optimization. Make static.
+ (TARGET_OPTION_OPTIMIZATION): Define.
+ * config/i386/i386.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/ia64/ia64-protos.h (ia64_optimization_options): Remove.
+ * config/ia64/ia64.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (ia64_optimization_options): Rename to ia64_option_optimization.
+ Make static. Call SUBTARGET_OPTIMIZATION_OPTIONS.
+ * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): Remove. Remove
+ commented-out definition.
+ * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
+ instead of OPTIMIZATION_OPTIONS.
+ * config/m32r/m32r.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (m32r_option_optimization): New.
+ * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
+ Remove.
+ * config/mcore/mcore.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (mcore_option_optimization): New.
+ * config/mcore/mcore.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/mep/mep-protos.h (mep_optimization_options): Remove.
+ * config/mep/mep.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (mep_optimization_options): Rename to mep_option_optimization.
+ Make static. Take unused level and size parameters.
+ * config/mep/mep.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/mmix/mmix.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (mmix_option_optimization): New.
+ * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/pdp11/pdp11.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (pdp11_option_optimization): New.
+ * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/rs6000/rs6000-protos.h (optimization_options): Remove.
+ * config/rs6000/rs6000.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (optimization_options): Rename to rs6000_option_optimization.
+ Make static.
+ * config/rs6000/rs6000.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/rx/rx-protos.h (rx_set_optimization_options): Remove.
+ * config/rx/rx.c (rx_set_optimization_options): Rename to
+ rx_option_optimization. Make static. Take unused level and size
+ parameters.
+ (TARGET_OPTION_OPTIMIZATION): Define.
+ * config/rx/rx.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/s390/s390-protos.h (optimization_options): Remove.
+ * config/s390/s390.c (optimization_options): Rename to
+ s390_option_optimization. Make static. Don't mark size parameter
+ unused.
+ (TARGET_OPTION_OPTIMIZATION): Define.
+ * config/s390/s390.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/sh/sh-protos.h (sh_optimization_options): Remove.
+ * config/sh/sh.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (sh_optimization_options): Rename to sh_option_optimization. Make
+ static. Don't mark parameters unused.
+ * config/sh/sh.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/spu/spu-protos.h (spu_optimization_options): Remove.
+ * config/spu/spu.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (spu_optimization_options): Rename to spu_option_optimization.
+ Make static.
+ * config/spu/spu.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/v850/v850.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (v850_option_optimization): New.
+ * config/v850/v850.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/xtensa/xtensa.c (TARGET_OPTION_OPTIMIZATION): Define.
+ (xtensa_option_optimization): New.
+ * config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Remove.
+
+2010-09-16 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
+ (C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS.
+ * doc/tm.texi: Regenerate.
+ * system.h (OVERRIDE_OPTIONS): Poison.
+ * target.def (override): Default to hook_void_void.
+ * targhooks.c (default_target_option_override): Remove.
+ * genmodes.c, machmode.def: Update comments mentioning
+ OVERRIDE_OPTIONS.
+ * config/alpha/alpha-modes.def: Update comment mentioning
+ alpha_override_options.
+ * config/alpha/alpha-protos.h (override_options): Remove.
+ * config/alpha/alpha.c (override_options): Rename to
+ alpha_option_override. Call SUBTARGET_OVERRIDE_OPTIONS. Make static.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove.
+ * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead
+ of OVERRIDE_OPTIONS.
+ * config/arc/arc-protos.h (arc_init): Remove.
+ * config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define.
+ (arc_init): Rename to arc_option_override. Make static.
+ * config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment.
+ (OVERRIDE_OPTIONS): Remove.
+ * config/arm/arm-protos.h (arm_override_options): Remove.
+ * config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define.
+ (arm_override_options): Rename to arm_option_override. Make
+ static. Call SUBTARGET_OVERRIDE_OPTIONS.
+ * config/arm/arm.h (OVERRIDE_OPTIONS): Remove.
+ * config/arm/arm.md: Update comment referring to arm_override_options.
+ * config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
+ instead of OVERRIDE_OPTIONS.
+ * config/avr/avr-protos.h (avr_override_options): Remove.
+ * config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define.
+ (avr_override_options): Rename to avr_option_override. Make static.
+ * config/avr/avr.h (OVERRIDE_OPTIONS): Remove.
+ * config/bfin/bfin-protos.h (override_options): Remove (twice).
+ * config/bfin/bfin.c (override_options): Rename to
+ bfin_option_override. Make static.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove.
+ * config/cris/cris-protos.h (cris_override_options): Remove.
+ * config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define.
+ (cris_override_options): Rename to cris_option_override. Make static.
+ * config/cris/cris.h (OVERRIDE_OPTIONS): Remove.
+ * config/frv/frv-protos.h (frv_override_options): Remove.
+ * config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define.
+ (frv_override_options): Rename to frv_option_override. Make static.
+ * config/frv/frv.h (OVERRIDE_OPTIONS): Remove.
+ * config/h8300/h8300-protos.h (h8300_init_once): Remove.
+ * config/h8300/h8300.c (h8300_init_once): Rename to
+ h8300_option_override. Make static.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove.
+ * config/i386/i386-protos.h (override_options): Remove.
+ * config/i386/i386.c (override_options): Rename to
+ ix86_option_override_internal. Make static. Comments referring
+ to this function and callers changed.
+ (ix86_option_override): New.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/i386/i386.h (OVERRIDE_OPTION): Remove.
+ * config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update comment.
+ * config/ia64/ia64.c (ia64_file_start): Update comment referring
+ to ia64_override_options.
+ * config/iq2000/iq2000-protos.h (override_options): Remove.
+ * config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define.
+ (override_options): Rename to iq2000_option_override. Make static.
+ * config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove.
+ * config/lm32/lm32-protos.h (lm32_override_options): Remove.
+ * config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define.
+ (lm32_override_options): Rename to lm32_option_override. Make static.
+ * config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove.
+ * config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define.
+ (m32r_option_override): New.
+ (m32r_init): Update comment.
+ * config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove.
+ * config/m68hc11/m68hc11-protos.h (m68hc11_override_options): Remove.
+ * config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define.
+ (m68hc11_override_options): Rename to m68hc11_option_override.
+ Make static. Return void.
+ * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove.
+ * config/m68k/m68k-protos.h (override_options): Remove.
+ * config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define.
+ (override_options): Rename to m68k_option_override. Make static.
+ * config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove.
+ * config/mcore/mcore-protos.h (mcore_override_options): Remove.
+ * config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define.
+ (mcore_override_options): Rename to mcore_option_override. Make
+ static.
+ * config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove.
+ * config/mep/mep-protos.h (mep_override_options): Remove.
+ * config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define.
+ (mep_override_options): Rename to mep_option_override. Make static.
+ * config/mep/mep.h (OVERRIDE_OPTIONS): Remove.
+ * config/mmix/mmix-protos.h (mmix_override_options): Remove.
+ * config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define.
+ (mmix_override_options): Rename to mmix_option_override. Make static.
+ * config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove.
+ * config/mn10300/mn10300-protos.h (mn10300_override_options): Remove.
+ * config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define.
+ (mn10300_override_options): Rename to mn10300_option_override.
+ Make static.
+ * config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove.
+ * config/moxie/moxie-protos.h (moxie_override_options): Remove.
+ * config/moxie/moxie.c (moxie_override_options): Rename to
+ moxie_option_override. Make static.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove.
+ * config/picochip/picochip-protos.h (picochip_override_options):
+ Remove. Update comment referring to picochip_override_options.
+ * config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define.
+ (picochip_override_options): Rename to picochip_option_override.
+ Make static. Update comment and definition of
+ TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.
+ * config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove.
+ * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+ * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+ * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+ * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+ * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+ * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define
+ instead of OVERRIDE_OPTIONS.
+ * config/rs6000/rs6000-modes.def: Update comment referring to
+ rs6000_override_options.
+ * config/rs6000/rs6000-protos.h (rs6000_override_options): Remove.
+ * config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define.
+ (rs6000_override_options): Rename to
+ rs6000_option_override_internal. Make static. Commented
+ referring to rs6000_override_options and OVERRIDE_OPTIONS updated.
+ (rs6000_option_override): New.
+ * config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define
+ instead of OVERRIDE_OPTIONS.
+ * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+ * config/s390/s390-protos.h (override_options): Remove.
+ * config/s390/s390.c (override_options): Rename to
+ s390_option_override. Make static.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/s390/s390.h (OVERRIDE_OPTIONS): Remove.
+ * config/score/score-protos.h (score_override_options): Remove.
+ * config/score/score.c (TARGET_OPTION_OVERRIDE): Define.
+ (score_override_options): Rename to score_option_override. Make
+ static.
+ * config/score/score.h (OVERRIDE_OPTIONS): Remove.
+ Update comment referring to override_options.
+ * config/score/score3.c (score3_override_options): Rename to
+ score3_option_override.
+ * config/score/score3.h (score3_override_options): Rename to
+ score3_option_override.
+ * config/score/score7.c (score7_override_options): Rename to
+ score7_option_override.
+ * config/score/score7.h (score7_override_options): Rename to
+ score7_option_override.
+ * config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS.
+ * config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define.
+ (sparc_override_options): Rename to sparc_option_override. Make
+ static. Call SUBTARGET_OVERRIDE_OPTIONS.
+ * config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove.
+ * config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
+ instead of OVERRIDE_OPTIONS.
+ * config/spu/spu-protos.h (spu_override_options): Remove.
+ * config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define.
+ (spu_override_options): Rename to spu_option_override. Make
+ static.
+ * config/spu/spu.h (OVERRIDE_OPTIONS): Remove.
+ * config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of
+ OVERRIDE_OPTIONS.
+ * config/vax/vax-protos.h (override_options): Remove.
+ * config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define.
+ (override_options): Rename to vax_option_override. Make static.
+ Call SUBTARGET_OVERRIDE_OPTIONS.
+ * config/vax/vax.h (OVERRIDE_OPTIONS): Remove.
+ * config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS.
+ * config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS.
+ * config/xtensa/xtensa-protos.h (override_options): Remove.
+ * config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define.
+ (override_options): Rename to xtensa_option_override. Make static.
+ * config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove.
+
+2010-09-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45623
+ * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust.
+ (get_constraint_for_component_ref): If computing a constraint
+ for the rhs handle type punning through unions.
+ (get_constraint_for_address_of): Adjust.
+ (get_constraint_for_1): Likewise.
+ (get_constraint_for): Likewise.
+ (get_constraint_for_rhs): New function.
+ (do_structure_copy): Adjust.
+ (make_constraint_to): Likewise.
+ (handle_const_call): Likewise.
+ (find_func_aliases): Likewise.
+ (process_ipa_clobber): Likewise.
+ (create_variable_info_for): Likewise.
+
+2010-09-16 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vectorizer.c: Fix documentation.
+ * tree-vectorizer.h (vinfo_for_stmt): Add documentation.
+ (set_vinfo_for_stmt, get_earlier_stmt, get_later_stmt,
+ is_pattern_stmt_p, is_loop_header_bb_p,
+ stmt_vinfo_set_inside_of_loop_cost,
+ stmt_vinfo_set_outside_of_loop_cost, vect_pow2, aligned_access_p,
+ known_alignment_for_access_p): Likewise.
+ * tree-vect-loop.c: Fix documentation.
+ (vect_get_cost): Start function name from new line.
+ * tree-vect-data-refs.c: Fix documentation.
+ * tree-vect_stmts.c: Likewise.
+ (vect_create_vectorized_promotion_stmts): Always free vec_tmp.
+ (vectorizable_store): Free vec_oprnds if allocated.
+ (vectorizable_condition): Initialize several variables to avoid
+ warnings.
+ * tree-vect-slp.c: Fix documentation.
+
+2010-09-16 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL
+ is TS_TRANSLATION_UNIT_DECL.
+ (initialize_tree_contains_struct): Adjust.
+ (all_translation_units): New global vector.
+ (build_translation_unit_decl): New function.
+ * tree.h (TRANSLATION_UNIT_LANGUAGE): New macro.
+ (struct tree_translation_unit_decl): New.
+ (all_translation_units): Declare.
+ (union tree_node): Add translation_unit_decl member.
+ (build_translation_unit_decl): Declare.
+ * treestruct.def (TS_TRANSLATION_UNIT_DECL): New.
+ * lto-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
+ New function.
+ (pack_value_fields): Call it.
+ (lto_output_tree_ref): Handle references to TRANSLATION_UNIT_DECL.
+ (lto_output_ts_translation_unit_decl_tree_pointers): New function.
+ (lto_output_tree_pointers): Call it.
+ * lto-streamer-in.c (lto_input_tree_ref): Handle references
+ to TRANSLATION_UNIT_DECL.
+ (unpack_ts_translation_unit_decl_value_fields): New function.
+ (unpack_value_fields): Call it.
+ (lto_input_ts_translation_unit_decl_tree_pointers): New function.
+ (lto_input_tree_pointers): Call it.
+ * lto-streamer.c (check_handled_ts_structures): Adjust.
+ * lto-streamer.h (enum LTO_tags): Add LTO_translation_unit_decl_ref.
+ * c-decl.c (all_translation_units): Remove.
+ (pop_scope): Use build_translation_unit_decl.
+ (collect_all_refs): Adjust.
+ (for_each_global_decl): Likewise.
+ (c_write_global_declarations): Likewise.
+
+2010-09-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/45686
+ * fold-const.c (fold_checksum_tree): Change slot from const void **
+ to void **, use CONST_CAST_TREE to store into *slot.
+
+2010-09-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md: Remove unneeded empty conditions and
+ preparation statements from expanders.
+ * config/i386/mmx.md: Ditto.
+ * config/i386/sse.md: Ditto.
+
+2010-09-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD.
+
+2010-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/45593
+ * reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit
+ insns that were in delay slots as stand-alone insns.
+
+2010-09-15 Ian Lance Taylor <iant@google.com>
+
+ * incpath.c (remove_duplicates): If name is not a directory, issue
+ a warning rather than an error.
+
+2010-09-15 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/45644
+ * tree-sra.c (create_access): Check for bit-fields directly.
+
+2010-09-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/45633
+ * tree-cfg.c (verify_gimple_assign_binary): Allow
+ MINUS_EXPR with lhs and rhs1 pointer vector and
+ rhs2 sizetype vector.
+ * expr.c (expand_expr_real_2) <case PLUS_EXPR>: For pointer
+ or vector pointer use TER to optimize pointer subtraction.
+
+2010-09-15 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/vfp.md (cmpsf_trap_vfp): Change type from
+ fcmpd to fcmps.
+
+2010-09-15 Ian Lance Taylor <iant@google.com>
+
+ * config/i386/i386.md (truncxf<mode>2): Fix indentation.
+
+2010-09-15 Ian Lance Taylor <iant@google.com>
+
+ * function.c (get_arg_pointer_save_area): Set
+ arg_pointer_save_area_init to true.
+
+2010-09-15 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (generate_subtree_copies): Updated comment.
+ (handle_unscalarized_data_in_subtree): Removed parameter lhs which is
+ obtained from the statement iterator instead.
+ (load_assign_lhs_subreplacements): Removed parameters lhs and
+ right_offset, which is obtained from top_racc instead. Parameter lacc
+ is now expected to be the root of the processed tree rather than root's
+ first child. Updated all callers.
+
+2010-09-15 Joseph Myers <joseph@codesourcery.com>
+
+ * config/pdp11/pdp11.c (register_move_cost): Rename to
+ pdp11_register_move_cost.
+ * config/pdp11/pdp11-protos.h (register_move_cost): Rename to
+ pdp11_register_move_cost.
+ * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Call
+ pdp11_register_move_cost instead of register_move_cost.
+
+2010-09-15 Tejas Belagod <tejas.belagod@arm.com>
+
+ * config/arm/neon.md (vec_pack_trunc_<mode>): Instruction
+ pattern for vmovn. Expansion in case of non
+ -mvectorize-with-neon-quad.
+ (neon_vec_pack_trunc_<mode>): Instruction pattern for vmovn for
+ non- -mvectorize-with-neon-quad case.
+ (move_lo_quad_<mode>): New expansion to vmov into low part.
+ (move_hi_quad_<mode>): New expansion to vmov into high part.
+ (move_lo_quad_v4si): Refactor to move_lo_quad_<mode> expansion.
+ (move_lo_quad_v4sf): Likewise.
+ (move_lo_quad_v8hi): Likewise.
+ (neon_move_lo_quad_<mode>): Instruction pattern for vmov into
+ low part.
+ (neon_move_hi_quad_<mode>): Instruction pattern for vmov into
+ high part.
+ * config/arm/iterators.md (ANY128): New mode iterator.
+ (V_narrow_pack): New mode attribute.
+ (V_HALF): Add attribute.
+ (V_DOUBLE): Add attribute.
+ (V_mode_nunits): Add attribute.
+
+2010-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/alpha/alpha.c (alpha_expand_prologue): If stack checking
+ is enabled, probe up to frame_size + STACK_CHECK_PROTECT bytes.
+
+2010-09-15 Olivier Hainque <hainque@adacore.com>
+ Jose Ruiz <ruiz@adacore.com>
+
+ * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Define.
+ * config/alpha/osf5-unwind.h: New file.
+
+2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/45672
+ * config/mips/mips.c (mips_units_per_simd_word): Correct return type.
+ * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
+ * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
+
+2010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * c-lang.h (struct lang_type): Add variable_size GTY option.
+
+2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/45672
+ * config/rs6000/rs6000.c (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
+
+2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_lea_for_add_ok): Return false if
+ result isn't used in memory address.
+
+2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * defaults.h (UNITS_PER_SIMD_WORD): Removed.
+ * config/arm/arm.h (UNITS_PER_SIMD_WORD): Likewise.
+ * config/i386/i386.h (UNITS_PER_SIMD_WORD): Likewise.
+ * config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
+ * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
+ * config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
+
+ * target.def: Add units_per_simd_word to vectorize.
+
+ * targhooks.c (default_units_per_simd_word): New.
+ * targhooks.h (default_units_per_simd_word): Likewise.
+ * config/arm/arm.c (arm_units_per_simd_word): Likewise.
+ (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
+ * config/mips/mips.c (mips_units_per_simd_word): Likewise.
+ (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
+ * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
+ (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
+ * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
+ (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
+
+ * tree-vect-loop.c: Replace UNITS_PER_SIMD_WORD with
+ TARGET_VECTORIZE_UNITS_PER_SIMD_WORD in comments.
+
+ * tree-vect-stmts.c: Don't include "tm_p.h".
+ (get_vectype_for_scalar_type): Replace UNITS_PER_SIMD_WORD
+ with targetm.vectorize.units_per_simd_word.
+
+ * system.h (UNITS_PER_SIMD_WORD): Poisoned.
+
+ * config/i386/i386-protos.h (ix86_units_per_simd_word): Removed.
+
+ * config/i386/i386.c (ix86_units_per_simd_word): Make it static.
+ (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
+
+ * doc/tm.texi.in: Remove UNITS_PER_SIMD_WORD. Add
+ TARGET_VECTORIZE_UNITS_PER_SIMD_WORD.
+
+ * doc/tm.texi: Regenerated.
+
+2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * tree-vect-stmts.c: Include "tm_p.h".
+
+ * config/i386/i386-protos.h (ix86_units_per_simd_word): Moved
+ out of RTX_CODE.
+
+2010-09-14 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (build_ref_for_offset): Loc made a parameter. Set the
+ location of generated statement. Changed all callers.
+ (build_ref_for_model): New parameter loc which used to set location of
+ all generated expressions. Changed all callers.
+ (generate_subtree_copies): Likewise.
+ (init_subtree_with_zero): Likewise.
+ (sra_modify_expr): Set locations of all generated statements and
+ expressions to the location the original statement.
+ (handle_unscalarized_data_in_subtree): Likewise.
+ (load_assign_lhs_subreplacements): Likewise.
+ (sra_modify_constructor_assign): Likewise.
+ (sra_modify_assign): Likewise.
+
+2010-09-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/45277
+ PR target/45363
+ PR target/45407
+ * doc/install.texi (sparc*-*-*): New section.
+ (sparc-sun-solaris2*): Mention MPC alongside GMP and MPFR.
+
+2010-09-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/45567
+ * builtins.c (expand_builtin_interclass_mathfn, expand_builtin_cexpi,
+ expand_builtin_powi): Remove subtarget argument, pass NULL_RTX instead.
+ (expand_builtin): Adjust caller.
+ (expand_builtin_unop): Only use subtarget if it has the right mode.
+
+2010-09-14 Tristan Gingold <gingold@adacore.com>
+
+ * configure.ac (plugins): Fix typos.
+ * configure: Regenerate.
+
+2010-09-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45660
+ * dwarf2out.c (gen_decl_die): Call gen_type_die for origin before
+ gen_type_die for function/method return type.
+
+2010-09-14 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/45470
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
+ can throw an exception.
+ * tree-vect-stmts.c (vectorizable_call): Likewise.
+
+2010-09-14 DJ Delorie <dj@redhat.com>
+
+ PR target/44749
+ * config/mep/mep-protos.h (mep_save_register_info,
+ mep_reinit_regs, mep_init_regs): Declare.
+
+ * config/mep/mep.c: Move all target definitions to the end of the
+ file to avoid the need for duplicate declarations.
+ (mep_save_register_info, mep_reinit_regs, mep_init_regs): New.
+ (mep_reorg_erepeat): Remove unused variables.
+ (mep_expand_builtin): Likewise.
+
+ * config/mep/mep-pragma.c: Don't include rtl.h.
+ (INVALID_REGNUM): New.
+ (mep_pragma_coprocessor_which): Call mep-specific rtl-layer bridge
+ functions.
+ (mep_pragma_coprocessor_subclass): Rename "class" to "rclass".
+ Avoid enum/integer math.
+
+2010-09-13 Joseph Myers <joseph@codesourcery.com>
+
+ PR target/44749
+ * config/mep/t-mep (GTM_H): Add insn-constants.h.
+ * config/mep/mep.c (mep_conditional_register_usage): Take no
+ parameters.
+ * config/mep/mep-protos.h (mep_conditional_register_usage): Update
+ prototype.
+ * config/mep/mep-pragma.c (CONDITIONAL_REGISTER_USAGE): Update
+ call to mep_conditional_register_usage.
+
+2010-09-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR debug/43937
+ * varasm.c (output_constant_def_contents): Set TREE_ASM_WRITTEN on
+ the DECL as well.
+
+2010-09-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/45617
+ * combine.c (simplify_comparison): Optimize (X >> N) {>,>=,<,<=} C
+ even if low N bits of X aren't known to be zero.
+
+2010-09-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386-protos.h (ix86_units_per_simd_word): New.
+
+ * config/i386/i386.c (initial_ix86_tune_features): Add
+ X86_TUNE_VECTORIZE_DOUBLE.
+ (ix86_units_per_simd_word): New.
+
+ * config/i386/i386.h (ix86_tune_indices): Add
+ X86_TUNE_VECTORIZE_DOUBLE.
+ (TARGET_VECTORIZE_DOUBLE): New.
+ (UNITS_PER_SIMD_WORD): Defined with ix86_units_per_simd_word.
+
+2010-09-13 Pat Haugen <pthaugen@us.ibm.com>
+
+ * tree-ssa-ter.c (temp_expr_table_d): Add call_cnt field.
+ (new_temp_expr_table): Allocate call_cnt vector.
+ (free_temp_expr_table): Free it.
+ (process_replaceable): Add call_cnt parm and set in vector.
+ (find_replaceable_in_bb): Skip replacement if def/use span a call.
+ (debug_ter): Dump call_cnt value, remove stderr uses.
+
+2010-09-13 Jan Hubicka <jh@suse.cz>
+
+ * tree.c (build_zero_cst): New.
+ * tree.h (build_zero_cst): Declare.
+ * tree-ssa-ccp.c (get_constant_value): Accept general operands.
+ (get_base_constructor): Break out from ...
+ (fold_const_aggregate_ref): Here; handle empty constructors.
+
+2010-09-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * config/arm/arm.md: (define_attr "conds"): Update comment.
+ * config/arm/sync.md (arm_sync_compare_and_swapsi): Change
+ conds attribute to clob.
+ (arm_sync_compare_and_swapsi): Likewise.
+ (arm_sync_compare_and_swap<mode>): Likewise.
+ (arm_sync_lock_test_and_setsi): Likewise.
+ (arm_sync_lock_test_and_set<mode>): Likewise.
+ (arm_sync_new_<sync_optab>si): Likewise.
+ (arm_sync_new_nandsi): Likewise.
+ (arm_sync_new_<sync_optab><mode>): Likewise.
+ (arm_sync_new_nand<mode>): Likewise.
+ (arm_sync_old_<sync_optab>si): Likewise.
+ (arm_sync_old_nandsi): Likewise.
+ (arm_sync_old_<sync_optab><mode>): Likewise.
+ (arm_sync_old_nand<mode>): Likewise.
+
+2010-09-13 Olivier Hainque <hainque@adacore.com>
+
+ * fwprop.c (forward_propagate_and_simplify): Only attach a
+ REG_EQUAL note to an insn if the destination is a register.
+ * gcse.c (try_replace_reg): Likewise.
+
+2010-09-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45611
+ * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fix typo.
+ (copy_ref_info): Likewise.
+
+2010-09-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/45604
+ PR debug/45419
+ PR debug/45408
+ * tree-pretty-print.c (dump_generic_node): Disregard top-level
+ types of MEM_REF pointer types to the same type.
+
+2010-09-13 Hans-Peter Nilsson <hp@axis.com>
+
+ PR rtl-optimization/41087
+ * ifcvt.c (noce_get_condition): Don't allow conditions with
+ side-effects.
+
+2010-09-12 Anatoly Sokolov <aesok@post.ru>
+
+ * config/frv/frv.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
+ * config/frv/frv-protos.h (frv_register_move_cost): Remove.
+ * config/frv/frv.c (frv_register_move_cost): Make static. Change
+ arguments type to reg_class_t. Add mode argument.
+ (frv_memory_move_cost): New.
+ (TARGET_REGISTER_MOVE_COSTS, TARGET_MEMORY_MOVE_COSTS): Define.
+
+2010-09-12 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/arm/arm.md (arm_ashldi3_1bit, arm_ashrdi3_1bit,
+ arm_lshrdi3_1bit): Put earlyclobber on the right alternative.
+
+2010-09-10 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-ccp.c (fold_const_aggregate_ref): Do not check STATIC flag.
+
+2010-09-10 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE.
+ * tree.h (TYPE_DEBUG_REPRESENTATION_TYPE): Remove.
+ * lto-streamer-out.c (lto_output_ts_type_tree_pointers): Do
+ not stream TYPE_DEBUG_REPRESENTATION_TYPE.
+ * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Likewise.
+
+2010-09-10 Richard Guenther <rguenther@suse.de>
+
+ * dwarf2out.c (gen_array_type_die): Output DW_TAG_subrange_type
+ for VECTOR_TYPEs using TYPE_VECTOR_SUBPARTS.
+ * dbxout.c (dbxout_type): Manually deal with VECTOR_TYPE
+ using TYPE_VECTOR_SUBPARTS, not TYPE_DEBUG_REPRESENTATION_TYPE.
+
+2010-09-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/45634
+ * tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result
+ of string folding is of integral type.
+
+2010-09-10 Ryan Mansfield <rmansfield@qnx.com>
+
+ * doc/invoke.texi (-x): Fix typo.
+
+2010-09-10 Richard Guenther <rguenther@suse.de>
+
+ PR debug/44115
+ * tree.c (free_lang_data_in_decl): Do not clear DECL_DEBUG_EXPR.
+ * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
+ Output DECL_DEBUG_EXPR.
+ * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
+ Input DECL_DEBUG_EXPR.
+
+2010-09-10 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (type_hash_eq): For ARRAY_TYPEs also compare TYPE_SIZE.
+ (build_index_type): Implement in terms of build_range_type.
+ (build_range_type): Do not allow NULL_TREE type, improve
+ hashing to cover more cases. Set TYPE_STRUCTURAL_EQUALITY_P
+ if we didn't hash.
+ * c-decl.c (grokdeclarator): When modifying TYPE_SIZE manually
+ create a distinct copy of the type.
+
+2010-09-10 Kai Tietz <kai.tietz@onevision.com>
+
+ * configure: Regenerated.
+ * config.gcc: Add for x86_64 and i?86 mingw t-dfprule.
+
+2010-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/neon-schedgen.ml (allCores): Add support for Cortex-A9.
+ * config/arm/cortex-a9-neon.md: New and partially generated.
+ * config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon.
+
+2010-09-10 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (build_index_2_type): Remove.
+ * tree.c (build_index_2_type): Remove.
+
+2010-09-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/45630
+ * dwarf2out.c (get_ref_die_offset_label): Use %ld instead of
+ HOST_WIDE_INT_PRINT_DEC to print ref->die_offset.
+ (implicit_ptr_descriptor): Return NULL if dwarf_strict.
+
+2010-09-10 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/44972
+ * tree-sra.c: Include toplev.h.
+ (build_ref_for_offset): Entirely reimplemented.
+ (build_ref_for_model): New function.
+ (build_user_friendly_ref_for_offset): New function.
+ (analyze_access_subtree): Removed build_ref_for_offset check.
+ (propagate_subaccesses_across_link): Likewise.
+ (create_artificial_child_access): Use
+ build_user_friendly_ref_for_offset.
+ (propagate_subaccesses_across_link): Likewise.
+ (ref_expr_for_all_replacements_p): Removed.
+ (generate_subtree_copies): Updated comment. Use build_ref_for_model.
+ (sra_modify_expr): Use build_ref_for_model.
+ (load_assign_lhs_subreplacements): Likewise.
+ (sra_modify_assign): Removed ref_expr_for_all_replacements_p checks,
+ checks for return values of build_ref_for_offset.
+ * ipa-cp.c (ipcp_lattice_from_jfunc): No need to check return value of
+ build_ref_for_offset.
+ * ipa-prop.h: Include gimple.h
+ * ipa-prop.c (ipa_compute_jump_functions): Update to look for MEM_REFs.
+ (ipa_analyze_indirect_call_uses): Update comment.
+ * Makefile.in (tree-sra.o): Add $(GIMPLE_H) to dependencies.
+ (IPA_PROP_H): Likewise.
+
+2010-09-10 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/44972
+ * ipa-prop.c (ipa_modify_call_arguments): Build MEM_REF instead of
+ calling build_ref_for_offset.
+
+2010-09-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Handle Cortex-a15.
+ * config/arm/arm-cores.def (cortex-a15): New core. Treat it as a v7-a.
+ * config/arm/arm-tune.md: Regenerate.
+ * doc/invoke.texi (ARM Options): Document it.
+
+2010-09-09 Reza Yazdani <reza.yazdani@amd.com>
+
+ * config/i386/i386.c: Include sched-int.h.
+ (TARGET_SCHED_DISPATCH): Defined.
+ (TARGET_SCHED_DISPATCH_DO): Defined.
+ (DISPATCH_WINDOW_SIZE): Defined.
+ (MAX_DISPATCH_WINDOWS): Defined.
+ (MAX_INSN): Defined.
+ (MAX_IMM): Defined.
+ (MAX_IMM_SIZE): Defined.
+ (MAX_IMM_32): Defined.
+ (MAX_IMM_64): Defined.
+ (MAX_LOAD): Defined.
+ (MAX_STORE): Defined.
+ (BIG): Defined.
+ (dispatch_group): New.
+ (num_allowable_groups): New.
+ (group_name): New.
+ (sched_insn_info_s): New.
+ (dispatch_windows_s): New.
+ (imm_info_s): New.
+ (dispatch_window_list): New.
+ (dispatch_window_list1): New.
+ (get_mem_group): New.
+ (is_cmp): New.
+ (dispatch_violation): New.
+ (is_branch): New.
+ (is_prefetch): New.
+ (init_window): New.
+ (allocate_window): New.
+ (init_dispatch_sched): New.
+ (is_end_basic_block): New.
+ (process_end_window): New.
+ (allocate_next_window): New.
+ (find_constant_1): New.
+ (find_constant): New.
+ (get_num_immediates): New.
+ (has_immediate): New.
+ (get_insn_path): New.
+ (get_insn_group): New.
+ (count_num_restricted): New.
+ (fits_dispatch_window): New.
+ (add_insn_window): New.
+ (add_to_dispatch_window): New.
+ (debug_dispatch_window_file): New.
+ (debug_dispatch_window): New.
+ (debug_insn_dispatch_info_file): New.
+ (debug_ready_dispatch): New.
+ (do_dispatch): New.
+ (has_dispatch): New.
+ * config/i386/i386.h (debug_ready_dispatch): Declared.
+ (debug_dispatch_window): Declared.
+ * config/i386/i386.opt (mdispatch-scheduler): New flag.
+ * doc/tm.texi.in (TARGET_SCHED_DISPATCH): New.
+ (TARGET_SCHED_DISPATCH_DO): New.
+ * doc/tm.texi: Regererated.
+ * haifa-sched.c (choose_ready): Call targetm.sched.dispatch and
+ ready_remove_first_dispatch
+ (schedule_block): Call targetm.sched.dispatch and
+ targetm.sched.dispatch_do.
+ (sched_init): Call targetm.sched.dispatch and
+ targetm.sched.dispatch_do.
+ (ready_remove_first_dispatch): New.
+ (number_in_ready): New.
+ (get_ready_element): New.
+ * hooks.c (hook_bool_rtx_int_false): New.
+ (hook_void_rtx_int): New.
+ * hooks.h (hook_bool_rtx_int_false): Declared.
+ (hook_void_rtx_int): Declared.
+ * sched-int.h (IS_DISPATCH_ON): Defined.
+ (IS_CMP): Defined.
+ (DISPATCH_VIOLATION): Defined.
+ (FITS_DISPATCH_WINDOW): Defined.
+ (DISPATCH_INIT): Defined.
+ (ADD_TO_DISPATCH_WINDOW): Defined.
+ (get_ready_element): Declared.
+ (number_in_ready): Declared.
+ * target.def (dispatch): Defined.
+ (dispatch_do): Defined.
+
+2010-09-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/45312
+ * reload1.c (merge_assigned_reloads): Remove.
+ (reload_as_needed): Don't call it.
+
+2010-09-09 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32r/m32r.c (m32r_mode_dependent_address_p): New functions.
+ (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+ * config/m32r/m32r.h: (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
+
+2010-09-09 Matthias Klose <doko@ubuntu.com>
+
+ PR bootstrap/43847
+ * configure.ac (--enable-plugin): Enhance for cross builds.
+ * configure: Regenerate.
+
+2010-09-09 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/45598
+ * tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result of
+ string folding is of integral type.
+
+2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * configure.ac (gnu_indirect_function): New test.
+ * configure: Rebuilt.
+ * config.in (HAVE_GAS_INDIRECT_FUNCTION): New.
+ * defaults.h (IFUNC_ASM_TYPE): Provide default.
+
+ * doc/extend.texi (Function Attributes): Document ifunc.
+ * varasm.c (do_assemble_alias): Deal with ifuncs too.
+
+2010-09-09 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (picochip_reorg): Check for note_p for
+ epilogue instruction move.
+
+2010-09-09 Jan Hubicka <jh@suse.cz>
+
+ * collect2.c (maybe_run_lto_and_relink): Rewrite code producing ld
+ command line to allow more partitions than input files.
+
+2010-09-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/44554
+ * ira.c (ira): Switch off sharing spill slots if setjmp is called.
+
+2010-09-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/40386
+ * ira.c (pseudo_for_reload_consideration_p): Don't use
+ flag_ira_share_spill_slots.
+
+2010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/s390/s390.c (legitimate_reload_constant_p): Accept floating-
+ point zero operands that fit into a single GPR.
+ (s390_preferred_reload_class): Ensure we only return general-purpose
+ register classes.
+ * config/s390/s390.md ("*mov<mode>_64dfp"): Use lghi to load
+ floating-point zero operands into GPRs.
+ ("*mov<mode>_64"): Likewise.
+ ("mov<mode>"): Likewise using lhi.
+
+2010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_symref_operand_p): Return false for
+ literal pool references.
+ (s390_check_qrst_address): Update caller.
+
+2010-09-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (ext_register_operand): Check that
+ SUBREG_REG is really a register before looking for REGNO.
+ (reg_not_xmm0_operand): Handle SUBREGs correctly.
+ (nonimm_not_xmm0_operand): Call reg_not_xmm0_operand.
+
+2010-09-09 Jakub Jelinek <jakub@redhat.com>
+
+ * rtl.def (DEBUG_IMPLICIT_PTR): New rtl code.
+ * rtl.h (DEBUG_IMPLICIT_PTR_DECL): Define.
+ * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle DEBUG_IMPLICIT_PTR.
+ * print-rtl.c (print_rtx): Likewise.
+ * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
+ * cfgexpand.c (expand_debug_expr): Generate DEBUG_IMPLICIT_PTR
+ for ADDR_EXPR with non-addressable object.
+ * dwarf2out.c (enum dw_val_class): Add dw_val_class_decl_ref.
+ (struct dw_val_struct): Add v.val_decl_ref.
+ (dwarf_stack_op_name, output_loc_operands, output_loc_operands_raw):
+ Handle DW_OP_GNU_implicit_pointer.
+ (size_of_loc_descr): Likewise. Fix up DW_OP_call_ref size.
+ (get_ref_die_offset_label): New function.
+ (implicit_ptr_descriptor): New function.
+ (mem_loc_descriptor): Handle DEBUG_IMPLICIT_PTR.
+ (loc_descriptor): Likewise.
+ (gen_variable_die): Put even definitions into decl_die_table.
+ (resolve_addr_in_expr): Resolve still unresolved
+ DW_OP_GNU_implicit_pointer operands, if it can't be resolved
+ return false.
+ (dwarf2out_finish): Call output_location_lists after outputting
+ .debug_info and .debug_abbrev instead of before.
+
+2010-09-09 Roland McGrath <roland@redhat.com>
+
+ * dwarf2out.c (DWARF_REF_SIZE): Define.
+ (size_of_loc_descr): Use it for DW_OP_call_ref.
+
+2010-09-09 Alan Modra <amodra@gmail.com>
+
+ * doc/invoke.text: Reinstate mcmodel=medium.
+ * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
+ CMODEL_MEDIUM as default.
+ * config/rs6000/rs6000.h (enum rs6000_cmodel): Add CMODEL_MEDIUM.
+ * config/rs6000/rs6000.c (rs6000_handle_option): Add mcmodel=medium.
+ (toc_relative_ok, offsettable_ok_by_alignment): New functions.
+ (rs6000_emit_move): Reinstate mcmodel=medium optimization.
+
+2010-09-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/45250
+ * config/pa/pa.md (nonlocal_goto): Restore hard frame pointer using
+ hard_frame_pointer_rtx instead of virtual_stack_vars_rtx.
+ (builtin_longjmp): Likewise.
+ (allocate_stack): Use hard_frame_pointer_rtx instead of
+ frame_pointer_rtx.
+ * config/pa/pa-protos.h (pa_initial_elimination_offset): Declare.
+ * config/pa/pa.c (pa_internal_arg_pointer): Declare.
+ (pa_can_eliminate): Likewise.
+ (TARGET_INTERNAL_ARG_POINTER): Define.
+ (TARGET_CAN_ELIMINATE): Define.
+ (hppa_expand_prologue): Use hard frame pointer instead of soft frame
+ pointer.
+ (hppa_expand_epilogue, pa_eh_return_handler_rtx): Likewise.
+ (pa_internal_arg_pointer, pa_can_eliminate,
+ pa_initial_elimination_offset): New.
+ * config/pa/pa.h (FRAME_POINTER_REGNUM): Set to new general register.
+ (HARD_FRAME_POINTER_REGNUM): Set to register three.
+ (INITIAL_FRAME_POINTER_OFFSET): Delete.
+ (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET, DWARF_FRAME_REGISTERS):
+ Define.
+ (DWARF_ALT_FRAME_RETURN_COLUMN, REGNO_OK_FOR_INDEX_P,
+ REGNO_OK_FOR_BASE_P): Update to include soft frame pointer.
+ * config/pa/pa32-regs.h (FIRST_PSEUDO_REGISTER): Increase by one.
+ (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
+ REG_CLASS_CONTENTS, REGNO_REG_CLASS, REGISTER_NAMES): Update to include
+ new soft frame pointer.
+ * config/pa/pa64-regs.h: Likewise.
+
+2010-09-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (EH_RETURN_DATA_REGNO) Use DX_REG instead of
+ numerical constant.
+ (EH_RETURN_STACKADJ_RTX): Use CX_REG insted of numerical constant.
+
+2010-09-08 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/45531
+ * cfglayout.c (fixup_reorder_chain): Skip debug insns.
+
+2010-09-08 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/45419
+ PR debug/45408
+ * tree-pretty-print.c (dump_generic_node): Disregard top-level
+ qualifiers in otherwise equal MEM_REF pointer types.
+ * fold-const.c (operand_equal_p): Compare pointer type of MEM_REFs.
+ * tree.c (iterative_hash_expr): Hash the pointer type of MEM_REFs.
+
+2010-09-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/44392
+ * config/arm/arm.md (bswapsi2): Handle condition correctly
+ for armv6 and optimize_size.
+
+2010-09-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR other/18555
+ * doc/cppopts.texi (-isysroot): Document Darwin behaviour.
+
+2010-09-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-protos.h (ix86_can_use_return_insn_p,
+ symbolic_reference_mentioned_p, ix86_expand_movmem, ix86_expand_setmem,
+ ix86_expand_strlen, legitimate_pic_address_disp_p,
+ ix86_binary_operator_ok, ix86_unary_operator_ok, ix86_match_ccmode,
+ ix86_expand_int_movcc, ix86_expand_fp_movcc, ix86_expand_int_addcc,
+ ix86_check_movabs, ix86_secondary_memory_needed): Change function
+ prototype to bool.
+ * config/i386/i386.c (return_in_memory_32, return_in_memory_64,
+ return_in_memory_ms_64, ix86_check_movabs,
+ symbolic_reference_mentioned_p, ix86_can_use_return_insn_p,
+ legitimate_pic_address_disp_p, ix86_binary_operator_ok,
+ ix86_unary_operator_ok, ix86_match_ccmode, ix86_expand_int_movcc,
+ ix86_expand_fp_movcc, ix86_expand_int_addcc, ix86_expand_movmem,
+ ix86_expand_setmem, ix86_expand_strlen, inline_secondary_memory_needed,
+ ix86_secondary_memory_needed): Change to bool. Return
+ "true" and "false" values.
+ * config/i386/i386.md: Return "true" and "false" values.
+
+2010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (Effective-Target Keywords): Document
+ run_expensive_tests.
+
+2010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * toplev.c (output_stack_usage): Use lbasename instead of basename.
+
+2010-09-08 Martin Jambor <mjambor@suse.cz>
+
+ PR other/45443
+ * doc/invoke.texi: Add -fipa-cp-clone to list of switches turned on
+ at -O3.
+
+2010-09-08 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_types, type_hash_cache): Move to GC memory.
+ (visit): Adjust.
+ (iterative_hash_gimple_type): Likewise.
+ (gimple_type_hash): Likewise.
+ (gimple_register_type): Likewise.
+ (print_gimple_types_stats): Likewise.
+ (free_gimple_type_tables): Likewise.
+
+2010-09-08 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/43430
+ * tree-vect-stmts.c (vectorizable_condition): Support multiple
+ copies for conditional statements if it's not part of a reduction.
+
+2010-09-08 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/33244
+ * tree-ssa-sink.c (statement_sink_location): Don't sink into
+ empty loop latches.
+
+2010-09-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45578
+ * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr):
+ Be more careful when transfering alignment information to
+ the new induction variable.
+ (copy_ref_info): Likewise.
+
+2010-09-08 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (TYPE_ORIG_SIZE_TYPE): Remove.
+ * c-typeck.c (comptypes_internal): Remove TYPE_ORIG_SIZE_TYPE checks.
+
+2010-09-08 Arnaud Charlet <charlet@adacore.com>
+
+ * c-tree.h, c-decl.c (build_enumerator): Add location parameter.
+ * c-parser.c (c_parser_enum_specifier): Adjust call to build_enumerator.
+
+2010-09-08 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR doc/45587
+ * doc/md.texi: Fixed modes on several standard pattern names.
+
+2010-09-08 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * config/mips/loongson.md (loongson_psll<V_suffix>): Rename to...
+ (ashl<mode>3): ...this.
+ (loongson_psra<V_suffix>): Rename to...
+ (ashr<mode>3): ...this.
+ (loongson_psrl<V_suffix>): Rename to...
+ (lshr<mode>3): ...this.
+ * config/mips/mips.c (CODE_FOR_loongson_psllh): Define.
+ (CODE_FOR_loongson_psllw): Define.
+ (CODE_FOR_loongson_psrlh): Define.
+ (CODE_FOR_loongson_psrlw): Define.
+ (CODE_FOR_loongson_psrah): Define.
+ (CODE_FOR_loongson_psraw): Define.
+
+2010-09-07 Richard Henderson <rth@redhat.com>
+
+ * tree-vect-data-refs.c: Include tm_p.h.
+ * Makefile.in (tree-vect-data-refs.o): Update deps.
+ * config/i386/i386-protos.h (ix86_cfun_abi, ix86_function_type_abi):
+ Move delarations outside #ifdef RTX_CODE.
+
+2010-09-07 Richard Henderson <rth@redhat.com>
+
+ * final.c (rest_of_handle_final): Unconditionally do
+ output_function_exception_table before assemble_end_function.
+
+2010-09-07 Jan Hubicka <jh@suse.cz>
+
+ * tree-inline.c (tree_inlinable_function_p): Do not test
+ DECL_REPLACEABLE_P.
+ * ipa-inline.c (cgraph_default_inline_p, update_caller_keys,
+ update_callee_keys, cgraph_decide_inlining): Test function availability.
+ * cif-code.def (OVERWRITABLE): New code.
+
+2010-09-07 H.J. Lu <hjl.tools@gmail.com>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR target/36502
+ PR target/42313
+ PR target/44651
+ * config/i386/darwin.h (STACK_BOUNDARY): Redefine as 128 for
+ profiling or 64-bit MS_ABI and as BITS_PER_WORD otherwise.
+ (PREFERRED_STACK_BOUNDARY): Replace STACK_BOUNDARY with 128 in
+ MAX macro.
+
+2010-09-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * unwind-dw2-fde-glibc.c: Include <elf.h> for DT_CONFIG.
+ Include <link.h> only if USE_PT_GNU_EH_FRAME is defined.
+
+2010-09-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Don't append t-android for Android targets.
+
+ * config/t-android: Removed.
+
+2010-09-07 Richard Henderson <rth@redhat.com>
+
+ * target.def (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): New hook.
+ * doc/tm.texi.in: Add doc marker.
+ * doc/tm.texi: Rebuild.
+ * except.c (switch_to_exception_section): Always build.
+ (output_one_function_exception_table): Move section switch,
+ personality output, and label output ...
+ (output_function_exception_table): ... here. Use the new
+ personality hook.
+
+ * config/ia64/ia64.c (ia64_asm_emit_except_personality,
+ ia64_asm_init_sections, TARGET_ASM_EMIT_EXCEPT_PERSONALITY,
+ TARGET_ASM_INIT_SECTIONS): New.
+ (ia64_asm_unwind_emit): Rename from process_for_unwind_directive,
+ make static.
+ (TARGET_ASM_UNWIND_EMIT): Update to match.
+ * config/ia64/ia64-protos.h (process_for_unwind_directive): Remove.
+
+ * config/arm/arm.c (arm_asm_emit_except_personality): New.
+ (arm_asm_init_sections): New.
+ (TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): New.
+
+2010-09-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm.md: Remove unused variable.
+
+2010-09-07 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32r/m32r.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
+ * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Define.
+ (m32r_memory_move_cost): New function.
+
+2010-09-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Append t-android for Android targets.
+
+ * config/t-android: New.
+
+2010-09-07 Richard Henderson <rth@redhat.com>
+
+ * target.def (unwind_emit_before_insn): New hook.
+ * doc/tm.texi.in: Add @hook marker for it.
+ * doc/tm.texi: Rebuild.
+ * final.c (final_scan_insn): Respect unwind_emit_before_insn.
+
+2010-09-07 Martin Jambor <mjambor@suse.cz>
+
+ PR fortran/43665
+ * ipa-cp.c (ipcp_versionable_function_p): Return false if there
+ are any type attributes.
+
+2010-09-07 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-ccp.c (fold_const_aggregate_ref): Fix handling of
+ array_ref_low_bound in string access folding.
+
+2010-09-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/45206
+ * config/i386/i386.c (ix86_expand_epilogue): Mark SP as valid after
+ eh_return fixup sequence.
+
+2010-09-07 Jan Hubicka <jh@suse.cz>
+
+ * gimple-fold.c (maybe_fold_reference): Verify that operand is
+ gimple_min_invariant.
+
+2010-09-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45569
+ * tree-eh.c (operation_could_trap_helper_p): Neither COMPLEX_EXPR
+ nor CONSTRUCTOR can trap.
+ * tree-complex.c (update_complex_assignment): Update EH info.
+
+2010-09-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45569
+ * tree-cfg.c (build_gimple_cfg): Remove redundant stmt verification.
+ * passes.c (execute_function_todo): Do not verify anything if
+ we saw errors.
+
+2010-09-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-pretty-print.c (dump_generic_node): Dump void types as void.
+
+2010-09-07 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/43137
+ * config/arm/iterators.md (qhs_zextenddi_cond, qhs_sextenddi_cond):
+ New define_mode_attrs.
+ * config/arm/arm.md (zero_extendsidi2, arm_zero_extendsidi2,
+ arm_exxtendsidi2, arm_extendsidi2): Delete patterns.
+ (zero_extend<mode>di2, extend<mode>di2 and related splits): New.
+ (thumb1_zero_extendhisi2): Remove code to handle LABEL_REFs.
+ Remove pool_range attribute.
+ (arm_zero_extendhisi2, arm_zero_extendhisi2_v6, arm_zero_extendqisi2,
+ arm_zero_extendqisi2_v6, thumb1_zero_extendqisi2_v6): Remove
+ pool_range and neg_pool_range attributes.
+ * config/arm/thumb2.md (thumb2_zero_extendsidi2,
+ thumb2_zero_extendhidi2, thumb2_zero_extendqidi2, thumb2_extendsidi2,
+ thumb2_extendhidi2, thumb2_extendqidi2): Delete.
+
+2010-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/linux-unwind.h (x86_fallback_frame_state): Properly
+ check glibc.
+
+2010-09-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/22152
+ * config/i386/mmx.md (*mov<mode>_internal_rex64,
+ *mov<mode>_internal_avx, *mov<mode>_internal,
+ *movv2sf_internal_rex64_avx, *movv2sf_internal_rex64,
+ *movv2sf_internal_avx, *movv2sf_internal): Split out !y-!y alternative.
+
+2010-09-06 Mark Mitchell <mark@codesourcery.com>
+
+ * c-typeck.c (do_warn_double_promotion): Remove.
+ * doc/invoke.texi (-Wdouble-promotion): Note available for C++ and
+ Objective-C++ too.
+
+2010-09-06 Anatoly Sokolov <aesok@post.ru>
+
+ * config/frv/frv.h (CLASS_LIKELY_SPILLED_P): Remove.
+ * config/frv/frv-protos.h (frv_class_likely_spilled_p): Remove.
+ * config/frv/frv.c (frv_class_likely_spilled_p): Make static. Change
+ argument type to reg_class_t. Change result type to bool.
+ (TARGET_CLASS_LIKELY_SPILLED_P): Define.
+
+2010-09-06 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR libobjc/19850
+ * gthr-posix.h (__gthread_objc_thread_detach): Use
+ _objc_thread_attribs when detaching a thread.
+ * gthr-posix95.h (__gthread_objc_thread_detach): Same change.
+
+2010-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/45524
+ * configure.ac (enable_decimal_float): Set to $default_decimal_float.
+ * configure: Regenerated.
+
+2010-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * combine.c (try_combine): Set subst_low_luid to i0.
+
+2010-09-06 Richard Guenther <rguenther@suse.de>
+
+ * tree.def (MISALIGNED_INDIRECT_REF): Remove.
+ * tree.h (INDIRECT_REF_P): Only check for INDIRECT_REF.
+ (build_aligned_type): Declare.
+ * tree.c (check_qualified_type): Also compare TYPE_ALIGN.
+ (check_aligned_type): New function.
+ (build_aligned_type): Likewise.
+ * expr.c (expand_assignment): Handle misaligned stores via
+ TARGET_MEM_REF and MEM_REF using movmisalign_optab.
+ (expand_expr_real_1): Likewise.
+ (safe_from_p): Remove MISALIGNED_INDIRECT_REF handling.
+ * tree-vect-stmts.c (vectorizable_store): Do not build
+ MISALIGNED_INDIRECT_REF but initialize alignment information.
+ (vectorizable_load): Likewise.
+ * builtins.c (get_object_alignment): Remove MISALIGNED_INDIRECT_REF
+ handling.
+ * cfgexpand.c (expand_debug_expr): Likewise.
+ * dwarf2out.c (loc_list_from_tree): Likewise.
+ * fold-const.c (maybe_lvalue_p): Likewise.
+ (operand_equal_p): Likewise.
+ (build_fold_addr_expr_with_type_loc): Likewise.
+ * gimplify.c (gimplify_addr_expr): Likewise.
+ (gimplify_expr): Likewise.
+ * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
+ (verify_gimple_assign_single): Likewise.
+ * tree-dump.c (dequeue_and_dump): Likewise.
+ (tree_could_trap_p): Likewise.
+ * tree-predcom.c (ref_at_iteration): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Likewise.
+ (op_code_prio): Likewise.
+ (op_symbol_code): Likewise.
+ * tree-ssa-ccp.c (get_value_from_alignment): Likewise.
+ * tree-ssa-loop-im.c (for_each_index): Likewise.
+ (gen_lsm_tmp_name): Likewise.
+ * tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
+ (find_interesting_uses_address): Likewise.
+ * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
+ * tree-ssa-operands.c (get_expr_operands): Likewise.
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
+ (ao_ref_init_from_vn_reference): Likewise.
+ * tree.c (staticp): Likewise.
+ (build1_stat): Likewise.
+ (reference_alias_ptr_type): Likewise.
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+ * config/rs6000/rs6000.c (rs6000_check_sdmode): Remove
+ MISALIGNED_INDIRECT_REF handling.
+
+2010-09-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45534
+ * tree-ssa-address.c (create_mem_ref_raw): Add verify parameter.
+ (create_mem_ref): Do verify the created TARGET_MEM_REF is valid
+ on the target.
+ (maybe_fold_tmr): Do not verify the created TARGET_MEM_REF is
+ valid on the target.
+
+2010-09-06 Andreas Schwab <schwab@redhat.com>
+
+ * configure.ac: Quote argument of AC_MSG_WARN.
+ * configure: Regenerate.
+
+2010-09-06 Alexander Monakov <amonakov@ispras.ru>
+
+ * sel-sched.c (move_cond_jump): Correct arguments to
+ maybe_tidy_empty_bb.
+ * sel-sched-ir.c (maybe_tidy_empty_bb): Export.
+
+2010-09-06 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/44919
+ * sel-sched.c (move_cond_jump): Remove assert, check that
+ the several blocks case can only happen with mutually exclusive
+ insns instead. Rewrite the movement code to support moving through
+ several basic blocks.
+
+2010-09-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (iptrsize): New mode attribute.
+ (tp_seg): Ditto.
+ (*load_tp_<mode>): Macroize insn from *load_tp_{si,di} using P
+ mode iterator.
+ (*add_tp_<mode>): Ditto from *add_tp_{si,di}.
+ (stack_protect_set_<mode>): Ditto from stack_protect_set_{si,di}.
+ (stack_protect_test_<mode>): Ditto from stack_protect_test_{si,di}.
+ (stack_tls_protect_set_<mode>): Ditto from
+ stack_tls_protect_set_{si,di}. Use %@ to output segment register
+ of thread base pointer load.
+ (stack_tls_protect_test_<mode>): Ditto from
+ stack_tls_protect_test_{si,di}. Use %@ to output segment register
+ of thread base pointer load.
+ (stack_protect_set): Rewrite using indirect functions.
+ (stack_protect_test): Ditto.
+ * config/i386/i386.c (ix86_print_operand_punct_valid): Add '@'.
+ (ix86_print_operand): Handle '@'.
+
+2010-09-05 Giuseppe Scrivano <gscrivano@gnu.org>
+
+ * tree-tailcall.c (process_assignment): Handle NEGATE_EXPR and
+ MINUS_EXPR.
+
+2010-09-05 Mark Mitchell <mark@codesourcery.com>
+
+ * doc/invoke.texi: Document -Wdouble-promotion.
+ * c-typeck.c (convert_arguments): Check for implicit conversions
+ from float to double.
+ (do_warn_double_promotion): New function.
+ (build_conditional_expr): Use it.
+ (build_binary_op): Likewise.
+
+2010-09-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45535
+ * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
+ handle TMR_INDEX2. Make sure TMR_INDEX is not NULL before
+ dereferencing it.
+ (indirect_refs_may_alias_p): Likewise.
+
+2010-09-05 Naveen H.S <naveen.S@kpitcummins.com>
+
+ * config/sh/sh.c (sh_option_override): Make static.
+ Adjust comments. Declare.
+ (sh_function_value_regno_p): Likewise.
+ (sh_register_move_cost): Modify the arguments, make static.
+ Adjust comments. Declare.
+ (TARGET_OPTION_OVERRIDE, TARGET_REGISTER_MOVE_COST
+ TARGET_FUNCTION_VALUE_REGNO_P): Define.
+ * config/sh/sh.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P
+ REGISTER_MOVE_COST): Delete.
+ * config/sh/sh-protos.h (sh_override_options): Delete.
+ (sh_register_move_cost): Delete.
+ (sh_function_value_regno_p): Delete.
+
+2010-09-04 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32r/m32r.c (m32r_function_value, m32r_libcall_value,
+ m32r_function_value_regno_p): New functions.
+ (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+ TARGET_FUNCTION_VALUE_REGNO_P): Declare.
+ * config/m32r/m32r.h: (FUNCTION_VALUE, LIBCALL_VALUE,
+ FUNCTION_VALUE_REGNO_P): Remove.
+
+2010-09-04 Jan Hubicka <jh@suse.cz>
+
+ * gimple-fold.c (maybe_fold_reference): Use fold_const_aggregate_ref.
+ * tree-ssa-ccp.c (fold_const_aggregate_ref): Use
+ fold_read_from_constant_string.
+
+ * gimple.h (canonicalize_constructor_val): Declare.
+ * gimple-fold.c (canonicalize_constructor_val): New function.
+ (get_symbol_constant_value):Use it.
+ * tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
+
+2010-09-04 Jan Hubicka <jh@suse.cz>
+
+ * tree-switch-conversion.c (build_one_array): Set constructor to be
+ static.
+ * varpool.c (varpool_finalize_decl): Compute const_value_known.
+
+2010-09-04 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/45519
+ * tree-flow.h (force_gimple_operand_1): Declare.
+ (force_gimple_operand_gsi_1): Likewise.
+ * gimplify.c (force_gimple_operand_1): New worker taking a
+ gimple predicate for ...
+ (force_gimple_operand): ... which now wraps it.
+ (force_gimple_operand_gsi_1, force_gimple_operand_gsi): Likewise.
+ * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Revert
+ last change.
+ * tree-ssa-address.c (gimplify_mem_ref_parts): Use
+ force_gimple_operand_gsi_1 with is_gimple_mem_ref_addr.
+ (create_mem_ref): Likewise.
+
+2010-09-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (sse_reg_operand): New predicate.
+ * config/i386/i386.md (TFmode push splitter): Use sse_reg_operand
+ predicate for operand 1.
+ (XFmode push splitter): Use fp_register_operand predicate
+ for operand 1.
+ (*dummy_extendsfdf2, *dummy_extendsfxf2): Remove disabled patterns.
+ (SF-DF float_extend push splitter): Add reload_completed insn
+ predicate.
+ ({SF,DF}-XF float_extend_push splitter): Macroize splitter using
+ MODEF mode macro. Add reload_completed insn predicate.
+
+2010-09-04 Paolo Bonzini <bonzini@gnu.org>
+
+ * df.h (enum df_ref_class): Remove DF_REF_EXTRACT.
+ (struct df_extract_ref): Remove.
+ (union df_ref_d): Remove extract_ref member.
+ (df_ref_create): Remove last three arguments.
+ (DF_REF_LOC): Remove DF_REF_EXTRACT case.
+ * df-scan.c (df_ref_record): Remove last three arguments, do not
+ pass them to df_ref_create_structure.
+ (df_uses_record): Remove first and last three arguments. Replace
+ first argument with DF_REF_REGULAR, adjust calls to remove the
+ width, offset and mode. Always call recursively on the second
+ and third argument of ZERO_EXTRACT and SIGN_EXTRACT.
+ (df_ref_create_structure): Remove first argument.
+ (struct df_scan_problem_data): Remove ref_extract_pool.
+ (df_scan_free_internal): Do not free it.
+ (df_scan_alloc): Do not allocate it.
+ (df_ref_create): Remove last three arguments, do not pass them to
+ df_ref_create_structure.
+ (df_free_ref): Remove DF_REF_EXTRACT case.
+ (df_notes_rescan): Adjust call to df_uses_record.
+ (df_ref_equal_p, df_ref_compare, df_ref_create_structure):
+ Remove DF_REF_EXTRACT case.
+ (df_def_record_1): Do not special case class for a ZERO_EXTRACT lhs.
+ Adjust calls to df_ref_record, using DF_REF_REGULAR for all REG
+ and SUBREG definitions.
+ (df_get_conditional_uses): Remove references to width/offset/mode,
+ adjust call to df_ref_create_structure.
+ (df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
+ df_entry_block_defs_collect, df_exit_block_uses_collect): Adjust
+ calls to df_uses_record and df_ref_record.
+ * fwprop.c (update_df): Remove references to width/offset/mode,
+ adjust call to df_ref_create.
+
+2010-09-03 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (build_cdtor): Take VECtor as argument; fix array walk.
+ (build_cdtor_fns): Update use of build_cdtor.
+
+2010-09-03 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/options.texi (SeparateAlias): Document.
+ * opt-functions.awk (switch_flags): Handle SeparateAlias.
+ * opth-gen.awk: Generate enumeration names for options marked
+ SeparateAlias, but not for those marked Ignore.
+ * opts-common.c (generate_canonical_option): Don't output separate
+ argument for options marked CL_SEPARATE_ALIAS.
+ (decode_cmdline_option): Handle CL_SEPARATE_ALIAS.
+ * opts.h (CL_SEPARATE_ALIAS): New.
+ (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
+ CL_COMMON): Adjust definitions.
+ * config/i386/darwin.opt, config/mips/sde.opt: New.
+ * common.opt (fdump-final-insns): New.
+ * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
+ i386/darwin.opt.
+ (mips*-sde-elf*): Add mips/sde.opt.
+ * config/mips/sde.h (DRIVER_SELF_SPECS): Don't handle
+ -mno-data-in-code and -mcode-xonly here.
+ * defaults.h (DEFAULT_SWITCH_TAKES_ARG): Add 'd'.
+ * gcc.c (option_map): Add "j" to --dump entry.
+ (translate_options): Don't translate -d to -foutput-class-dir= here.
+
+2010-09-03 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-data-ref.c (dr_may_alias_p): Replace !DR_IS_READ with
+ DR_IS_WRITE.
+ (compute_all_dependences): Same.
+ (create_rdg_edge_for_ddr): Same.
+ * tree-data-ref.h (DR_IS_WRITE): New.
+ (ddr_is_anti_dependent): Replace !DR_IS_READ with DR_IS_WRITE.
+ * tree-if-conv.c (write_memrefs_written_at_least_once): Same.
+ (write_memrefs_written_at_least_once): Same.
+ * tree-predcom.c (suitable_component_p): Same.
+ (determine_roots_comp): Same.
+ (execute_load_motion): Same.
+ * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Same.
+ (vect_enhance_data_refs_alignment): Same.
+ (vect_analyze_group_access): Same.
+
+2010-09-03 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR testsuite/42843
+ * Makefile.in (PLUGINCC): Define in terms of @CC@ / @CXX@
+ (PLUGINCFLAGS): Define in terms of @CFLAGS@ / @CXXFLAGS@
+
+2010-09-03 Marcin Baczynski <marbacz@gmail.com>
+
+ * dwarf2out.c (file scope): Remove #if0'd code.
+ (gen_subprogram_die): Same.
+
+2010-09-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/45484
+ * dwarf2out.c (flush_queued_reg_saves): Rename to...
+ (dwarf2out_flush_queued_reg_saves): ... this. No longer static.
+ (dwarf2out_frame_debug_expr, dwarf2out_frame_debug): Adjust callers.
+ * dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype.
+ * config/i386/i386.c (output_set_got): Call it.
+
+2010-09-03 Michael Matz <matz@suse.de>
+
+ PR middle-end/45415
+ * tree-sra.c (sra_modify_assign): If we modify the statement,
+ say so.
+
+ * tree-ssa.c (verify_ssa): Check number of operands and links
+ per statement to agree.
+
+2010-09-03 Uros Bizjak <ubizjak@gmail.com>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/45476
+ * config/i386/t-darwin (LIB2FUNCS_EXCLUDE): New.
+ * config/i386/darwin.h (LIBGCC2_HAS_TF_MODE,
+ LIBGCC2_TF_CEXT, TF_SIZE): New defines.
+
+2010-09-03 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer-out.c (output_function): Output function
+ start and end loci.
+ * lto-streamer-in.c (input_function): Input function start
+ and end loci.
+
+2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
+ * Makefile.in: Add aclocal.m4 dependency to dfp.m4.
+ * configure: Regenerate.
+ * aclocal.m4: Regenerate.
+
+2010-09-03 Jan Hubicka <jh@suse.cz>
+
+ PR lto/44812
+ * lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL
+ on functions/variables in other partition.
+
+2010-09-03 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (struct varpool_node): Add const_value_known.
+ (varpool_decide_const_value_known): Declare.
+ * tree-ssa-ccp.c (fold_const_aggregate_ref): Update initializer folding.
+ * lto-cgraph.c (lto_output_varpool_node): Store const_value_known.
+ (input_varpool_node): Restore const_value_known.
+ * tree-ssa-loop-ivcanon (constant_after_peeling): Check varpool for
+ initializer folding.
+ * ipa.c (ipa_discover_readonly_nonaddressable_var,
+ function_and_variable_visibility): Compute const_value_known.
+ * gimple-fold.c (get_symbol_constant_value): Use varpool for
+ initializer folding.
+ * varpool.c (varpool_decide_const_value_known): New function.
+
+2010-09-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md: Remove empty preparation statements
+ from splitters.
+
+2010-09-03 Jan Hubicka <jh@suse.cz>
+
+ * passes.c (rest_of_decl_compilation): Do not add local vars into
+ varpool.
+ * varpool.c (varpool_get_node, varpool_node): Sanity check that only
+ static or extern vars are in varpool.
+ (varpool_finalize_decl): Sanity check that only static vars are
+ finalized.
+
+2010-09-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45500
+ * dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors,
+ not just generic vectors with BLKmode.
+
+2010-09-03 Richard Guenther <rguenther@suse.de>
+
+ * tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
+ Move TMR_OFFSET to second operand. Add TMR_INDEX2.
+ * tree.h (TMR_SYMBOL): Remove.
+ (TMR_BASE, TMR_OFFSET): Adjust.
+ (TMR_INDEX2): New.
+ * alias.c (ao_ref_from_mem): Use TMR_BASE.
+ * builtins.c (get_object_alignment): Merge TMR_BASE and
+ TMR_SYMBOL handling.
+ * cfgexpand.c (expand_debug_expr): Use TMR_BASE.
+ * gimple.c (get_base_address): Merge MEM_REF and TARGET_MEM_REF
+ handling. Also allow TARGET_MEM_REF as base address.
+ (walk_stmt_load_store_addr_ops): TMR_BASE is always non-NULL.
+ * gimplify.c (gimplify_expr): Gimplify TMR_BASE like MEM_REF
+ base. Gimplify TMR_INDEX2.
+ * tree-cfg.c (verify_types_in_gimple_reference): Adjust.
+ * tree-dfa.c (get_ref_base_and_extent): Likewise.
+ (get_addr_base_and_unit_offset): Likewise.
+ * tree-eh.c (tree_could_trap_p): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Likewise.
+ * tree-ssa-address.c (tree_mem_ref_addr): Simplify. Handle TMR_INDEX2.
+ (create_mem_ref_raw): Merge symbol and base. Move 2ndary
+ base to index2.
+ (get_address_description): Reconstruct addres description
+ from merged TMR_BASE and TMR_INDEX2.
+ (maybe_fold_tmr): Fold propagated addresses.
+ * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Merge
+ MEM_REF and TARGET_MEM_REF paths.
+ (indirect_refs_may_alias_p): Likewise.
+ * tree-ssa-live.c (mark_all_vars_used_1): Handle TMR_INDEX2
+ instead of TMR_SYMBOL.
+ * tree-ssa-operands.c (get_tmr_operands): Simplify.
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Adjust
+ according to changes ...
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): ... here.
+ Split TARGET_MEM_REF into two fields plus the base.
+ * tree.c (mem_ref_offset): Simplify.
+ * tree-ssa-loop-im.c (for_each_index): Handle TMR_INDEX2.
+ * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
+ Strip NOPs when folding MEM_REF addresses.
+ * tree-ssa-sink.c (is_hidden_global_store): Handle TARGET_MEM_REF.
+ * gimple-fold.c (maybe_fold_reference): Fold TARGET_MEM_REF here ...
+ (fold_gimple_assign): ... not here.
+
+2010-09-03 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * config/mips/mips.h (SHIFT_COUNT_TRUNCATED): Change the definition.
+ * config/mips/mips.c (mips_shift_truncation_mask): New function.
+ (TARGET_SHIFT_TRUNCATION_MASK): Define.
+
+2010-09-02 Richard Henderson <rth@redhat.com>
+
+ * configure.ac (gcc_cv_as_cfi_advance_working): Use objdump
+ instead of readelf in the test.
+ (gcc_cv_as_cfi_sections_directive): Check for correct relocation
+ in the .debug_frame section for coff targets.
+ * configure: Rebuild.
+
+2010-09-02 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32c/m32c.h (CLASS_LIKELY_SPILLED_P): Remove.
+ * config/m32c/m32c-protos.h (m32c_class_likely_spilled_p): Remove.
+ * config/m32c/m32c.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
+ (m32c_class_likely_spilled_p): Make static. Change argument type to
+ reg_class_t. Change result type to bool.
+
+2010-09-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.opt (-mfriz): New switch to control whether
+ to convert (double)(long) into a single FRIZ instruction or not
+ when -ffast-math is used.
+
+ * config/rs6000/vsx.md (VSX_DF): New iterator for DF/V2DF modes.
+ (vsx_float_fix_<mode>2): Optimize (double)(long) into X{S,V}RDPIZ
+ or FRIZ instruction if -ffast-math.
+ * config/rs6000/rs6000.md (friz): Ditto.
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mfriz.
+
+2010-09-02 Joseph Myers <joseph@codesourcery.com>
+
+ * opth-gen.awk (quote, comma): Remove unused variables.
+
+2010-09-02 Ryan Mansfield <rmansfield@qnx.com>
+
+ * arm.c (arm_override_options): Correct fall-back code to use
+ SUBTARGET_CPU_DEFAULT.
+
+2010-09-02 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/neon.md (UNSPEC_VCLE, UNSPEC_VCLT): New constants for
+ unspecs.
+ (vcond<mode>, vcondu<mode>): New expanders.
+ (neon_vceq<mode>, neon_vcge<mode>, neon_vcgt<mode>): Support
+ comparisons with zero.
+ (neon_vcle<mode>, neon_vclt<mode>): New patterns.
+ * config/arm/constraints.md (Dz): New constraint.
+
+2010-09-02 Anatoly Sokolov <aesok@post.ru>
+
+ * target.def (class_likely_spilled_p): New hook.
+ * doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Document.
+ * doc/tm.texi: Regenerate.
+ * targhooks.c (default_class_likely_spilled_p): New function.
+ * targhooks.h (default_class_likely_spilled_p): Declare.
+ * regs.h (CLASS_LIKELY_SPILLED_P): Remove.
+ * combine.c (cant_combine_insn_p, likely_spilled_retval_p): Use
+ TARGET_CLASS_LIKELY_SPILLED_P target hook. Use HARD_REGISTER_P macro.
+ Use fixed_reg_set instead of fixed_regs.
+ * cse.c (hash_rtx_cb): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
+ * calls.c (avoid_likely_spilled_reg): Ditto.
+ * ira-conflicts.c (ira_build_conflicts): Ditto.
+ * ira.c (update_equiv_regs): Ditto.
+ * mode-switching.c (create_pre_exit): Ditto.
+ * regmove.c (find_matches): Ditto.
+ (regclass_compatible_p): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
+ * reload.c (SMALL_REGISTER_CLASS_P): Remove macro.
+ (small_register_class_p): New inline function.
+ (push_secondary_reload, find_reusable_reload, find_reloads): Use
+ small_register_class_p instead of SMALL_REGISTER_CLASS_P.
+
+ * config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Remove.
+ * config/i386/i386.c (ix86_class_likely_spilled_p): New.
+ (TARGET_CLASS_LIKELY_SPILLED_P): Define.
+
+2010-09-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44937
+ PR tree-optimization/45412
+ * ipa-split.c (split_function): Properly remove PHI nodes.
+
+2010-09-02 Joseph Myers <joseph@codesourcery.com>
+
+ * opts.h (struct cl_option): Add warn_message field.
+ (struct cl_decoded_option): Add warn_message field.
+ * doc/options.texi (Ignore, Warn): Document.
+ * opt-functions.awk (needs_state_p): Don't consider aliases or
+ ignored options to need state saved.
+ * optc-gen.awk: Handle Warn and Ignore.
+ * opth-gen.awk: Output OPT_SPECIAL_ignore.
+ * opts-common.c (decode_cmdline_option): Set warn_message field.
+ Handle ignored options.
+ (decode_cmdline_options_to_array, generate_option,
+ generate_option_input_file): Set warn_message field.
+ (read_cmdline_option): Generate warnings from warn_message field.
+ Handle ignored options.
+ * common.opt (Wunreachable-code, fargument-alias,
+ fargument-noalias, fargument-noalias-global,
+ fargument-noalias-anything, fcse-skip-blocks, fforce-addr,
+ floop-optimize, frerun-loop-opt, fsched2-use-traces, fsee,
+ fstrength-reduce, ftree-store-ccp, ftree-store-copy-prop,
+ ftree-salias): Mark Ignore.
+ * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -mcpu,
+ -mintel-syntax and -mno-intel-syntax here.
+ * config/i386/i386.opt (mcpu=, mintel-syntax): Define as aliases
+ using Warn.
+ * opts.c (common_handle_option): Don't handle options marked as
+ ignored.
+ (enable_warning_as_error): Handle ignored options.
+
+2010-09-02 Joseph Myers <joseph@codesourcery.com>
+
+ PR driver/44076
+ * opts.h (struct cl_option): Add alias_arg, neg_alias_arg and
+ alias_target fields.
+ * opt-functions.awk (opt_sanitized_name): Don't handle
+ finline-limit=, Wlarger-than= and ftemplate-depth= specially.
+ * optc-gen.awk: Generate alias fields.
+ * opth-gen.awk: Explicitly give values for OPT_* enum constants.
+ Don't generate such constants for aliases.
+ * opts-common.c (generate_canonical_option): New.
+ (decode_cmdline_option): Handle aliases. Use
+ generate_canonical_option for known options instead of copying the
+ input option text.
+ * doc/options.texi (Alias): Document.
+ * common.opt (W, Wlarger-than-, aux-info=, finline-limit-,
+ fstack-check, specs): Mark as aliases.
+ * gcc.c (driver_handle_option): Canonicalize -L options to joined
+ arguments.
+ (driver_handle_option): Don't handle OPT_specs.
+ * opts.c (common_handle_option): Don't handle options marked as
+ aliases.
+ (enable_warning_as_error): Handle aliases.
+ * stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of
+ OPT_Wlarger_than_eq.
+ * tree-optimize.c (tree_rest_of_compilation): Use
+ OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq.
+
+2010-09-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (nonmemory_operand): New mode attribute.
+ (push memory peephole2): Macroize peepholes using SWI mode iterator.
+ (move immediate to memory peephole2): Macroize peepholes using
+ SWI124 mode iterator.
+ (non-pairable NOT peephole2): Macroize peepholes using SWI124
+ mode iterator.
+ (simple lea add peephole2): Macroize peepholes using SWI48
+ mode iterator.
+ (simple lea mult peephole2): Ditto.
+ (imul by 3,5,9 to lea peephole2): Ditto.
+ (mov $-1, reg peephole2): Macroize peepholes using SWI248
+ mode iterator.
+ (imul $32bit_imm,mem,reg peephole2): Ditto.
+ (imul $8/16bit_imm,regmem,reg peephole2): Ditto.
+
+2010-09-02 Ian Bolton <ian.bolton@arm.com>
+
+ * tree-ssa-loop-prefetch.c: Fix comment at head of file.
+
+2010-09-02 Olivier Hainque <hainque@adacore.com>
+
+ PR middle-end/44763
+ * ira-color.c (SORTGT): New macro, helper for qsort callbacks.
+ (allocno_priority_compare_func): Use it instead of a straight
+ difference computation over priorities.
+
+2010-09-02 Andi Kleen <ak@linux.intel.com>
+
+ * opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_ handling.
+
+2010-09-02 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vectorizer.h (get_later_stmt): New function.
+ (vect_analyze_data_ref_dependences): Add argument.
+ * tree-vect-loop.c (vect_analyze_loop): Update call to
+ vect_analyze_data_ref_dependences.
+ * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block):
+ New function.
+ (vect_analyze_data_ref_dependence): Add argument for basic block
+ dependencies. Check dependencies in basic block vectorization.
+ (vect_analyze_data_ref_dependences): Add argument and update call to
+ vect_analyze_data_ref_dependences.
+ * tree-vect-slp.c (vect_find_last_store_in_slp_instance): New.
+ (vect_bb_vectorizable_with_dependencies): New.
+ (vect_slp_analyze_bb): Check dependencies in basic block.
+ (vect_schedule_slp_instance): Insert stores before the last store in
+ SLP instance.
+
+2010-09-02 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/45476
+ * config/i386/freebsd.h (LIBGCC2_HAS_TF_MODE,
+ LIBGCC2_TF_CEXT, TF_SIZE): New defines.
+
+2010-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/45458
+ * bb-reorder.c (add_labels_and_missing_jumps): Treat
+ bbs ending with throwing insns like blocks ending with a call.
+ (fix_up_fall_thru_edges): Likewise.
+
+2010-09-01 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/m32c/m32c-protos.h (m32c_function_arg): Delete.
+ (m32c_function_arg_advance): Delete.
+ * config/m32c/m32c.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/m32c/m32c.c (m32c_function_arg): Make static. Adjust
+ comments. Take a const_tree and a bool. Declare.
+ (m32c_function_arg_advance): Likewise.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-09-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/45476
+ * config/i386/cygming.h (LIBGCC2_HAS_TF_MODE,
+ LIBGCC2_TF_CEXT, TF_SIZE): Move from ...
+ * config/i386/mingw32.h: ... here.
+
+2010-09-01 Andi Kleen <ak@linux.intel.com>
+
+ PR lto/45475
+ * lto-streamer-in.c (lto_input_ts_target_option): Add.
+ (lto_input_tree_pointers): Call lto_input_ts_target_option.
+ * lto-streamer-out (lto_output_ts_target_option): Add.
+ (lto_output_tree_pointers): Call lto_output_ts_target_option.
+
+2010-09-01 Kai Tietz <kai.tietz@onevision.com>
+
+ PR/target 45452
+ * config/i386/cygwin.h: Change order of specified import libraries.
+ * config/i386/mingw32.h: Likewise.
+ * config/i386/t-cygwin: Likewise.
+ * config/i386/t-mingw32: Likewise.
+ * config/i386/t-mingw-w32: Likewise.
+ * config/i386/t-mingw-w64: Likewise.
+
+2010-09-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/neon-schedgen.ml (core): New type.
+ (allCores): List of supported cores.
+ (availability_table): Add supported cores.
+ (collate_bypasses): Accept core as a parameter.
+ (worst_case_latencies_and_bypasses): Accept core as a parameter.
+ (emit_insn_reservations): Accept core as a parameter. Use tuneStr
+ and coreStr to get tune attribute and prefix for functional units.
+ (emit_bypasses): Accept core name and use it.
+ (calculate_per_core_availability_table): New.
+ (filter_core): New.
+ (calculate_core_availability_table): New.
+ (main): Use calculate_core_availablity_table.
+ * config/arm/cortex-a8-neon.md: Update copyright year.
+ Regenerated from ml file and merged in.
+ (neon_mrrc, neon_mrc): Rename to cortex_a8_neon_mrrc and
+ cortex_a8_neon_mrc.
+
+2010-09-01 Ian Bolton <ian.bolton@arm.com>
+
+ * Makefile.in (tree-switch-conversion.o): Update dependencies.
+
+2010-09-01 Richard Guenther <rguenther@suse.de>
+
+ * alias.c (ao_ref_from_mem): Adjust.
+ * builtins.c (get_object_alignment): Likewise.
+ * cfgexpand.c (expand_debug_expr): Likewise.
+ * gimple.c (get_base_address): Likewise.
+ * tree-dfa.c (get_ref_base_and_extent): Likewise.
+ (get_addr_base_and_unit_offset): Likewise. Fix for
+ both TMR_SYMBOL and TMR_BASE being set.
+ * tree-eh.c (tree_could_trap_p): Likewise.
+ * gimplify.c (gimplify_expr): Do not attempt to gimplify
+ TMR_SYMBOL. Always gimplify TMR_BASE.
+ * tree-cfg.c (verify_types_in_gimple_reference): Verify
+ TMR_BASE if there is a TMR_SYMBOL.
+ * tree-pretty-print.c (dump_generic_node): Adjust.
+ * tree-ssa-address.c (addr_for_mem_ref): Likewise.
+ (tree_mem_ref_addr): Likewise.
+ (create_mem_ref_raw): Likewise.
+ (move_fixed_address_to_symbol): Likewise.
+ (create_mem_ref): Likewise.
+ (dump_mem_address): Likewise.
+ * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Adjust.
+ Fix for both TMR_SYMBOL and TMR_BASE being set.
+ (indirect_refs_may_alias_p): Likewise.
+ * tree-ssa-operands.c (get_tmr_operands): Adjust.
+ * tree.def (TARGET_MEM_REF): Adjust documentation.
+
+2010-09-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (enum ix86_tune_indices) <X86_TUNE_SINGLE_POP>:
+ Rename from X86_TUNE_ADD_ESP_4.
+ <IX86_TUNE_DOUBLE_POP>: Rename from X86_TUNE_ADD_ESP_8.
+ <IX86_TUNE_SINGLE_PUSH>: Rename from X86_TUNE_SUB_ESP_4.
+ <IX86_TUNE_DOUBLE_PUSH>: Rename from X86_TUNE_SUB_ESP_8.
+ (TARGET_SINGLE_POP): Rename from TARGET_ADD_ESP_4.
+ (TARGET_DOUBLE_POP): Rename from TARGET_ADD_ESP_8.
+ (TARGET_SINGLE_PUSH): Rename from TARGET_SUB_ESP_4.
+ (TARGET_DOUBLE_POP): Rename from TARGET_SUB_ESP_8.
+ * config/i386/i386.c (initial_ix86_tune_features)
+ <X86_TUNE_SINGLE_POP>: Invert members.
+ <X86_TUNE_DOUBLE_POP>: Ditto.
+ <X86_TUNE_SINGLE_PUSH>: Ditto.
+ <X86_TUNE_DOUBLE_PUSH>: Ditto.
+ * config/i386/i386.md (*pop<mode>1): Rename from pop<mode>1.
+ No longer exported.
+ (push peephole2 patterns): Macroize peepholes using P mode iterator.
+ Adjust for renamed TARGET_{SINGLE,DOUBLE}_PUSH defines.
+ (pop peephole2 patterns): Macroize peepholes using P mode iterator.
+ Adjust for renamed TARGET_{SINGLE,DOUBLE}_POP defines.
+
+2010-09-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_init_constructor): Do not create a temporary for
+ a volatile LHS if the constructor has only one element.
+
+2010-09-01 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR bootstrap/45321
+ * tree.c (stdarg_p): Make fntype parameter const.
+ * tree.h (stdarg_p): Likewise.
+ (function_args_iterator): Remove unused fntype field.
+ (function_args_iter_init): Do not initialize fntype
+ field. Make fntype parameter const.
+
+2010-09-01 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (adjust_range_with_scev): Use number of iteration
+ estimate.
+ (vrp_visit_phi_node): Delay using SCEV till we balloon the range.
+ (execute_vrp): Compute number of iteration estimates.
+ * cfgloop.h (estimate_numbers_of_iterations_loop): Adjust prototype.
+ * tree-flow.h (estimate_numbers_of_iterations): Likewise.
+ * tree-data-ref.c (estimated_loop_iterations): Adjust.
+ * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
+ Infer loop bounds from undefined behavior based on a new parameter.
+ (estimate_numbers_of_iterations): Likewise.
+ (scev_probably_wraps_p): Adjust.
+ * tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
+
+2010-09-01 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16.c: Use REG_P, MEM_P and CONST_INT_P
+ where appropriate.
+ (xstormy16_legitimate_address_p): Use true and false instead of 1
+ and 0.
+ (xstormy16_expand_prologue): Delete unused local variable 'insn'.
+ (xstormy16_function_arg): Use FIRST_ARGUMENT_REGNUM in place of
+ magic constant 2.
+ (xstormy16_expand_call): Fix comment at start of function.
+
+2010-09-01 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_expand_prologue): Do not adjust frame size
+ when pushing accumulator register.
+ (rx_get_stack_layout): Always save call clobbered registers inside
+ interrupt handlers.
+ * config/rx/rx-modes.def: Fix descriptive comment at start of file.
+
+2010-09-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
+ i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.
+
+ * libgcc-std.ver (GCC_4.6.0): Define version.
+
+2010-08-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-nested.c (convert_all_function_calls): Iterate until after the
+ sum of static chains in the nest doesn't change.
+
+2010-08-31 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32c/m32c.c (classes_intersect): Remove.
+ (m32c_preferred_reload_class, m32c_secondary_reload_class): Use
+ reg_classes_intersect_p instead of classes_intersect.
+ (class_can_hold_mode): Change arguments type from enum reg_class to
+ reg_class_t. Use reg_class_contents instead of class_contents.
+ (m32c_register_move_cost): Make static. Change arguments type from
+ enum reg_class to reg_class_t. Use reg_classes_intersect_p instead of
+ classes_intersect. Use reg_class_contents instead of class_contents.
+ (m32c_memory_move_cost): Make static. Change arguments type from
+ enum reg_class to reg_class_t.
+ (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
+ * config/m32c/m32c.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
+ * config/m32c/m32c-protos.h (m32c_register_move_cost,
+ m32c_memory_move_cost): Remove.
+
+2010-08-31 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/arm/arm-protos.h (arm_function_arg_advance): Delete.
+ (arm_function_arg): Delete.
+ (arm_needs_doubleword_align): Take a const_tree.
+ * config/arm/arm.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/arm/arm.c (aapcs_select_call_coproc): Take a const_tree.
+ (aapcs_layout_arg, arm_needs_doubleword_align): Likewise.
+ (arm_function_arg): Make static. Take a const_tree and a bool.
+ (arm_function_arg_advance): Likewise.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-08-31 Andi Kleen <ak@linux.intel.com>
+
+ * common.opt (fwhopr=): Update for -fwhopr=jobserver
+ * doc/invoke.texi (fwhopr): Document -fwhopr=jobserver.
+ * lto-wrapper.c (run_gcc): Add jobserver mode.
+ * opts.c (common_handle_option): Fix OPT_fwhopr for non numeric
+ argument.
+
+2010-08-31 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (popdi1): Rewrite using POST_INC memory operand.
+ (popsi1): Ditto.
+ (*popdi1_epilogue): Ditto.
+ (*popsi1_epilogue): Ditto.
+ (popsi, popdi peephole2 patterns): Update peepholes for changed
+ pop{si,di}1 and *pop{si,di}1_epilogue patterns.
+
+ (pop<mode>1): Macroize insn from pop{si,di}1 using P code iterator.
+ (*pop<mode>1_epilogue): Ditto from *pop{si,di}1_epilogue.
+
+ * config/i386/i386.c (*ix86_gen_pop1): Remove indirect function.
+ (override_options): Do not initialize removed ix86_gen_pop1.
+ (gen_pop): New static function.
+ (ix86_expand_prologue): Use gen_pop instead of ix86_gen_pop1.
+ (release_scratch_register_on_entry): Ditto.
+ (ix86_restore_reg_using_pop): Ditto.
+ (ix86_expand_epilogue): Ditto.
+
+2010-08-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/45461
+ * builtins.c (dummy_object): Return a MEM_REF instead of INDIRECT_REF.
+
+2010-08-31 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/fr30/fr30.c (fr30_move_double): Delete `dregno' and extra
+ semicolons.
+
+2010-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * doc/extend.texi: Fix documentation of the return value of
+ __builtin_choose_expr.
+
+2010-08-31 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/v850/v850-protos.h (function_arg): Delete.
+ * config/v850/v850.h (FUNCTION_ARG): Delete.
+ (FUNCTION_ARG_ADVANCE): Move code to...
+ * config/v850/v850.c (v850_function_arg_advance): ...here.
+ (v850_function_arg): Make static. Take a const_tree and a bool.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-08-31 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/m32r/m32r.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move
+ these...
+ (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
+ ...and these...
+ * config/m32r/m32r.c (m32r_function_arg, m32r_function_arg_advance):
+ ..to here..
+ (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
+ ...and here.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-08-31 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rx/rx-protos.h (rx_function_arg, rx_function_arg_size):
+ Delete.
+ * config/rx/rx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/rx/rx.c (rx_function_arg_size): Make static.
+ (rx_function_arg): Likewise.
+ (rx_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-08-31 John Tytgat <John.Tytgat@aaug.net>
+
+ * config/arm/arm.c (arm_override_options): Remove superfluous test.
+ Fix indentation.
+
+2010-08-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada.
+ (dwarf2out_decl) <CONST_DECL>: Likewise.
+
+2010-08-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ Stack usage support
+ * common.opt (-fstack-usage): New option.
+ * doc/invoke.texi (Debugging options): Document it.
+ * builtins.c (expand_builtin_apply): Pass TRUE as 4th argument to
+ allocate_dynamic_stack_space.
+ (expand_builtin_alloca): Add 4th bool parameter CANNOT_ACCUMULATE
+ and propagate it to allocate_dynamic_stack_space.
+ (expand_builtin) <BUILT_IN_ALLOCA>: Adjust for above change.
+ * calls.c (initialize_argument_information): Pass TRUE as 4th
+ argument to allocate_dynamic_stack_space.
+ (expand_call): Set current_function_has_unbounded_dynamic_stack_size
+ to 1 when pushing a variable-sized argument onto the stack. Pass
+ TRUE as 4th argument to allocate_dynamic_stack_space.
+ Update current_function_pushed_stack_size.
+ (emit_library_call_value_1): Likewise.
+ * explow.c (allocate_dynamic_stack_space): Add 4th bool parameter
+ CANNOT_ACCUMULATE. If flag_stack_usage, look into the size and
+ attempt to find an upper bound. Remove redundant code for the
+ SETJMP_VIA_SAVE_AREA case.
+ * expr.h (allocate_dynamic_stack_space): Add 4th bool parameter.
+ * function.h (struct stack_usage): New structure.
+ (current_function_static_stack_size): New macro.
+ (current_function_dynamic_stack_size): Likewise.
+ (current_function_pushed_stack_size): Likewise.
+ (current_function_dynamic_alloc_count): Likewise.
+ (current_function_has_unbounded_dynamic_stack_size): Likewise.
+ (current_function_allocates_dynamic_stack_space): Likewise.
+ (struct function): Add new field 'su'.
+ * function.c (instantiate_virtual_regs): If SETJMP_VIA_SAVE_AREA,
+ add the value of the dynamic offset to the dynamic stack usage.
+ (gimplify_parameters): Set ALLOCA_FOR_VAR_P on call to BUILT_IN_ALLOCA
+ for variable-sized objects.
+ (prepare_function_start): Allocate cfun->su if flag_stack_usage.
+ (rest_of_handle_thread_prologue_and_epilogue): Call output_stack_usage.
+ * gimplify.c (gimplify_decl_expr): Set ALLOCA_FOR_VAR_P on call to
+ BUILT_IN_ALLOCA for variable-sized objects.
+ * output.h (output_stack_usage): Declare.
+ * toplev.c (stack_usage_file): New file pointer.
+ (output_stack_usage): New function.
+ (open_auxiliary_file): Likewise.
+ (lang_dependent_init): Open file if flag_stack_usage is set.
+ (finalize): Close file if stack_usage_file is not null.
+ * tree.h (ALLOCA_FOR_VAR_P): New macro.
+ * config/alpha/alpha.c (compute_frame_size): New function.
+ (alpha_expand_prologue): Use it.
+ (alpha_start_function): Likewise.
+ (alpha_expand_epilogue): Likewise. Set stack usage info.
+ * config/i386/i386.c (ix86_expand_prologue): Likewise.
+ * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
+ * config/mips/mips.c (mips_expand_prologue): Likewise.
+ * config/pa/pa.c (hppa_expand_prologue): Likewise.
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
+ * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
+
+2010-08-30 Zdenek Dvorak <ook@ucw.cz>
+
+ PR tree-optimization/45427
+ * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Rewritten.
+ Handle the case that the exit is never taken correctly.
+ (number_of_iterations_ne): Pass exit_must_be_taken to
+ number_of_iterations_ne_max.
+
+2010-08-30 Catherine Moore <clm@codesourcery.com>
+
+ * config/mips/mips.h (BASE_DRIVER_SELF_SPECS):
+ Infer -mdspr2 for the the 74K.
+
+2010-08-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45419
+ * tree-ssa-live.c (dump_enumerated_decls): Clear the whole wi variable.
+
+ PR middle-end/45423
+ * gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR
+ and TRUTH_{AND,OR,XOR}_EXPR.
+ * c-parser.c (c_parser_omp_atomic): Handle boolean
+ {PRE,POST}_{INC,DEC}REMENT.
+
+2010-08-30 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/xtensa/xtensa-protos.h (function_arg_advance): Delete.
+ (function_arg): Delete.
+ * config/xtensa/xtensa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ (FUNCTION_INCOMING_ARG): Delete.
+ * config/xtensa/xtensa.c (function_arg_advance): Rename to...
+ (xtensa_function_arg_advance): ...this. Make static. Take a const_tree
+ and a bool.
+ (function_arg): Rename to...
+ (xtensa_function_arg_1): ...this. Make static. Take a const_tree and
+ a bool.
+ (xtensa_function_arg, xtensa_function_incoming_arg): Nex functions.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+ (TARGET_FUNCTION_INCOMING_ARG): Define.
+
+2010-08-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/21602
+ * builtins.c (fold_builtin_memory_op): Fold memmove to memcpy
+ using points-to information.
+
+2010-08-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/linux.h (TARGET_HAS_SINCOS): Replace | with ||.
+
+2010-08-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45449
+ * tree-ssa-live.c (remove_unused_locals): Also remove address-taken
+ variables.
+
+2010-08-30 Joseph Myers <joseph@codesourcery.com>
+
+ * opts.h (CL_ERR_NEGATIVE): Define.
+ * opts.c (unknown_option_callback): Don't postpone warnings for
+ options marked with CL_ERR_NEGATIVE.
+ * opts-common.c (decode_cmdline_option): Set CL_ERR_NEGATIVE error
+ for negative versions of CL_REJECT_NEGATIVE options.
+
+2010-08-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (zero_extendsidi2_1): Rename from
+ zero_extendsidi2_32.
+ (zero_extend<mode>di2): Macroize insn from zero_extend{qi,hi}di2
+ using SWI12 mode iterator.
+ (zero_extendhisi2_and): Merge insn pattern and corresponding spliter
+ to define_insn_and_split pattern.
+ (zero_extendqi<mode>2): Macroize expander from zero_extendqi{hi,si}2
+ using SWI24 mode iterator.
+ (*zero_extendqi<mode>2_and): Macroize insn from
+ *zero_extendqi{hi,si}2_and using SWI24 mode iterator.
+ (*zero_extendqi<mode>2_movzbl_and): Macroize insn from
+ *zero_extendqihi2_movzbw_and and *zero_extendqisi2_movzbl_and using
+ SWI24 mode iterator.
+ (*zero_extendqi<mode>2_movzbl): Ditto from
+ *zero_extendqi{hi,si}2_movzbl.
+ (extendsidi2_1): Rename from extendsidi2_32.
+ (extend<mode>di2): Macroize insn from extend{qi,hi}di2 using
+ SWI12 mode iterator.
+
+2010-08-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/ia64/ia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in
+ general purpose registers.
+ (HARD_REGNO_MODE_OK): Accept CCImode in general purpose registers.
+ * config/ia64/ia64.md (*movcci): Change to named pattern. Deal
+ with general purpose registers and memory operands. Add associated
+ CCImode post-reload splitter.
+ * config/ia64/div.md: Change BImode to CCImode throughout.
+
+2010-08-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/ia64/ia64.md (cstorebi4): Fix thinko.
+
+2010-08-28 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (reorder_var_tracking_notes): This
+ function was dropping debug insns which caused PR45299.
+
+2010-08-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (extsuffix): New code attribute.
+ (sse4_1_<code>v8qiv8hi2): Macroize insn from sse4_1_extendv8qiv8hi2
+ and sse4_1_zero_extendv8qiv8hi2 using any_extend code iterator.
+ (sse4_1_<code>v4qiv4si2): Ditto from sse4_1_extendv4qiv4si2
+ and sse4_1_zero_extendv4qiv4si2.
+ (sse4_1_<code>v2qiv2di2): Ditto from sse4_1_extendv2qiv2di2
+ and sse4_1_zero_extendv2qiv2di2.
+ (sse4_1_<code>v4hiv4si2): Ditto from sse4_1_extendv4hiv4si2
+ and sse4_1_zero_extendv4hiv4si2.
+ (sse4_1_<code>v2hiv2di2): Ditto from sse4_1_extendv2hiv2di2
+ and sse4_1_zero_extendv2hiv2di2.
+ (sse4_1_extendv2siv2di2): Ditto from sse4_1_extendv2siv2di2
+ and sse4_1_zero_extendv2siv2di2
+
+ (<s>mulv8hi3_highpart): Macroize expander from {u,s}mulv8hi3_highpart
+ using any_extend code iterator.
+ (*avx_<s>mulv8hi3_highpart): Macroize insn from
+ *avx_{u,s}mulv8hi3_highpart using any_extend code iterator.
+ (*<s>mulv8hi3_highpart): Ditto from *{u,s}mulv8hi3_highpart.
+
+ * config/i386/i386.c (ix86_expand_sse4_unpack): Update for renamed
+ gen_sse4_1_sign_extend* functions.
+ (struct builtin_description bdesc_args): Ditto.
+
+2010-08-27 Xinliang David Li <davidxl@google.com>
+
+ PR/45422
+ * tree-ssa-loop-ivopts.c (iv_ca_get_num_inv_exprs): Remove.
+ (iv_ca_set_no_cp): Update used inv expr count.
+ (iv_ca_set_cp): Ditto.
+ (iv_ca_new): Initialize new member.
+ (iv_ca_free): Free memory.
+
+2010-08-27 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/sh/sh-protos.h (sh_function_arg): Delete.
+ (sh_function_arg_advance): Delete.
+ * config/sh/sh.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ (PASS_IN_REG_P): Eliminate cast.
+ * config/sh/sh.c (sh_function_arg_advance): Make static. Take a
+ const_tree and a bool.
+ (sh_function_arg): Likewise.
+ (sh_output_mi_thunk): Call sh_function_arg_advance) and
+ sh_function_arg.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-08-27 Naveen H.S <naveen.S@kpitcummins.com>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (push_regs): Emit movml for interrupt handler
+ when possible.
+ (sh_expand_epilogue): Likewise.
+ * config/sh/sh.md (movml_push_banked): New insn.
+ (movml_pop_banked): Likewise.
+
+2010-08-28 Bernd Schmidt <bernds@codesourcery.com>
+
+ * genautomata.c (gen_regexp_repeat, gen_regexp_allof,
+ gen_regexp_oneof, gen_regexp_sequence): Use the string found
+ in vector element 0 rather than the original string when there's
+ only one element.
+ (gen_regexp): Remove extra semicolon.
+
+ * config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp, movsf_vfp,
+ thumb2_movsf_vfp): Set attribute "insn".
+ * config/arm/arm.md (arm_ashrdi3_1bit, arm_lshrdi3_1bit, not_shiftsi,
+ not_shiftsi_compare0, not_shiftsi_compare0_scratch, arm_one_cmplsi2,
+ thumb1_one_cmplsi2, notsi_compare0, notsi_compare0_scratch,
+ arm_zero_extendsidi2, arm_extendsidi2, thumb1_movdi_insn,
+ arm_movsi_insn, movhi_insn_arch4, movhi_bytes, arm_movqi_insn,
+ thumb1_movqi_insn arm32_movhf, thumb1_movhf, arm_movsf_soft_insn,
+ thumb1_movsf_insn, thumb_movdf_insn, mov_scc, mov_negscc, mov_notscc,
+ movsicc_insn, movsfcc_soft_insn, and_scc, cond_move, if_move_not,
+ if_not_move, if_shift_move, if_move_shift, if_shift_shift,
+ if_not_arith, if_arith_not, cond_move_not): Likewise.
+
+2010-08-23 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000-protos.h (rs6000_address_for_fpconvert):
+ New declaration.
+ (rs6000_allocate_stack_temp): Ditto.
+ (rs6000_expand_convert_si_to_sfdf): Ditto.
+
+ * config/rs6000/rs6000.c (rs6000_override_options): Adjust long
+ line. Update the options set if power6 or power7 server/embedded
+ type options are used. If we give a warning for no vsx under
+ -mcpu=power7 -mno-altivec, mark -mvsx as an explicit option.
+ (rs6000_allocate_stack_temp): New function to allocate a stack
+ tempoary and adjust the address so it meets either REG+OFFSET or
+ REG+REG addressing requirements.
+ (rs6000_address_for_fpconvert): Adjust REG+OFFSET addresses so
+ that they can be used with the LFIWAX/LFIWZX instrucitons.
+ (rs6000_expand_convert_si_to_sfdf): New helper funciton for
+ converting signed/unsigned SImode to either SFmode/DFmode.
+
+ * config/rs6000/rs6000.h (TARGET_FCFID): New macros to determine
+ whether certain instructions can be generated.
+ (TARGET_FCTIDZ): Ditto.
+ (TARGET_STFIWX): Ditto.
+ (TARGET_LFIWAX): Ditto.
+ (TARGET_LFIWZX): Ditto.
+ (TARGET_FCFIDS): Ditto.
+ (TARGET_FCFIDU): Ditto.
+ (TARGET_FCFIDUS): Ditto.
+ (TARGET_FCTIDUZ): Ditto.
+ (TARGET_FCTIWUZ): Ditto.
+
+ * config/rs6000/rs6000.md (UNSPEC_FCTIW): New unspec constants.
+ (UNSPEC_FCTID): Ditto.
+ (UNSPEC_LFIWAX): Ditto.
+ (UNSPEC_LFIWZX): Ditto.
+ (UNSPEC_FCTIWUZ): Ditto.
+ (rreg): Use correct constraints.
+ (SI_CONVERT_FP): New mode attribute for floating point conversion
+ tests.
+ (E500_CONVERT): Ditto.
+ (lfiwax): New insns for converting from integer to floating point
+ utilizing newer instructions. Attempt to optimize conversions
+ that come from memory so that we don't load the value into a GPR,
+ spill it to the stack and reload it into a FPR.
+ (floatsi<mode>2_lfiwax): Ditto.
+ (floatsi<mode>2_lfiwax_mem): Ditto.
+ (floatsi<mode>2_lfiwax_mem2): Ditto.
+ (lfiwzx): Ditto.
+ (floatunssi<mode>2_lfiwzx): Ditto.
+ (floatunssi<mode>2_lfiwzx_mem): Ditto.
+ (floatunssi<mode>2_lfiwzx_mem2): Ditto.
+ (floatdidf2_mem): Ditto.
+ (floatunsdidf2_fcfidu): Ditto.
+ (floatunsdidf2_mem): Ditto.
+ (floatunsdisf2): Ditto.
+ (floatunsdisf2_fcfidus): Ditto.
+ (floatunsdisf2_mem): Ditto.
+ (floatsidf2): Add support for LFIWAX/LFIWZX/FCFIDS/FCFIDU/FCFIDUS.
+ Use FCFID on 32-bit hosts that support it.
+ (floatsidf2_internal): Ditto.
+ (floatunssisf2): Ditto.
+ (floatunssidf2): Ditto.
+ (floatunssidf2_internal): Ditto.
+ (floatsisf2): Ditto.
+ (floatdidf2): Ditto.
+ (floatdidf2_fpr): Ditto.
+ (floatunsdidf2): Ditto.
+ (floatdisf2): Ditto.
+ (floatdisf2_fcfids): Ditto.
+ (floatdisf2_internal1): Ditto.
+ (fixuns_truncsfsi2): Delete, merge into common pattern for both
+ SF/DF. Add power7 support.
+ (fix_truncsfsi2): Ditto.
+ (fixuns_truncdfsi2): Ditto.
+ (fixuns_truncdfdi2): Ditto.
+ (fix_truncdfsi2): Ditto.
+ (fix_truncdfsi2_internal): Ditto.
+ (fix_truncdfsi2_internal_gfxopt): Ditto.
+ (fix_truncdfsi2_mfpgpr): Ditto.
+ (fctiwz): Ditto.
+ (btruncdf2): Ditto.
+ (btruncdf2_fpr): Ditto.
+ (btructsf2): Ditto.
+ (ceildf2): Ditto.
+ (ceildf2_fpr): Ditto.
+ (ceilsf2): Ditto.
+ (floordf2): Ditto.
+ (floordf2_fpr): Ditto.
+ (floorsf2): Ditto.
+ (rounddf2): Ditto.
+ (rounddf2_fpr): Ditto.
+ (roundsf2): Ditto.
+ (fix_trunc<mode>si2): Combine SF/DF conversion into one insn.
+ (fix_trunc<mode>di2): Ditto.
+ (fixuns_trunc<mode>si2): Ditto.
+ (fixuns_trunc<mode>di2): Ditto.
+ (fctiwz_<mode>): Ditto.
+ (btrunc<mode>2): Ditto.
+ (btrunc<mode>2_fpr): Ditto.
+ (ceil<mode>2): Ditto.
+ (ceil<mode>2_fpr): Ditto.
+ (floor<mode>2): Ditto.
+ (float<mode>2_fpr): Ditto.
+ (round<mode>2): Ditto.
+ (round<mode>2_fpr): Ditto.
+ (fix_trunc<mode>si2_stfiwx): New insn for machines with STFIWX.
+ (fixuns_trunc<mode>si2_stfiwx): Ditto.
+ (fix_truncdfsi2_internal): Ditto.
+ (fix_trunc<mode>si2_mem): Combiner pattern to eliminate storing
+ converted value on stack, loaded into GPR, and then stored into
+ the final destination.
+ (fix_trunc<mode>di2_fctidz): New pattern for targets supporting
+ FCTIDZ.
+ (lrint<mode>di2): New insn, provide the lrint builtin functions.
+ (ftruncdf2): Delete, unused.
+ (fix_trunctfsi2_internal): Use gen_fctiwz_df, not gen_fctiwz.
+
+ * config/rs6000/vsx.md (toplevel): Update copyright year.
+ (VSr2): Use "ws" contraint for DFmode, not "!r#r".
+ (VSr3): Ditto.
+
+2010-08-27 Basile Starynkevitch <basile@starynkevitch.net>
+ Jeremie Salvucci <jeremie.salvucci@free.fr>
+
+ * gengtype.c (output_type_enum): Test the right union member.
+
+2010-08-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/41484
+ * config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
+ operands for operand 1.
+ (sse4_1_extendv4qiv4si2): Ditto.
+ (sse4_1_extendv2qiv2di2): Ditto.
+ (sse4_1_extendv4hiv4si2): Ditto.
+ (sse4_1_extendv2hiv2di2): Ditto.
+ (sse4_1_extendv2siv2di2): Ditto.
+ (sse4_1_zero_extendv8qiv8hi2): Ditto.
+ (sse4_1_zero_extendv4qiv4si2): Ditto.
+ (sse4_1_zero_extendv2qiv2di2): Ditto.
+ (sse4_1_zero_extendv4hiv4si2): Ditto.
+ (sse4_1_zero_extendv2hiv2di2): Ditto.
+ (sse4_1_zero_extendv2siv2di2): Ditto.
+ (*sse4_1_extendv8qiv8hi2): Remove insn pattern.
+ (*sse4_1_extendv4qiv4si2): Ditto.
+ (*sse4_1_extendv2qiv2di2): Ditto.
+ (*sse4_1_extendv4hiv4si2): Ditto.
+ (*sse4_1_extendv2hiv2di2): Ditto.
+ (*sse4_1_extendv2siv2di2): Ditto.
+ (*sse4_1_zero_extendv8qiv8hi2): Ditto.
+ (*sse4_1_zero_extendv4qiv4si2): Ditto.
+ (*sse4_1_zero_extendv2qiv2di2): Ditto.
+ (*sse4_1_zero_extendv4hiv4si2): Ditto.
+ (*sse4_1_zero_extendv2hiv2di2): Ditto.
+ (*sse4_1_zero_extendv2siv2di2): Ditto.
+
+2010-08-27 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/mips/mips-protos.h (mips_function_arg_advance): Delete
+ (mips_function_arg): Delete.
+ (mips_function_arg_boundary): Take a const_tree.
+ * config/mips/mips.c (mips_function_arg_boundary): Likewise.
+ (mips_arg_info): Likewise.
+ (mips_setup_incoming_varargs): Call mips_function_arg_advance
+ instead of FUNCTION_ARG_ADVANCE.
+ (mips_function_arg_advance): Adjust prototype. Make static.
+ (mips_function_arg): Likewise.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+ * config/mips/mips.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
+
+2010-08-27 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rs6000/rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
+ * config/rs6000/rs6000-protos.h (function_arg_advance): Delete.
+ (function_arg): Delete.
+ (function_arg_boundary): Take a const_tree.
+ * config/rs6000/rs6000.c (function_arg_boundary): Likewise.
+ (rs6000_spe_function_arg): Likewise.
+ (rs6000_parm_start): Likewise.
+ (rs6000_arg_size): Likewise.
+ (rs6000_darwin64_record_arg_advance_recurse): Likewise.
+ (rs6000_darwin64_record_arg): Likewise. Take a bool instead of an int.
+ (rs6000_mixed_function_arg): Likewise.
+ (function_arg): Rename to...
+ (rs6000_function_arg): ...this.
+ (function_arg_advance): Rename to...
+ (rs6000_function_arg_advance_1): ...this
+ (rs6000_function_arg_advance): New function. Call it.
+ (setup_incoming_varargs): Call rs6000_function_arg_advance_1.
+ (rs6000_return_in_memory): Adjust call to rs6000_darwin64_record_arg.
+ (rs6000_function_value): Likewise.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm.md (enabled): Test the value of arch_enabled
+ rather than just using it.
+
+2010-08-27 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * dse.c (group_info.base_mem, get_group_info): Use BLKmode to
+ cover all the possible offsets from this base.
+ (scan_reads_nospill): Pass base_mem's mode to canon_true_dependence.
+
+2010-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/44485
+ * calls.c (flags_from_decl_or_type): For const or pure
+ noreturn functions return ECF_LOOPING_CONST_OR_PURE|ECF_NORETURN
+ together with ECF_CONST resp. ECF_PURE.
+ * builtins.c (expand_builtin): Use flags_from_decl_or_type
+ instead of querying flags directly.
+ * tree-ssa-loop-niter.c (finite_loop_p): Likewise.
+ * tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise.
+
+2010-08-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45255
+ * tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P statics
+ and externals are also invariant.
+
+2010-08-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/44858
+ * combine.c (try_combine): If recog_for_combine added CLOBBERs to
+ newi2pat, make sure they don't affect newpat.
+
+ PR rtl-optimization/45400
+ * combine.c (simplify_shift_const_1) <case SUBREG>: Only use
+ SUBREG_REG if both modes are of MODE_INT class.
+
+2010-08-25 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
+ * config/arm/arm.md (generic_sched): No for Cortex-A5.
+ (generic_vfp): Likewise.
+ (cortex-a5.md): Include.
+ * config/arm/cortex-a5.md: New.
+
+2010-08-25 Richard Guenther <rguenther@suse.de>
+
+ * alias.c (get_alias_set): Assign a single alias-set to all pointers.
+ * gimple.c (gimple_get_alias_set): Remove special handling
+ for pointers.
+
+2010-08-25 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR middle-end/45355
+ * combine.c (try_combine): Use reg_overlap_mentioned_p rather than
+ dead_or_set_p when computing i0_feeds_i2_n.
+
+ * combine.c (find_split_point): Undo canonicalization of multiply-add
+ to (minus x (mult)) when it seems likely that this will increase the
+ chances of a split.
+
+2010-08-25 Richard Guenther <rguenther@suse.de>
+
+ PR lto/44562
+ * lto-streamer.c (lto_record_common_node): Do not mess with
+ TYPE_CANONICAL when not in lto.
+ * gimple.c (gimple_register_type): Likewise.
+
+2010-08-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45316
+ * tree-ssa-pre.c (eliminate): Properly clean EH info.
+
+2010-08-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45393
+ * tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer
+ and clean EH info. Avoid SSA update.
+ (execute_cse_sincos): Cleanup the CFG if it has changed.
+
+2010-08-25 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45379
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle
+ TARGET_MEM_REF in alignment computation.
+
+2010-08-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/45059
+ * tree-ssa-reassoc.c (eliminate_redundant_comparison): Strip useless
+ type conversions from newop{1,2}. Assert t is a comparison and
+ newop{1,2} after the stripping are gimple vals.
+
+2010-08-25 Tejas Belagod <tejas.belagod@arm.com>
+
+ * config/arm/iterators.md (VU, SE, V_widen_l): New.
+ (V_unpack, US): New.
+ * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for vmovl.
+ (vec_unpack<US>_lo_<mode>): Likewise.
+ (neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl.
+ (neon_vec_unpack<US>_lo_<mode>): Likewise.
+ (vec_widen_<US>mult_lo_<mode>): Expansion for vmull.
+ (vec_widen_<US>mult_hi_<mode>): Likewise.
+ (neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull.
+ (neon_vec_<US>mult_hi_<mode>"): Likewise.
+ (neon_unpack<US>_<mode>): Widening move intermediate step for
+ vectorizing without -mvectorize-with-neon-quad.
+ (neon_vec_<US>mult_<mode>): Widening multiply intermediate step
+ for vectorizing without -mvectorize-with-neon-quad.
+ * config/arm/predicates.md (vect_par_constant_high): Check for
+ high-half lanes of a vector.
+ (vect_par_constant_low): Check for low-half lanes of a vector.
+
+2010-08-24 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (struct ifc_dr): New.
+ (IFC_DR): New.
+ (DR_WRITTEN_AT_LEAST_ONCE): New.
+ (DR_RW_UNCONDITIONALLY): New.
+ (memref_read_or_written_unconditionally): Use the cached values
+ when possible.
+ (write_memref_written_at_least_once): Same.
+ (if_convertible_loop_p): Initialize and free DR->aux fields.
+
+2010-08-24 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gimple.c (gimple_could_trap_p_1): Not static anymore.
+ Pass an extra bool parameter include_mem.
+ (gimple_could_trap_p): Adjust call to gimple_could_trap_p_1.
+ (gimple_assign_rhs_could_trap_p): Same.
+ * gimple.h (gimple_could_trap_p_1): Declared.
+ * tree-data-ref.h (same_data_refs_base_objects): New.
+ (same_data_refs): New.
+ * tree-if-conv.c (memrefs_read_or_written_unconditionally): New.
+ (write_memrefs_written_at_least_once): New.
+ (ifcvt_memrefs_wont_trap): New.
+ (operations_could_trap): New.
+ (ifcvt_could_trap_p): New.
+ (if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p.
+ Gets a vector of data refs.
+ (if_convertible_stmt_p): Same.
+ (if_convertible_loop_p_1): New.
+ (if_convertible_loop_p): Call if_convertible_loop_p_1.
+
+2010-08-24 Sebastian Pop <sebastian.pop@amd.com>
+
+ * common.opt (ftree-loop-if-convert-stores): New flag.
+ * doc/invoke.texi (ftree-loop-if-convert-stores): Documented.
+ * tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI. Insert
+ the created statement before GSI.
+ (if_convertible_phi_p): Allow virtual phi nodes when
+ flag_loop_if_convert_stores is set.
+ (if_convertible_gimple_assign_stmt_p): Allow memory reads and writes
+ Do not handle types that do not match is_gimple_reg_type.
+ Remove loop and bb parameters. Call gimple_could_trap_p instead of
+ when flag_loop_if_convert_stores is set, as LHS can contain
+ memory refs.
+ (if_convertible_stmt_p): Remove loop and bb parameters. Update calls
+ to if_convertible_gimple_assign_stmt_p.
+ (if_convertible_loop_p): Update call to if_convertible_stmt_p.
+ (replace_phi_with_cond_gimple_assign_stmt): Renamed
+ predicate_scalar_phi. Do not handle virtual phi nodes.
+ (ifconvert_phi_nodes): Renamed predicate_all_scalar_phis.
+ Call predicate_scalar_phi.
+ (insert_gimplified_predicates): Insert the gimplified predicate of a BB
+ just after the labels for flag_loop_if_convert_stores, otherwise
+ insert the predicate in the end of the BB.
+ (predicate_mem_writes): New.
+ (combine_blocks): Call predicate_all_scalar_phis. When
+ flag_loop_if_convert_stores is set, call predicate_mem_writes.
+ (tree_if_conversion): Call mark_sym_for_renaming when
+ flag_loop_if_convert_stores is set.
+ (main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when
+ flag_loop_if_convert_stores is set.
+
+2010-08-24 Anatoly Sokolov <aesok@post.ru>
+
+ * config/pa/pa.c (hppa_register_move_cost, pa_libcall_value,
+ pa_function_value_regno_p, pa_print_operand_punct_valid_p): New.
+ (pa_function_value): Make static.
+ (override_options): Rename to...
+ (pa_option_override): ...this. Make static.
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_REGISTER_MOVE_COST,
+ TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P,
+ TARGET_OPTION_OVERRIDE): Define.
+ * config/pa/pa.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P,
+ LIBCALL_VALUE, REGISTER_MOVE_COST, PRINT_OPERAND_PUNCT_VALID_P):
+ Remove.
+ * config/pa/pa-protos.h (override_options): Remove.
+
+2010-08-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45379
+ * tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF
+ if addr->index is NULL or zero.
+ * tree-ssa-alias.c (indirect_refs_may_alias_p): Handle
+ TARGET_MEM_REF more properly.
+ (indirect_ref_may_alias_decl_p): Likewise.
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs.
+ * alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more properly.
+
+2010-08-23 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32c/m32c.c (m32c_function_value_regno_p): Make static.
+ (m32c_override_options): Rename to...
+ (m32c_option_override): ...this. Make static.
+ (TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define.
+ * config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P):
+ Remove.
+ * config/m32c/m32c-protos.h (m32c_override_options,
+ m32c_function_value_regno_p): Remove.
+
+2010-08-23 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-ssa-loop-prefetch.c (gather_memory_references_ref) :
+ Fix a typo in a previous commit.
+
+2010-08-23 Kai Tietz <kai.tietz@onevision.com>
+
+ * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost):
+ Pre-initialize innerloop_iters to one.
+
+2010-08-23 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-flow.h (may_be_nonaddressable_p): New definition. Make the
+ existing static function global.
+
+ * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
+ is changed to global.
+
+ * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
+ may_be_nonaddressable_p on base, and don't collect this reference
+ if the address of the base could not be taken.
+
+2010-08-23 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.opt (-mveclibabi=mass): New option to
+ enable the compiler to autovectorize mathmetical functions for
+ power7 using the Mathematical Acceleration Subsystem library.
+
+ * config/rs6000/rs6000.c (rs6000_veclib_handler): New variable to
+ handle which vector math library we have.
+ (rs6000_override_options): Add -mveclibabi=mass support.
+ (rs6000_builtin_vectorized_libmass): New function to handle auto
+ vectorizing math functions that are in the MASS library.
+ (rs6000_builtin_vectorized_function): Call it.
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document
+ -mveclibabi=mass.
+
+2010-08-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR boehm-gc/34544
+ * gthr-posix.h (__gthread_active_init): Delete.
+ (__gthread_active_p): Do activity check here.
+ Don't include errno.h on hppa-hpux. Update comment.
+ * gthr-posix95.h (__gthread_active_init): Delete.
+ (__gthread_active_p): Do activity check here.
+ Don't include errno.h on hppa-hpux. Update comment.
+ * config.gcc (hppa[12]*-*-hpux11*): Define extra_parts.
+ * config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only
+ add -lpthread when -mt or -pthread is specified.
+ * config/pa/pa-hpux11.h (LIB_SPEC): likewise.
+ (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define.
+ (stublib.c, pthread_default_stacksize_np-stub.o,
+ pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o,
+ $(T)libgcc_stub.a): Add methods.
+ * config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs.
+ (stublib.c, pthread_default_stacksize_np-stub.o,
+ pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods.
+ * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
+ pthread_mutex_unlock): New stubs.
+
+2010-08-22 Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in (gccspec.o, cppspec.o): Update dependencies.
+ * common.opt (L, nodefaultlibs, nostdlib, pg, static): New
+ options.
+ * config/avr/avr.h (LIBSTDCXX): Remove initial "-l".
+ * config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l".
+ * config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l".
+ * config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l".
+ * config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial
+ "-l".
+ * cppspec.c: Include opts.h.
+ (lang_specific_driver): Use cl_decoded_option structures.
+ * doc/tm.texi.in (MATH_LIBRARY): Update documentation.
+ * doc/tm.texi: Regenerate.
+ * gcc.c (translate_options): Translate -d to -foutput-class-dir=.
+ (driver_handle_option): Allow driver options needing no special
+ processing.
+ (process_command): Decode options before call to
+ lang_specific_driver. Pass decoded options to
+ lang_specific_driver.
+ * gcc.h (lang_specific_driver): Update prototype.
+ * gccspec.c: Include opts.h.
+ (lang_specific_driver): Use cl_decoded_option structures.
+ * opts-common.c (option_ok_for_language, generate_option,
+ generate_option_input_file): New.
+ (decode_cmdline_option): Use option_ok_for_language.
+ (decode_cmdline_options_to_array): Use generate_option_input_file.
+ (handle_generated_option): Use generate_option.
+ * opts.h (generate_option, generate_option_input_file): Declare.
+
+2010-08-22 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mips/mips.c (mips_override_options): Rename to...
+ (mips_option_override): ...this. Make static.
+ (TARGET_OPTION_OVERRIDE): Define.
+ (mips_in_small_data_p): Update comment.
+ * config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
+ (FIXED_REGISTERS): Update comment.
+ * config/mips/mips-protos.h (mips_override_options): Remove.
+
+2010-08-21 Olivier Hainque <hainque@adacore.com>
+
+ * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
+
+2010-08-21 Olivier Hainque <hainque@adacore.com>
+
+ * config/rs6000/vxworks.h (PREFERRED_STACK_BOUNDARY,
+ ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI.
+
+2010-08-20 Jan Hubicka <jh@suse.cz>
+
+ * tree-pass.h (pass_ipa_cdtor_merge): New function.
+ * cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make
+ heap allocated.
+ (record_cdtor_fn): Move to ipa.c; do not test for
+ have_ctors_dtors.
+ (build_cdtor): Move to ipa.c; add code avoiding construction
+ when target have ctors/dtors and there is only one ctor/dtor at given
+ priority.
+ (compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize
+ sort; reverse order of constructors.
+ (cgraph_build_cdtor_fns): Move to ipa.c; rename to build_cdtor_fns.
+ (cgraph_finalize_function): Do not call record_cdtor_fn.
+ (cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns.
+ (cgraph_build_static_cdtor): Move to ipa.c.
+ * ipa.c: Include target.h and tree-iterator.h.
+ (cgraph_build_static_cdtor, static_ctors, static_dtors,
+ record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor,
+ build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge,
+ pass_ipa_cdtor_merge): New.
+ * passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge.
+ * ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of
+ bounds access.
+
+2010-08-20 Jan Hubicka <jh@suse.cz>
+
+ PR c++/45307
+ PR c++/17736
+ * cgraph.h (cgraph_only_called_directly_p,
+ cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle
+ static cdtors.
+ * cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors
+ are not needed.
+ (cgraph_finalize_function): Static cdtors are reachable.
+ (cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p.
+
+2010-08-20 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of
+ flag_wpa.
+ * lto-streamer-out.c (lto_output): Likewise.
+ * passes.c (ipa_write_optimization_summaries): Initialize statement
+ uids.
+
+2010-08-20 Olivier Hainque <hainque@adacore.com>
+
+ * tree.h (alias_diag_flags): New enum.
+ (alias_pair): Add an 'emitted_diags' field.
+ * varasm.c (finish_aliases_1): Honor and update p->emitted_diags.
+ (assemble_alias): Initialize emitted_diags of new pairs.
+
+2010-08-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
+ * config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ (STACK_CHECK_PROTECT): Define.
+ * config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function.
+ (output_probe_stack_range): Likewise.
+ (rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static
+ builtin stack checking is enabled.
+ * config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare.
+ * config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant.
+ (probe_stack_range): New insn.
+
+2010-08-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/45336
+ * config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned
+ short first.
+
+ * config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned
+ char first.
+
+2010-08-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/45336
+ * config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator
+ to cover zero extension into 64-bit register.
+ (*sse2_pextrw): Likewise.
+ (*sse4_1_pextrd_zext): New insn.
+
+2010-08-20 Iain Sandoe <iains@gcc.gnu.org>
+
+ revert r163410, partially revert r163267.
+ * config/rs6000/darwin.h (LIB_SPEC): Remove.
+ * config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all
+ Darwin versions.
+
+2010-08-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/44974
+ * builtins.c (expand_builtin): Don't optimize away
+ calls to DECL_LOOPING_CONST_OR_PURE_P builtins.
+
+2010-08-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ashift %rsp splitter): Remove splitter.
+ (pro_epilogue_adjust_stack_di_2): Use "l" constraint for
+ alternative 1 of operand 2.
+
+2010-08-20 Jakub Jelinek <jakub@redhat.com>
+ Paolo Bonzini <bonzini@gnu.org>
+
+ * simplify-rtx.c (simplify_unary_operation_1): Optimize
+ (sign_extend (zero_extend (...)) and
+ ({sign,zero}_extend (lshiftrt (ashift X (const_int I)) (const_int I))).
+
+2010-08-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/45353
+ * sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
+ after bb_note is a BARRIER.
+
+2010-08-20 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/rs6000/darwin.h (LIB_SPEC): New. Provide saveFP/restFP by
+ linking libgcc.a.
+
+2010-08-20 Jakub Jelinek <jakub@redhat.com>
+ Michael Matz <matz@suse.de>
+
+ * tree-ssa-address.c (tree_mem_ref_addr): Convert offset to sizetype.
+
+2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
+
+ * ggc-common.c (ggc_mark_root_tab): New function, split out from...
+ (ggc_mark_roots): ...here.
+
+2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
+
+ * vec.h (FOR_EACH_VEC_ELT): Define.
+ * c-decl.c: Use it.
+ * cfgloop.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * combine.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * dbxout.c: Likewise.
+ * df-scan.c: Likewise.
+ * dominance.c: Likewise.
+ * dse.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * except.c: Likewise.
+ * expr.c: Likewise.
+ * function.c: Likewise.
+ * gcse.c: Likewise.
+ * genattr.c: Likewise.
+ * ggc-common.c: Likewise.
+ * gimplify.c: Likewise.
+ * graphite-blocking.c: Likewise.
+ * graphite-clast-to-gimple.c: Likewise.
+ * graphite-dependences.c: Likewise.
+ * graphite-interchange.c: Likewise.
+ * graphite-poly.c: Likewise.
+ * graphite-scop-detection.c: Likewise.
+ * graphite-sese-to-poly.c: Likewise.
+ * graphite.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * ifcvt.c: Likewise.
+ * implicit-zee.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-struct-reorg.c: Likewise.
+ * ipa.c: Likewise.
+ * ira-build.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-emit.c: Likewise.
+ * lambda-code.c: Likewise.
+ * loop-invariant.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * lower-subreg.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-opts.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * lto-streamer.c: Likewise.
+ * lto-symtab.c: Likewise.
+ * matrix-reorg.c: Likewise.
+ * opts.c: Likewise.
+ * predict.c: Likewise.
+ * print-tree.c: Likewise.
+ * sdbout.c: Likewise.
+ * sel-sched-dump.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * sel-sched.c: Likewise.
+ * sese.c: Likewise.
+ * stor-layout.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-chrec.c: Likewise.
+ * tree-data-ref.c: Likewise.
+ * tree-emutls.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-loop-distribution.c: Likewise.
+ * tree-loop-linear.c: Likewise.
+ * tree-mudflap.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-scalar-evolution.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-loop-im.c: Likewise.
+ * tree-ssa-loop-ivcanon.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-phiprop.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * tree.c: Likewise.
+ * value-prof.c: Likewise.
+ * var-tracking.c: Likewise.
+ * varasm.c: Likewise.
+ * vmsdbgout.c: Likewise.
+
+2010-08-19 Nathan Sidwell <nathan@codesourcery.com>
+ Richard Guenther <richard.guenther@gmail.com>
+
+ * gimplify.c (gimplify_modify_expr): When assigning to volatiles,
+ copy the src value and return a copy.
+ * doc/extend.texi (Volatiles): Move from C++ to C and expand.
+ (C++ Volatiles): Adjust to describe C++ semantics only.
+
+2010-08-20 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to
+ be zero or nonzero.
+ * doc/tm.texi: Regenerate.
+ * defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define.
+ * df-scan.c (df_get_exit_block_use_set), reginfo.c
+ (init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p):
+ Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics.
+ * config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define
+ to 1.
+
+2010-08-20 Olivier Hainque <hainque@adacore.com>
+
+ * config/sparc/sparc.c (sparc_asm_function_epilogue): Don't output
+ an extra nop past a sibling call at the very end.
+
+2010-08-19 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/45350
+ * combine.c (try_combine): Initialize i1_is_used and i2_is_used. Fix
+ a comment.
+
+2010-08-19 Nathan Froyd <froydnj@codesourcery.com>
+
+ * target.def (function_arg, function_incoming_arg): Remove const
+ qualifier on CUMULATIVE_ARGS parameter.
+ * targhooks.h (default_function_arg, default_function_incoming_arg):
+ Likewise.
+ * targhooks.c (default_function_arg, default_function_incoming_arg):
+ Likewise.
+ * config/i386/i386.c (ix86_function_arg): Likewise.
+
+2010-08-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/45336
+ * simplify-rtx.c (simplify_unary_operation_1): Optimize nested
+ SIGN_EXTENDs or ZERO_EXTENDs.
+
+2010-08-19 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/42172
+ * combine.c (combine_validate_cost): New arg I0. All callers changed.
+ Take its cost into account if nonnull.
+ (insn_a_feeds_b): New static function.
+ (combine_instructions): Look for four-insn combinations.
+ (can_combine_p): New args PRED2, SUCC2. All callers changed. Take
+ them into account when computing all_adjacent and looking for other
+ uses.
+ (combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC. All callers
+ changed. Treat them like I1DEST and I1_NOT_IN_SRC.
+ (try_combine): New arg I0. Handle four-insn combinations.
+ (distribute_notes): New arg ELIM_I0. All callers changed. Treat it
+ like ELIM_I1.
+
+2010-08-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/45307
+ * gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED
+ if ctor is empty.
+ (gimplify_modify_expr_rhs): Adjust.
+
+2010-08-19 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to
+ bitmap_bit_p.
+ * config/bfin/bifn.c (bfin_discover_loop): Likewise.
+ * dominance.c (iterate_fix_dominators): Likewise.
+ * dse.c (set_usage_bits): Likewise.
+ (set_position_unneeded, record_store): Likewise.
+ * gimple-fold.c (get_maxval_strlen): Likewise.
+ * haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise.
+ * ipa-inline.c (update_caller_keys): Likewise.
+ * ipa-split.c (verify_non_ssa_vars): Likewise.
+ * ipa-type-escape.c (mark_type, close_type_seen): Likewise.
+ (close_type_exposed_parameter, close_type_full_escape): Likewise.
+ (close_addressof_down): Likewise.
+ * ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise.
+ (setup_allocno_left_conflicts_size): Likewise.
+ (ira_reassign_conflict_allocnos): Likewise.
+ (ira_reassign_pseudos): Likewise.
+ * ira-emit.c (change_loop): Likewise.
+ * loop-invariant.c (mark_regno_live, mark_regno_death): Likewise.
+ * lto-streamer-out.c (write_symbol): Likewise.
+ * predict.c (expr_expected_value_1): Likewise.
+ * regstat.c (regstat_bb_compute_ri): Likewise.
+ * sel-sched.c (create_block_for_bookkeeping): Likewise.
+ (track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise.
+ * stmt.c (expand_case): Likewise.
+ * tree-eh.c (emit_eh_dispatch): Likewise.
+ * tree-into-ssa.c (prune_unused_phi_nodes): Likewise.
+ * tree-loop-distribution.c (make_nodes_having_upstream_mem_writes):
+ Likewise.
+ (rdg_flag_vertex, rdg_flag_loop_exits): Likewise.
+ (rdg_build_components): Likewise.
+ * tree-object-size.c (collect_object_sizes_for): Likewise.
+ * tree-sra.c (convert_callers): Likewise.
+ * tree-ssa-coalesce.c (live_track_add_partition): Likewise.
+ * tree-ssa-live.c (mark_all_vars_used_1): Likewise.
+ * tree-ssa-pre.c (bitmap_set_replace_value): Likewise.
+
+2010-08-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*lea_1): Use P mode iterator.
+ (lea add splitter): Also handle DImode operands.
+ (DImode lea add splitter): Use x86_64_immediate_operand for operand 2
+ predicate. Do not use ix86_lea_for_add_ok.
+ (zext DImode lea add splitter): Use ix86_lea_for_add_ok.
+ (lea ashift splitter): Also handle DImode operands.
+ (DImode lea ashift splitter): Remove splitter.
+
+2010-08-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
+ ix86_binary_operator_ok.
+
+2010-08-19 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/44691
+ * sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
+ is not a register.
+
+2010-08-19 Ian Bolton <ian.bolton@arm.com>
+
+ PR target/45070
+ * config/arm/arm.c (arm_output_epilogue): Ensure that return
+ value of size 1-3 is handled correctly.
+
+2010-08-19 Ian Bolton <ian.bolton@arm.com>
+
+ * tree-switch-conversion.c (gen_inbound_check): Ensure that the
+ type for the conditional has wide enough range.
+
+2010-08-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/45327
+ * config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
+ ix86_binary_operator_ok.
+
+2010-08-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
+ <default>: Swap operands 1 and 2 for alternative 2 to use existing
+ code to output insn mnemonic. Fix comment.
+ (*addsi_1_zext): Add r-r-0 alternative 1.
+ <TYPE_LEA>: Split insn to lea.
+ <default>: Handle alternative 1.
+ (*addhi_1_lea): Add r-r-0 alternative 2. Use cond RTX instead of
+ multi-level if_then_else RTX to set "type" attribute.
+ <default>: Handle alternative 2.
+ (*addqi_1_lea): Add q-q-0 alternative 2 and r-r-0 alternative 4.
+ Use cond RTX instead of multi-level if_then_else RTX to set
+ "type" attribute.
+ <default>: Handle alternatives 2 and 4.
+ (lea splitters): Update calls to ix86_lea_for_add_ok.
+
+ * config/i386/i386.c (ix86_lea_for_add_ok): Remove unused "code"
+ argument.
+ * config/i386/i386-protos.h (ix86_lea_for_add_ok): Update prototype.
+
+2010-08-18 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts,
+ use operand helpers.
+
+2010-08-18 Paolo Bonzini <bonzini@gnu.org>
+
+ PR middle-end/45292
+ * optabs.c (expand_bool_compare_and_swap): Expand pending
+ pops before trying the optab.
+
+2010-08-18 Yao Qi <yao@codesourcery.com>
+
+ PR target/45094
+ * config/arm/arm.c (output_move_double): Fix typo generating
+ instructions ('ldr'->'str').
+
+2010-08-18 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR rtl-optimization/42575
+ * optabs.c (expand_doubleword_mult): Generate new pseudos to shorten
+ live ranges.
+
+2010-08-18 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * config/arm/arm-protos.h (arm_expand_sync): New.
+ (arm_output_memory_barrier, arm_output_sync_insn): New.
+ (arm_sync_loop_insns): New.
+ * config/arm/arm.c (FL_ARCH7): New.
+ (FL_FOR_ARCH7): Include FL_ARCH7.
+ (arm_arch7): New.
+ (arm_print_operand): Support %C markup.
+ (arm_legitimize_sync_memory): New.
+ (arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
+ (arm_process_output_memory_barrier, arm_output_memory_barrier): New.
+ (arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
+ (arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
+ (arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
+ (arm_process_output_sync_insn, arm_output_sync_insn): New.
+ (arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
+ * config/arm/arm.h (struct arm_sync_generator): New.
+ (TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
+ (TARGET_HAVE_MEMORY_BARRIER): New.
+ (TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
+ * config/arm/arm.md: Include sync.md.
+ (UNSPEC_MEMORY_BARRIER): New.
+ (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
+ (VUNSPEC_SYNC_OP):New.
+ (VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
+ (sync_result, sync_memory, sync_required_value): New attributes.
+ (sync_new_value, sync_t1, sync_t2): Likewise.
+ (sync_release_barrier, sync_op): Likewise.
+ (length): Add logic to length attribute defintion to call
+ arm_sync_loop_insns when appropriate.
+ * config/arm/sync.md: New file.
+
+2010-08-17 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.h (host_integerp): Add ATTRIBUTE_PURE when not
+ ENABLE_TREE_CHECKING.
+ (tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING
+ and GCC >= 4.3.
+
+2010-08-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_lea_for_add_ok): For !TARGET_OPT_AGU
+ or optimizing for size, always avoid lea if possible.
+
+ * config/i386/i386.md (*add<mode>_1): Always avoid lea if possible.
+
+2010-08-17 Iain Sandoe <iains@gcc.gnu.org>
+
+ * unwind-dw2-fde-darwin.c (_darwin10_Unwind_FindEnclosingFunction):
+ Dunmmy function with NULL return unless the target is
+ OSX >= 10.6 (Darwin10).
+
+2010-08-17 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR target/45258
+ * gcc.c (spec_function): Add remove-outfile.
+ (remove_outfile_spec_function): New function.
+ * config/darwin.h (LINK_SPEC): Add removal of -ldl, -lm and -lpthread.
+ * invoke.texi (replace-outfile): Document.
+
+2010-08-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/45296
+ * reginfo.c (globalize_reg): Reject stack registers.
+
+2010-08-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-dom.c (struct edge_info): Use a VEC for the
+ list of conditional equivalences.
+ (free_all_edge_infos): Adjust.
+ (record_equivalences_from_incoming_edge): Likewise.
+ (record_cond): Likewise.
+ (build_and_record_new_cond): Likewise.
+ (record_conditions): Likewise.
+ (dom_opt_leave_block): Likewise.
+
+2010-08-17 Kai Tietz <kai.tietz@onevision.com>
+
+ * doc/invoke.texi (ms-extension): Add documentation.
+
+2010-08-17 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_comparison): Strip nops inside POINTER_PLUS_EXPR.
+
+2010-08-17 Shujing Zhao <pearly.zhao@oracle.com>
+
+ PR c/40563
+ * c-decl.c (diagnose_uninitialized_cst_member): New function.
+ (finish_decl): Use it to issue a -Wc++-compat warning about
+ uninitialized const field in struct or union.
+
+ (finish_struct): Use strip_array_types.
+
+2010-08-17 Jakub Jelinek <jakub@redhat.com>
+
+ * function.c (block_fragments_nreverse, blocks_nreverse_all): New
+ functions.
+ (reorder_blocks): Use blocks_nreverse_all instead of blocks_nreverse.
+ (reorder_blocks_1): Assert BLOCK_FRAGMENT_ORIGIN is NULL. Don't
+ call block_nreverse here.
+ (blocks_nreverse): Rename decl temporary to block.
+
+2010-08-16 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/arm/thumb2.md (thumb2_notsi_shiftsi,
+ thumbsi_notsi_shiftsi_compare0, thumb2_not_shiftsi_compare0_scratch,
+ thumb2_cmpsi_shiftsi, thumb2_cmpsi_shiftsi_swp, thumb2_arith_shiftsi,
+ thumb2_arith_shiftsi splitter, thumb2_arith_shiftsi_compare0,
+ thumb2_arith_shiftsi_compare0_scratch, thumb2_sub_shiftsi,
+ thumb2_sub_shiftsi_compare0, thumb2_sub_shiftsi_compare0_scratch,
+ thumb2_iorsi3): Delete.
+ (orsi_notsi_si): No longer a named pattern.
+ (orsi_not_shiftsi_si): Renamed from thumb_orsi_not_shiftsi_si.
+ * config/arm/predicates.md (shift_amount_operand): New.
+ (mult_operator): New.
+ * config/arm/arm.md (attr arch, attr arch_enabled, attr insn_enabled,
+ attr enabled): New.
+ (iorsi3_insn): Renamed from arm_iorsi3. Handle a new alternative if
+ arch matches t2.
+ (not_shiftsi): Renamed from arm_notsi_shiftsi. Handle Thumb2 variant.
+ (not_shiftsi_compare0): Likewise, renamed from
+ arm_notsi_shiftsi_compare0.
+ (not_shiftsi_compare0_scratch): Likweise, renamed from
+ arm_notsi_shiftsi_compare0_scratch.
+ (cmpsi_shiftsi): Likewise, renamed from arm_cmpsi_shiftsi.
+ (cmpsi_shiftsi_swp): Likewise, renamed from arm_cmpsi_shiftsi_swp.
+ (arith_shiftsi): Handle Thumb2 variant. Set insn_enabled attribute
+ so that the register alternative is disabled when the shift_operator
+ is MULT. Use "M" as the constraint for constants.
+ (arith_shiftsi splitter): Enable for TARGET_32BIT.
+ (arith_shiftsi_compare0): Handle Thumb2 variant. Use "M" as the
+ constraint for constants.
+ (arith_shiftsi_compare0_scratch): Likewise.
+ (sub_shiftsi, sub_shiftsi_compare0, sub_shiftsi_compare0_scratch):
+ Handle Thumb2 alternative.
+
+2010-08-16 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/options.texi (NoDriverArg): Document.
+ * gcc.c (cpp_unique_options): Generate -MD and -MMD instead of
+ -MDX and -MMDX.
+ * opt-functions.awk (switch_flags): Handle NoDriverArg.
+ * opts-common.c (decode_cmdline_option): Ignore CL_SEPARATE
+ marking for CL_NO_DRIVER_ARG options when in the driver.
+ * opts.h (CL_NO_DRIVER_ARG): Define.
+ (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
+ CL_COMMON): Update values.
+
+2010-08-16 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt: Add driver options.
+ (auxbase, auxbase-strip, quiet, version): Mark RejectDriver.
+ * doc/options.texi (Driver, RejectDriver): Document.
+ * gcc.c (pass_exit_codes, print_search_dirs, print_file_name,
+ print_prog_name, print_multi_directory, print_sysroot,
+ print_multi_os_directory, print_multi_lib,
+ print_sysroot_headers_suffix, report_times, combine_flag,
+ use_pipes, wrapper_string): Remove.
+ (save_switch, driver_unknown_option_callback,
+ driver_wrong_lang_callback, driver_post_handling_callback,
+ driver_handle_option): New.
+ (spec_lang, last_language_n_infiles): Make file-scope static
+ instead of local to process_command.
+ (process_command): Use decode_cmdline_options_to_array and
+ read_cmdline_option for option processing. Compute have_c in
+ prescan of decoded options.
+ * opt-functions.awk (switch_flags): Handle Driver and
+ RejectDriver.
+ (var_type, var_type_struct): Handle Separate options as generating
+ const char * variables.
+ * opts-common.c (decode_cmdline_option): Expect CL_COMMON and
+ CL_TARGET to be passed by caller if required.
+ (decode_cmdline_options_to_array): Update comment.
+ * opts.c (complain_wrong_lang): Handle options only valid for the
+ driver.
+ (decode_options): Update call to decode_cmdline_options_to_array.
+ (print_filtered_help): Ignore driver-only options.
+ (print_specific_help): Ignore CL_DRIVER.
+ (common_handle_option): Don't call print_specific_help for CL_DRIVER.
+ * opts.h (CL_DRIVER, CL_REJECT_DRIVER): Define.
+ (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON):
+ Update values.
+
+2010-08-16 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (verify_types_in_gimple_reference): Verify
+ TARGET_MEM_REF a bit.
+ * tree-ssa-address.c (addr_for_mem_ref): Adjust.
+ (create_mem_ref_raw): Always create TMR_OFFSET, store the
+ alias pointer type via it.
+ (copy_mem_ref_info): Adjust.
+ (maybe_fold_tmr): Likewise.
+ * tree.c (mem_ref_offset): Also handle TARGET_MEM_REF.
+ (reference_alias_ptr_type): Likewise.
+ * tree.def (TARGET_MEM_REF): Remove TMR_ORIGINAL operand,
+ adjust documentation of TMR_OFFSET operand.
+ * alias.c (get_alias_set): Do not look at TMR_ORIGINAL but
+ use the alias pointer type.
+ * expr.c (expand_expr_real_1): Do not use TMR_ORIGINAL to
+ initialize mem attrs but the TMR itself.
+ * tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REF
+ similar to MEM_REF.
+ * tree-pretty-print.c (dump_generic_node): Do not dump TMR_ORIGINAL.
+ * tree-ssa-loop-ivopts.c (idx_remove_ssa_names): Remove.
+ (unshare_and_remove_ssa_names): Likewise.
+ (copy_ref_info): Adjust.
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Simplify
+ TARGET_MEM_REF case.
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Do not look
+ at TMR_ORIGINAL.
+ * tree.h (TMR_ORIGINAL): Remove.
+ * gimple.c (get_base_address): For TARGET_MEM_REF with a
+ symbol return that.
+ * tree-dfa.c (get_ref_base_and_extent): Handle TARGET_MEM_REF
+ with a symbol.
+ (get_addr_base_and_unit_offset): Likewise.
+ * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Handle
+ TARGET_MEM_REFs.
+ (indirect_ref_may_alias_decl_p): Likewise.
+ (refs_may_alias_p_1): Do not bail out for TARGET_MEM_REFs.
+
+2010-08-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * doc/invoke.texi (-fomit-frame-pointer): Document that starting
+ with GCC version 4.6, the default setting (when not optimizing
+ for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has
+ been changed to -fomit-frame-pointer.
+
+2010-08-15 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.h (REAL_LIBGCC_SPEC): Remove libgcc_s.10.5 stub for
+ Darwin10. Do not link libgcc.a for Darwin >= 9.
+
+2010-08-15 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/invoke.texi (Warning Options): Fix terminology and markup
+ in the description of how unknown warning options are handled.
+
+2010-08-15 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vect-data-refs.c (vect_setup_realignment): Support realignment
+ in basic blocks.
+ (vect_supportable_dr_alignment): Check alignment for basic blocks.
+ * tree-vect-slp.c (vect_build_slp_tree): Allow different codes for
+ data references.
+ (vect_bb_vectorization_profitable_p): New function.
+ (vect_slp_analyze_bb): Call vect_bb_vectorization_profitable_p() to
+ check if it's worthwhile to vectorize the basic block.
+
+2010-08-14 Anatoly Sokolov <aesok@post.ru>
+
+ * reload.h (register_move_cost, memory_move_secondary_cost,
+ secondary_reload_class): Adjust prototype.
+ * rtl.h (reg_class_subset_p): Adjust prototype.
+ * reload.c (secondary_reload_class): Change arguments type from
+ enum reg_class to reg_class_t. Change result type to reg_class_t.
+ * reginfo.c (register_move_cost, reg_class_subset_p): Change
+ arguments type from enum reg_class to reg_class_t.
+ (memory_move_secondary_cost): Change arguments type from
+ enum reg_class to reg_class_t. Change type of saved_flags to
+ reg_class_t.
+
+ * config/mips/mips.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
+ Remove macros.
+ (mips_cost): Remove.
+ (struct mips_rtx_cost_data): Moved to mips.c.
+ * config/mips/mips-protos.h (mips_register_move_cost): Remove.
+ * config/mips/mips.c (struct mips_rtx_cost_data): Moved from mips.h.
+ (mips_cost): Make static.
+ (mips_canonicalize_move_class): Change argument type to reg_class_t.
+ Change result type to reg_class_t.
+ (mips_move_to_gpr_cost, mips_move_from_gpr_cost): Change arguments
+ type from enum reg_class to reg_class_t.
+ (mips_register_move_cost): Make static. Change arguments
+ type from enum reg_class to reg_class_t.
+ (mips_memory_move_cost): New function.
+ (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
+
+2010-08-14 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/43358
+ * ira-lives.c (process_single_reg_class_operands): Adjust the costs
+ of a single hard register, using simplify_subreg_regno to decide
+ what that register should be.
+
+2010-08-14 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * config/mips/mips.c (CODE_FOR_loongson_pmullh): Define.
+ * config/mips/loongson.md (UNSPEC_LOONGSON_PMULL): Delete.
+ (loongson_pmull<V_suffix>): Rename to...
+ (mul<mode>3): ...this and use MULT instead of an UNSPEC.
+
+2010-08-13 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * configure.ac: Enable -fomit-frame-pointer on darwin
+ which support dwarf2.
+ * config/i386/i386.c (override_options): Same.
+
+2010-08-13 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/arm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE.
+
+2010-08-12 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and
+ -MMD.
+
+2010-08-12 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give
+ up dot_prod pattern searching if a stmt is outside the loop.
+
+2010-08-12 H.J. Lu <hongjiu.lu@intel.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ * config.gcc: Handle --enable-frame-pointer.
+
+ * configure.ac: Add --enable-frame-pointer.
+ * configure: Regenerated.
+
+ * config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0.
+ (override_options): If not configured with --enable-frame-pointer,
+ enable -fomit-frame-pointer (but not for TARGET_MACHO or when
+ optimizing for size), -fasynchronous-unwind-tables and
+ -maccumulate-outgoing-args by default.
+
+2010-08-12 Jakub Jelinek <jakub@redhat.com>
+
+ * builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning.
+
+ PR middle-end/45262
+ * fold-const.c (make_range) <case NEGATE_EXPR>: Punt if
+ -a overflows. Normalize the range.
+
+2010-08-12 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45232
+ * tree-ssa-reassoc.c (can_reassociate_p): Disable re-association
+ for types with undefined overflow.
+ (reassociate_bb): Allow re-associating of bit and min/max
+ operations for types with undefined overflow.
+ * tree-ssa-forwprop.c (associate_plusminus): New function.
+ (tree_ssa_forward_propagate_single_use_vars): Call it.
+
+2010-08-12 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (struct ptr_info_def): Add align and misalign fields.
+ * tree-ssa-alias.c (get_ptr_info): Move ...
+ * tree-ssanames.c (get_ptr_info): ... here. Initialize
+ align and misalign fields conservatively.
+ * tree-ssa-ccp.c (ccp_finalize): From partially constant pointers
+ derive alignment information.
+ (evaluate_stmt): Derive alignment information from memory
+ allocation functions.
+ * tree.h (get_pointer_alignment): Make unsigned.
+ * builtins.c (get_object_alignment): Use alignment information we
+ have computed for pointers.
+ (get_pointer_alignment): Likewise. Make conservative, return
+ and unsigned value.
+ (expand_builtin_strlen): Adjust.
+ (expand_builtin_memcmp): Likewise.
+ (expand_builtin_strcmp): Likewise.
+ (expand_builtin_strncmp): Likewise.
+ (get_builtin_sync_mem): Use at least mode alignment.
+ (fold_builtin_memset): Adjust.
+ (fold_builtin_memory_op): Likewise.
+ * gimple-pretty-print.c (dump_gimple_phi): Alongside alias
+ information also dump pointer alignment knowledge.
+ (dump_gimple_stmt): Likewise.
+
+2010-08-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (LONG_TYPE_SIZE): Remove.
+ (EMPTY_FIELD_BOUNDARY): Remove.
+ * config/i386/i386-interix.h (PCC_BITFIELD_TYPE_MATTERS): Remove.
+
+2010-08-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45259
+ * caller-save.c (save_call_clobbered_regs): Only swap notes with
+ DEBUG_INSNs if n_regs_saved.
+
+2010-08-12 Wei Guozhi <carrot@google.com>
+
+ PR target/44999
+ * config/arm/arm.md (andsi3): Change to zero extension if possible.
+ * config/arm/thumb2.md (thumb2_zero_extendqisi2_v6): Change the name.
+
+2010-08-11 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-int.h (ira_remove_allocno_copy_from_list): Remove.
+
+ * ira-build.c (ira_remove_allocno_copy_from_list): Remove.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
+ the case removed in the previous patch, when the only phi argument
+ is defined in the same loop as the phi node itself. Handle it
+ separately from the invariant case by both propagating it outside
+ the region and replacing the phi node with an assign.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
+ constant phi nodes with one argument are is_gimple_min_invariant
+ and SSA_NAME_IS_DEFAULT_DEF.
+
+2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-cloog-util.c (oppose_constraint):
+ Extend loop counter's value range (CLOOG_ORG).
+ (cloog_matrix_to_ppl_constraint): Same.
+ (new_Constraint_System_from_Cloog_matrix): Same.
+ * graphite-cloog-compat.h (matrix_num_type): New.
+
+2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite.c (graphite_initialize): Do not initialize
+ CLooG and initialize the Parma Polyhedra Library
+ manually when using CLOOG_ORG.
+ (graphite_finalize): Do not finalize CLooG and finalize
+ the Parma Polyhedra Library manually when using CLOOG_ORG.
+ * graphite-cloog-compat.h (cloog_initialize): Hide function
+ when using CLOOG_ORG.
+ (cloog_finalize): Same.
+
+2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-clast-to-gimple.c (free_scattering): Change
+ CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering
+ (CLOOG_ORG).
+ (build_cloog_prog): Same.
+ * graphite-cloog-compat.h (cloog_domain): Removed.
+ (cloog_scattering): New.
+ (cloog_set_domain): Removed.
+ (cloog_set_scattering): New.
+ (cloog_next_domain): Removed.
+ (cloog_next_scattering): New.
+ (cloog_set_next_domain): Removed.
+ (cloog_set_next_scattering): New.
+ (CloogScatteringList): New.
+ (CloogScattering): New.
+ (cloog_scattering_free): New.
+ (new_Cloog_Scattering_from_ppl_Polyhedron): New.
+ * graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron):
+ New.
+
+2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-clast-to-gimple.c (build_cloog_prog): Extend with
+ CloogState.
+ (set_cloog_options): Same.
+ (print_clast_stmt): Same.
+ (scop_to_clast): Same.
+ (print_generated_program): Same.
+ (gloog): Same.
+ * graphite-clast-to-gimple.h: Include graphite-cloog-util.h.
+ (scop_to_clast): Extend with CloogState.
+ * graphite-cloog-util.c: Include graphite-cloog-compat.h
+ (new_Cloog_Domain_from_ppl_Polyhedron):
+ Extend with CloogState. Use cloog_domain_from_cloog_matrix (CLOOG_ORG).
+ (new_Cloog_Domain_from_ppl_Pointset_Powerset): Extend with CloogState.
+ (new_Cloog_Domain_from_ppl_Polyhedron): Same.
+ * graphite-cloog-util.h (build_cloog_prog): Same.
+ * graphite-cloog-copat.h (build_cloog_prog): New.
+ (CloogState): New.
+ (cloog_state_malloc): New.
+ (cloog_state_free): New.
+ (cloog_loop_malloc): New.
+ (cloog_options_malloc): New.
+ (cloog_statement_alloc): New.
+ (cloog_domain_from_cloog_matrix): New.
+ (new_Cloog_Domain_from_ppl_Pointset_Powerset): New.
+ (new_Cloog_Domain_from_ppl_Polyhedron): New.
+
+2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter
+ type of NAME now depends on used CLooG version.
+ (clast_to_gcc_expression): Replace expr_* with clast_expr_*.
+ (gcc_type_for_clast_expr): Same.
+ (print_clast_stmt): Replace pprint with clast_pprint.
+ * graphite-cloog-compat.h: Provide compatibility macros for
+ CLooG Legacy.
+ (clast_name_p): New.
+ (clast_expr_term): New.
+ (clast_expr_red): New.
+ (clast_expr_bin): New.
+ (clast_pprint): New.
+
+2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options
+ compatible to newer CLooG releases (CLOOG_ORG).
+ (build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG).
+ (scop_to_clast): Pass CloogOptions to build_cloog_prog (CLOOG_ORG).
+ * graphite-cloog-compat.h: Add compatibility macros for CLooG Legacy.
+ (build_cloog_prog) : New.
+ (cloog_program_extract_scalars): New.
+ (cloog_program_scatter): New.
+
+2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-clast-to-gimple.c: Include graphite-cloog-compat.h
+ conditionally (CLOOG_ORG).
+ * graphite-cloog-compat.h: New. Include graphite-cloog-compat.h.
+ (cloog_statement_usr): New.
+ (cloog_domain): Same.
+ (cloog_set_domain): Same.
+ (cloog_next_domain): Same.
+ (cloog_set_next_domain): Same.
+ (cloog_program_nb_scattdims): Same.
+ (cloog_program_set_nb_scattdims): Same.
+ (cloog_program_names): Same.
+ (cloog_program_set_names): Same.
+ (cloog_program_set_context): Same.
+ (cloog_program_set_loop): Same.
+ (cloog_program_blocklist): Same.
+ (cloog_program_set_blocklist): Same.
+ (cloog_program_scaldims): Same.
+ (cloog_program_set_scaldims): Same.
+ (cloog_names_nb_parameters): Same.
+ (cloog_names_set_nb_parameters): Same.
+ (cloog_names_parameters): Same.
+ (cloog_names_set_parameters): Same.
+ (cloog_names_set_nb_iterators): Same.
+ (cloog_names_set_iterators): Same.
+ (cloog_names_set_nb_scattering): Same.
+ (cloog_names_set_scattering): Same.
+ (cloog_statement_set_usr): Same.
+ (cloog_loop_set_next): Same.
+ (cloog_loop_set_domain): Same.
+ (cloog_loop_set_block): Same.
+ (cloog_block_list_next): Same.
+ (cloog_block_list_set_next):
+ (cloog_block_list_set_block): Same.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Returns
+ a bool.
+ (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
+ (rewrite_commutative_reductions_out_of_ssa_loop): Same.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Call scev_reset_htab
+ when something has been changed.
+ (rewrite_commutative_reductions_out_of_ssa): Same.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (propagate_expr_outside_region): Also
+ handle the case when def is in the sese region.
+ (rewrite_close_phi_out_of_ssa): Call propagate_expr_outside_region
+ for invariant expressions.
+ (rewrite_cross_bb_phi_deps): Removed.
+ (rewrite_cross_bb_scalar_deps): Also handle GIMPLE_PHI nodes.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Do not call
+ rewrite_cross_bb_phi_deps.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c
+ (rewrite_commutative_reductions_out_of_ssa_loop): Call
+ scev_analyzable_p only on is_gimple_reg
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (propagate_expr_outside_region): New.
+ (rewrite_close_phi_out_of_ssa): Propagate constant values or
+ parametric expressions outside the scop region.
+ (rewrite_cross_bb_scalar_deps): Same.
+ * sese.c (rename_uses): Use NULL_TREE instead of NULL for trees.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
+ SSA_NAME_DEF_STMT only on SSA_NAMEs.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-scalar-evolution.c (instantiate_scev_name): Do not
+ instantiate default definitions.
+
+2010-08-11 Vladimir Kargov <kargov@gmail.com>
+ Sebastian Pop <sebastian.pop@amd.com>
+
+ * cfgloop.c (is_loop_exit): Renamed loop_exits_to_bb_p.
+ (loop_exits_from_bb_p): New.
+ * cfgloop.h (is_loop_exit): Renamed loop_exits_to_bb_p.
+ (loop_exits_from_bb_p): Declared.
+ * graphite-scop-detection.c (scopdet_basic_block_info): Call
+ loop_exits_to_bb_p.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add an
+ extra parameter for the region. Call scev_analyzable_p.
+ (rewrite_reductions_out_of_ssa): Update call to
+ rewrite_close_phi_out_of_ssa.
+ (rewrite_cross_bb_phi_deps): Same.
+ (rewrite_commutative_reductions_out_of_ssa_loop): Add an extra
+ parameter for the region. Call scev_analyzable_p.
+ (rewrite_commutative_reductions_out_of_ssa): Update call to
+ rewrite_commutative_reductions_out_of_ssa_loop.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * sese.c (rename_uses): Call unshare_expr before force_gimple_operand.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (reduction_phi_p): Do not rewrite out of
+ SSA scalar phi nodes that can be scev_analyzable_p.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Correctly
+ handle SSA_NAME_IS_DEFAULT_DEF.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * sese.c (rename_uses): Handl unconditionally gimple_debug statements.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Special
+ case non close-phi nodes with one argument.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * sese.h (scev_analyzable_p): Scevs could be expressions without
+ chrecs and still be scev_analyzable_p.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * cfgloop.c (alloc_loop): Remove initialization of loop->single_iv.
+ * cfgloop.h (struct loop): Remove single_iv field.
+ * graphite-sese-to-poly.c (graphite_loop_normal_form): Removed.
+ (scop_canonicalize_loops): Removed.
+ (scop_ivs_can_be_represented): Do not use loop->single_iv. Iterate
+ over all the loop phi nodes in loop->header.
+ (build_poly_scop): Remove use of scop_canonicalize_loops.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also
+ handle GIMPLE_CALL.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-chrec.c (chrec_apply): Should only apply to the specified
+ variable. Also handle multivariate chains of recurrences that
+ satisfy evolution_function_is_affine_p. Also handle CASE_CONVERT.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (debug_clast_name_index): Removed.
+ (debug_clast_name_indexes_1): Removed.
+ (debug_clast_name_indexes): Removed.
+ (pbb_to_depth_to_oldiv): Removed.
+ (build_iv_mapping): Replace the use of rename_map with iv_map.
+ (translate_clast_user): Remove uses of rename_map. Allocate and
+ free iv_map.
+ (translate_clast_for_loop): Remove uses of rename_map.
+ (translate_clast_for): Same.
+ (translate_clast_guard): Same.
+ (translate_clast): Same.
+ (gloog): Same.
+ * graphite-clast-to-gimple.h (debug_clast_name_indexes): Removed.
+ * graphite-sese-to-poly.c (scev_analyzable_p): Moved...
+ * sese.c (set_rename): Now static.
+ (rename_variables_in_stmt): Removed.
+ (rename_uses): New.
+ (is_parameter): Removed.
+ (is_iv): Removed.
+ (expand_scalar_variables_call): Removed.
+ (expand_scalar_variables_ssa_name): Removed.
+ (expand_scalar_variables_expr): Removed.
+ (expand_scalar_variables_stmt): Removed.
+ (expand_scalar_variables): Removed.
+ (rename_variables): Removed.
+ (remove_condition): Removed.
+ (get_true_edge_from_guard_bb): Removed.
+ (get_false_edge_from_guard_bb): Removed.
+ (struct igp): Removed.
+ (default_before_guard): Removed.
+ (convert_for_phi_arg): Removed.
+ (add_guard_exit_phis): Removed.
+ (insert_guard_phis): Removed.
+ (graphite_copy_stmts_from_block): Now also uses iv_map and a
+ region. Do not copy conditions. Do not copy induction variables.
+ Call rename_uses.
+ (copy_bb_and_scalar_dependences): Allocate a local rename_map for
+ the translated statement. Use the iv_map for the induction
+ variable renaming.
+ * sese.h (copy_bb_and_scalar_dependences): Update declaration.
+ (set_rename): Removed declaration.
+ (scev_analyzable_p): ...here.
+ * tree-chrec.c (chrec_apply_map): New.
+ * tree-chrec.h (chrec_apply_map): Declared.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (translate_clast_for_loop): Do not call
+ insert_loop_close_phis.
+ * sese.c (name_defined_in_loop_p): Removed.
+ (expr_defined_in_loop_p): Removed.
+ (alive_after_loop): Removed.
+ (close_phi_not_yet_inserted_p): Removed.
+ (struct alep): Removed.
+ (add_loop_exit_phis): Removed.
+ (insert_loop_close_phis): Removed.
+
+2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-cloog-util.c
+ (cloog_matrix_to_ppl_constraint): Fix flipped condition.
+ * graphite-poly.c
+ (psct_scattering_dim_for_loop_depth): Same.
+
+2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-cloog-util.h: Added cloog.h.
+ * graphite-blocking.c: Removed cloog.h.
+ * graphite-dependences.c: Same.
+ * graphite-interchange.c: Same.
+ * graphite-poly.c: Same.
+ * graphite-ppl.c: Same.
+ * graphite-scop-detection.c: Same.
+ * graphite-sese-to-poly.c:
+ Removed cloog.h.
+ Removed graphite-clast-to-gimple.h.
+ (check_poly_representation): Removed (unused).
+ * graphite-sese-to-poly.h
+ (check_poly_representation): Removed (unused).
+
+2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * Makefile.in (OBJS-common): Added graphite-cloog-util.o.
+ (graphite-clast-to-gimple.o): Added graphite-cloog-util.h.
+ (graphite-cloog-util.o): New.
+ (graphite-ppl.o): Added graphite-cloog-util.h.
+ * graphite-clast-to-gimple.c:
+ Added graphite-cloog-util.h to include statements.
+ * graphite-cloog-util.c: New.
+ (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.c.
+ (new_Cloog_Domain_from_ppl_Polyhedron): Same.
+ (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
+ (new_C_Polyhedron_from_Cloog_Matrix): Same.
+ (insert_constraint_into_matrix): Same.
+ (ppl_Constrain_System_number_of_constraints): Same.
+ (new_Cloog_Matrix_from_ppl_Constraint_System): Same.
+ (oppose_constraint): Same.
+ (cloog_matrix_to_ppl_constraint): Same.
+ (new_Constraint_System_from_Cloog_Matrix): Same.
+ * graphite-cloog-util.h: New.
+ (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.h.
+ (new_Cloog_Domain_from_ppl_Polyhedron): Same.
+ (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
+ (new_C_Polyhedron_from_Cloog_Matrix): Same.
+ (insert_constraint_into_matrix): Same.
+ * graphite-ppl.c:
+ Added graphite-cloog-util.h to include statements.
+ (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to graphite-cloog-util.c.
+ (new_Cloog_Domain_from_ppl_Polyhedron): Same.
+ (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
+ (new_C_Polyhedron_from_Cloog_Matrix): Same.
+ (insert_constraint_into_matrix): Same.
+ (ppl_Constrain_System_number_of_constraints): Same.
+ (new_Cloog_Matrix_from_ppl_Constraint_System): Same.
+ (oppose_constraint): Same.
+ (cloog_matrix_to_ppl_constraint): Same.
+ (new_Constraint_System_from_Cloog_Matrix): Same.
+ * graphite-ppl.h:
+ (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to
+ graphite-cloog-util.h.
+ (new_Cloog_Domain_from_ppl_Polyhedron): Same.
+ (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
+ (new_C_Polyhedron_from_Cloog_Matrix): Same.
+ (insert_constraint_into_matrix): Same.
+
+2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
+
+ * graphite-clast-to-gimple.c
+ (precision_for_value): Resolve value_* calls to matching mpz_* calls.
+ (precision_for_interval): Same.
+ (gcc_type_for_interval): Same.
+ (compute_type_for_level): Same.
+ * graphite-interchange.c
+ (lst_interchange_profitable_p): Same.
+ * graphite-poly.c
+ (psct_scattering_dim_for_loop_depth): Same.
+ * graphite-ppl.c
+ (ppl_max_for_le_pointset): Same.
+ (ppl_min_for_le_pointset): Same.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_degenerate_phi): New.
+ (rewrite_reductions_out_of_ssa): Call it for degenerate_phi_result.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Call
+ rewrite_close_phi_out_of_ssa.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Remove dead code.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (build_iv_mapping): Rename map with
+ rename_map.
+ * sese.c (debug_rename_map): Same.
+ (get_rename): Same.
+ (set_rename): Same.
+ (rename_variables_in_stmt): Same.
+ (expand_scalar_variables_call): Same.
+ (expand_scalar_variables_ssa_name): Same.
+ (expand_scalar_variables_expr): Same.
+ (expand_scalar_variables_stmt): Same.
+ (expand_scalar_variables): Same.
+ (rename_variables): Same.
+ (graphite_copy_stmts_from_block): Same.
+ (copy_bb_and_scalar_dependences): Same.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (copy_renames): Removed.
+ (translate_clast_for): Do not call copy_renames.
+ (translate_clast_guard): Same.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Moved up.
+ (rewrite_cross_bb_phi_deps): Split out of rewrite_cross_bb_scalar_deps.
+ (rewrite_cross_bb_scalar_deps_out_of_ssa): Run rewrite_cross_bb_phi_deps
+ before rewrite_cross_bb_scalar_deps.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_commutative_reductions_out_of_ssa):
+ Early return in when flag_associative_math is not set.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out
+ of SSA copies on edges except for loop->latch.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps_out_of_ssa):
+ Split out of rewrite_reductions_out_of_ssa.
+ * graphite-sese-to-poly.h (rewrite_cross_bb_scalar_deps_out_of_ssa):
+ Declared.
+ * graphite.c (graphite_transform_loops): Call it.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite.c (graphite_transform_loops): Add two more dbg_cnt calls.
+
+2010-08-11 Alexander Monakov <amonakov@ispras.ru>
+
+ * dbgcnt.def (graphite_scop): New counter.
+ * graphite.c: Include dbgcnt.h.
+ (graphite_transform_loops): Use new counter to limit transformations.
+ * Makefile.in (graphite.o): Depend on DBGCNT_H.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * passes.c (init_optimization_passes): Add pass_graphite.
+ Schedule a pass_copy_prop before pass_graphite_transforms.
+ * timevar.def (TV_GRAPHITE): Declared.
+ * tree-pass.h (pass_graphite): Declared.
+ * tree-ssa-loop.c (pass_graphite): New.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (gloog): Do not pass scops in parameter.
+ Remove calls to rename_nb_iterations and rename_sese_parameters.
+ * graphite-clast-to-gimple.h (gloog): Update declaration.
+ * graphite.c (graphite_transform_loops): Update call to gloog.
+ * sese.c (rename_variables_in_expr): Removed.
+ (rename_nb_iterations): Removed.
+ (rename_sese_parameters): Removed.
+ * sese.h (rename_nb_iterations): Removed.
+ (rename_sese_parameters): Removed.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (gloog): Remove call to
+ sese_adjust_liveout_phis.
+ * graphite-sese-to-poly.c (scev_analyzable_p): When scev returns an
+ SSA_NAME, allow it to be handled by rewrite_cross_bb_scalar_deps.
+ (rewrite_cross_bb_scalar_deps): Handle GIMPLE_PHI nodes: call
+ rewrite_phi_out_of_ssa.
+ * sese.c (get_vdef_before_sese): Removed.
+ (sese_adjust_vphi): Removed.
+ (sese_adjust_liveout_phis): Removed.
+ * sese.h (sese_adjust_liveout_phis): Removed.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Pass an extra
+ argument for the place after which to insert the out of SSA copy.
+ (rewrite_close_phi_out_of_ssa): Update calls to insert_out_of_ssa_copy.
+ (rewrite_phi_out_of_ssa): Same.
+ (rewrite_cross_bb_scalar_deps): Same.
+ (insert_copyout): Removed.
+ (insert_copyin): Removed.
+ (translate_scalar_reduction_to_array): Call insert_out_of_ssa_copy and
+ insert_out_of_ssa_copy_on_edge instead of insert_copyout and
+ insert_copyin.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (build_scop_bbs): Not static anymore.
+ (rewrite_reductions_out_of_ssa): Same.
+ (rewrite_commutative_reductions_out_of_ssa): Same.
+ (build_poly_scop): Do not call these functions.
+ * graphite-sese-to-poly.h (build_poly_scop): Declared.
+ (rewrite_reductions_out_of_ssa): Declared.
+ (rewrite_commutative_reductions_out_of_ssa): Declared.
+ * graphite.c (graphite_transform_loops): Call on every scop
+ rewrite_commutative_reductions_out_of_ssa before calling
+ rewrite_reductions_out_of_ssa and build_scop_bbs.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (dot_deps): Make system call to dotty run
+ in background.
+ (dot_deps_stmt): Same.
+ * graphite-poly.c (dot_lst): Same.
+
+2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed
+ phi_arg_in_outermost_loop.
+ (remove_simple_copy_phi): Call phi_arg_in_outermost_loop.
+ (remove_invariant_phi): Same.
+
+2010-08-11 Anatoly Sokolov <aesok@post.ru>
+
+ * target.def (output_addr_const_extra): New hook.
+ * doc/tm.texi.in (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Document.
+ * doc/tm.texi: Regenerate.
+ * targhooks.c (default_asm_output_addr_const_extra): New function.
+ * targhooks.h (default_asm_output_addr_const_extra): Declare.
+ * final.c (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
+ target hook.
+
+ * config/i386/i386.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+ * config/i386/i386-protos.h (output_addr_const_extra): Remove.
+ * config/i386/i386.h (output_addr_const_extra): Rename to...
+ (i386_asm_output_addr_const_extra): ...this. Make static.
+ (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2010-08-11 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): New.
+
+2010-08-11 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16-lib2.c (__cmpsi2): New function.
+ * config/stormy16/stormy16-lib2-cmpsi2.c: New file.
+ * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
+ stormy16-lib2-cmpsi.c.
+
+ * config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Change to
+ -O2.
+
+2010-08-11 Joseph Myers <joseph@codesourcery.com>
+
+ * opts.h (struct cl_option_handler_func): Make handler take
+ cl_decoded_option structure as parameter, not individual elements.
+ (struct cl_option_handlers): Make callbacks take cl_decoded_option
+ structure as parameter, not individual elements.
+ (handle_option): Take cl_decoded_option structure as parameter,
+ not individual elements.
+ (handle_generated_option): Declare.
+ * opts-common.c (handle_option): Take cl_decoded_option structure
+ as parameter, not individual elements. Update calls to callback
+ and handler functions.
+ (handle_generated_option): New.
+ (read_cmdline_option): Update calls to callback functions and
+ handle_option.
+ * opts.c (common_handle_option, complain_wrong_lang,
+ unknown_option_callback, post_handling_callback,
+ lang_handle_option, target_handle_option): Take cl_decoded_option
+ structure as parameter, not individual elements.
+ (lang_handle_option, target_handle_option, common_handle_option):
+ Assert option has at most one argument.
+ (enable_warning_as_error): Call handle_generated_option instead of
+ handle_option. Do not pass -Werror argument as argument of
+ generated option.
+
+2010-08-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
+ 'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
+ (SUBWORD_BOOL_CAS): Likewise.
+ (SUBWORD_SYNC_OP): Likewise.
+ (SUBWORD_TEST_AND_SET): Likewise.
+ (FETCH_AND_OP_WORD): Parenthesise INF_OP
+ (SUBWORD_SYNC_OP): Likewise.
+ (OP_AND_FETCH_WORD): Likewise.
+
+2010-08-10 Xinliang David Li <davidxl@google.com>
+
+ * tree-ssa-loop-ivopts.c (get_address_cost): Properly
+ compute max/min offset in address.
+
+2010-08-10 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-live.c: Include sbitmap.h.
+ (remove_some_program_points_and_update_live_ranges): Use sbitmaps.
+ Compress live ranges even more.
+
+2010-08-10 Nathan Froyd <froydnj@codesourcery.com>
+
+ * coverage.c (ctr_labels): Delete.
+
+2010-08-10 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/45177
+ * config/arm/arm.c (multiple_operation_profitable_p): Move xscale
+ test here from arm_gen_load_multiple_1.
+ (arm_gen_load_multiple_1, arm_gen_store_multiple_1): Use
+ multiple_operation_profitable_p.
+
+2010-08-10 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree-ssa-pre.c (init_pre): Call alloc_aux_for_blocks.
+ (fini_pre): Call free_aux_for_blocks. Delete unused bb variable.
+
+2010-08-10 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_compute_frame_layout): Re-align stack
+ after saving registers. Assert that SSE registers are only saved
+ with a sufficiently aligned frame.
+ (ix86_emit_save_reg_using_mov): Assert realigned only with DRAP;
+ remove stack_realign_fp handling.
+ (ix86_expand_prologue): Save int registers before stack_realign_fp,
+ and do not mark the stack alignment as frame related.
+ (ix86_expand_epilogue): SP is now invalid with stack_realign_fp.
+
+ * dwarf2out.c (dwarf2out_frame_debug_expr): Flush queued register
+ saves when re-aligning the stack.
+
+2010-08-10 Nathan Froyd <froydnj@codesourcery.com>
+
+ * basic-block.h (alloc_aux_for_block, alloc_aux_for_edge): Delete.
+ * cfg.c (alloc_aux_for_block, alloc_aux_for_edge): Make static.
+ (alloc_aux_for_blocks, clear_aux_for_blocks): Use FOR_ALL_BB.
+
+2010-08-10 Nathan Froyd <froydnj@codesourcery.com>
+
+ * dwarf2out.c (struct die_struct): Move die_tag to the end.
+
+2010-08-09 Sofiane Naci <sofiane.naci@arm.com>
+
+ * config/arm/iterators.md: New file.
+ * config/arm/arm.md: Include iterators.md.
+ (QHSI): Move to new file.
+ (LTUGEU, cnb, optab, ior_xor): Likewise.
+ * config/arm/iwmmxt.md (VMMX): Move to new file.
+ (VSHFT, MMX_char): Likewise.
+ * config/arm/neon.md (VD): Move to new file.
+ (VDX, VDI, VQ, VQX, VQI, VQXMOV, VSTRUCT, VTAB, V_TAB_n, VW): Likewise.
+ (VN, VDQ, VDQW, VDQIW, VCVTF, VCVTI, VMD, VMQ, VMDQ, VMDI): Likewise.
+ (VMDQI, VX, VE, V64, V32, V_CVTTO, V_elem, V_ext): Likewise.
+ (V_two_elem, V_three_elem, V_four_elem, V_req, V_widen): Likewise.
+ (V_narrow, V_HALF, V_half,V_DOUBLE, V_double): Likewise.
+ (V_double_width, V_cmp_result, V_if_elem, V_s_elem): Likewise.
+ (V_u_elem, V_uf_sclr, V_sz_elem, VD_dup): Likewise.
+ (V_PAIR, vqh_ops, vqhs_ops, VQH_mnem, VQH_sign, V_suf64): Likewise.
+ (scalar_mul_constraint,Is_float_mode, Scalar_mul_8_16): Likewise.
+ (Is_d_reg, V_mode_nunits): Likewise.
+ * config/arm/vec-common.md (VALL): Move to new file.
+ (VALLW, VINT, VINTW): Likewise.
+
+2010-08-10 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR middle-end/45182
+ * combine.c (make_compound_operation): Don't try to convert
+ shifts into multiplications for modes that aren't SCALAR_INT_MODE_P.
+
+2010-08-10 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (get_object_alignment): Adjust prototype.
+ * builtins.c (get_object_alignment): Return unsigned int,
+ drop the align parameter. Handle MEM_REF, MISALIGNED_INDIRECT_REF
+ and TARGET_MEM_REF properly.
+ (get_pointer_alignment): Adjust.
+ * emit-rtl.c (get_mem_align_offset): Adjust comment.
+ (set_mem_attributes_minus_bitpos): Adjust.
+ * tree-ssa-ccp.c (get_value_from_alignment): Adjust.
+
+2010-08-10 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-copy.c (set_copy_of_val): Use operand_equal_p.
+ (copy_prop_visit_assignment): Simplify.
+ (copy_prop_visit_stmt): Also visit assignments from
+ constants.
+ (copy_prop_visit_phi_node): Use operand_equal_p.
+
+2010-08-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * ipa-split.c (find_split_points): Free stack.
+
+2010-08-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (tree_node_kind) [perm_list_kind,temp_list_kind]: Delete.
+ * tree.c (tree_node_kind): Delete corresponding entries.
+
+2010-08-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * alias.c (may_alias_p): Remove unused ret.
+
+2010-08-09 Bingfeng Mei <bmei@broadcom.com>
+
+ * ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of
+ alias_sets_conflict_p.
+ (walk_mems_1): Moved from alias.c.
+ (insns_may_alias_p): New function, originally insn_alias_sets_conflict_p
+ in alias.c.
+ (add_inter_loop_mem_dep): Use insns_may_alias_p now.
+ * cse.c (cse_insn): New argument in calling nonoverlapping_memrefs_p.
+ * alias.c (walk_mems_2): Moved to ddg.c.
+ (walk_mems_1): Ditto.
+ (insn_alias_sets_conflict_p): Renamed to insns_may_alias_p and moved
+ to ddg.c.
+ (nonoverlapping_memrefs_p): Add flag to guard offset-based memory
+ disambiguation.
+ *(may_alias_p): New function to check whether two memory expression
+ may alias or not. Currently used in buidling inter-iteration memory
+ dependence.
+ *alias.h (nonoverlapping_memrefs_p): New flag as third argument.
+ (insn_alias_sets_conflict_p): Removed
+ *rtl.h (may_alias_p): New function prototype.
+
+2010-08-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.c (nreverse): Assert that we don't have a BLOCK.
+
+2010-08-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * builtins.c (fold_builtin_next_arg): Use stdarg_p.
+ * config/arm/arm.c (arm_get_pcs_model): Likewise.
+ * config/avr/avr.c (init_cumulative_args): Likewise.
+ * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
+ * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
+ * config/m68k/m68k.c (m68k_return_pops_args): Likewise.
+ * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
+ * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
+ * config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ * config/rs6000/rs6000.c (init_cumulative_args): Likewise.
+ * dwarf2out.c (gen_subprogram_die): Likewise.
+ * function.c (allocate_struct_function): Likewise.
+ * c-aux-info.c (gen_formal_list_for_func_dec): Likewise.
+ (deserves_ellipsis): Delete.
+
+2010-08-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-copy.c (cached_last_copy_of): Remove.
+ (valueize_val): New function.
+ (get_last_copy_of): Remove.
+ (set_copy_of_val): Simplify.
+ (dump_copy_of): Likewise.
+ (copy_prop_visit_cond_stmt): Use valueize_val.
+ (copy_prop_visit_phi_node): Properly handle unvisited names.
+ Drop code managing copy-of chains.
+ (init_copy_prop): Adjust.
+ (fini_copy_prop): Likewise.
+ (execute_copy_prop): Remove obsolete comment.
+
+2010-08-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44632
+ * function.c (gimplify_parameters): Do not clear addressable
+ bit of the original parameter.
+
+2010-08-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45212
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust
+ alignment from MEM_REF offset only if we took it from the
+ base object.
+
+2010-08-09 Eric Fisher <joefoxreal@gmail.com>
+
+ * doc/sourcebuild.texi (vect_int_mult): Remove duplicate entry.
+
+2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-tree.h (build_arg_info): Declare.
+ * c-decl.c (build_arg_info): Define.
+ (get_parm_info): Call it. Delete initialization code.
+ * c-parser.c (c_parser_parms_declarator): Likewise.
+ (c_parser_parms_list_declaractor): Likewise.
+
+2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-tree.h (c_arg_tag): Define. Define a VEC containing it.
+ (struct c_arg_info): Change type of tags field.
+ * c-decl.c (grokdeclarator): Update for changed type of tags field.
+ (get_parm_info): Likewise.
+ (store_parm_decls_newstyle): Likewise.
+
+2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rs6000/rs6000.c (branch_island): Define. Define a VEC of it.
+ (branch_island_list): Delete.
+ (branch_islands): Declare.
+ (add_compiler_branch_island): Adjust for branch_islands instead of
+ branch_island_list.
+ (macho_branch_islands): Likewise.
+ (no_previous_def): Likewise.
+ (get_prev_label): Likewise.
+
+2010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR boehm-gc/34544
+ * gthr-posix.h (__gthread_start): Delete.
+ (__gthread_active_init): Use pthread_default_stacksize_np instead of
+ pthread_create to determine if hpux pthreads are active.
+ * gthr-posix95.h (__gthread_start): Delete.
+ (__gthread_active_init): Likewise use pthread_default_stacksize_np.
+
+2010-08-08 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/mingw32.h ((EXTRA_OS_CPP_BUILTINS): Define
+ _WIN64 not expanded.
+
+2010-08-07 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/45213
+ * config/i386/i386.c (ix86_print_operand): Handle 'q' operand modifier
+ to output 32bit SFmode immediate as 8 byte sign extended value.
+
+2010-08-07 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
+ 'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
+ (SUBWORD_BOOL_CAS): Likewise.
+ (SUBWORD_SYNC_OP): Likewise.
+ (SUBWORD_TEST_AND_SET): Likewise.
+ (FETCH_AND_OP_WORD): Parenthesise INF_OP
+ (SUBWORD_SYNC_OP): Likewise.
+ (OP_AND_FETCH_WORD): Likewise.
+
+2010-08-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/cortex-a9.md: Rewrite VFP Pipeline description.
+ * config/arm/arm.c (arm_xscale_tune): Initialize sched_adjust_cost.
+ (arm_fastmul_tune,arm_slowmul_tune, arm_9e_tune): Likewise.
+ (arm_adjust_cost): Split into xscale_sched_adjust_cost and a
+ generic part.
+ (cortex_a9_sched_adjust_cost): New function.
+ (xscale_sched_adjust_cost): New function.
+ * config/arm/arm-protos.h (struct tune_params): New field
+ sched_adjust_cost.
+ * config/arm/arm-cores.def: Adjust costs for cortex-a9.
+
+2010-08-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/44942
+ * config/sparc/sparc.c (function_arg_advance): Always take into account
+ the padding, if any.
+
+2010-08-06 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (struct prop_value_d): Add mask member.
+ (dump_lattice_value): Dump it.
+ (get_default_value): Adjust.
+ (get_constant_value): Likewise.
+ (set_value_varying): Likewise.
+ (set_lattice_value): Make sure to not go up the lattice
+ with bitwise constant values.
+ (get_value_for_expr): Handle ADDR_EXPRs.
+ (value_to_double_int): New function.
+ (get_value_from_alignment): Likewise.
+ (do_dbg_cnt): Adjust.
+ (ccp_lattice_meet): Handle partially constant values.
+ (bit_value_unop_1): New function.
+ (bit_value_binop_1): Likewise.
+ (bit_value_unop): Likewise.
+ (bit_value_binop): Likewise.
+ (evaluate_stmt): Track partially constant values if
+ flag_tree_bit_ccp is set.
+ (ccp_fold_stmt): Dump if we folded a predicate.
+ (ccp_visit_stmt): Adjust.
+ * common.opt (ftree-bit-ccp): New flag.
+ * doc/invoke.texi (ftree-bit-ccp): Document.
+ * opts.c (decode_options): Enable bit-CCP at -O1.
+
+2010-08-06 Alan Modra <amodra@gmail.com>
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable
+ and -mrelocatable-lib description.
+
+2010-08-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ From Martin Thuresson <martint@google.com>
+ * postreload.c (reload_cse_simplify_operands): Use
+ SET_REGNO_RAW instead of SET_REGNO.
+ * caller-save.c (reg_save_code): Use SET_REGNO_RAW instead of
+ SET_REGNO.
+ * ira.c (setup_prohibited_mode_move_regs): Use SET_REGNO_RAW
+ instead of SET_REGNO.
+ * rtl.h (SET_REGNO_RAW): New macro.
+
+2010-08-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask
+ computations. Fix formatting issues.
+ (num_sign_bit_copies1): Likewise.
+ (canonicalize_condition): Likewise.
+
+2010-08-05 Richard Henderson <rth@redhat.com>
+
+ * toplev.h (ctz_hwi, clz_hwi, ffs_hwi): New.
+ (floor_log2): Use clz_hwi.
+ (exact_log2): Use ctz_hwi.
+ * toplev.c (ctz_hwi, clz_hwi, ffs_hwi): New.
+ * builtins.c (fold_builtin_bitop): Use them.
+ * simplify-rtx.c (simplify_const_unary_operation): Likewise.
+ * combine.c (get_pos_from_mask): Use ctz_hwi.
+ * double-int.c (double_int_ctz): Likewise.
+ * explow.c (force_reg): Likewise.
+ * tree.h (SET_DECL_OFFSET_ALIGN): Use ffs_hwi.
+
+2010-08-05 Richard Henderson <rth@redhat.com>
+
+ PR target/45189
+ * config/i386/i386.c (ix86_emit_save_reg_using_mov): Make sure
+ the alignment constant is properly sign-extended.
+
+2010-08-05 Richard Guenther <rguenther@suse.de>
+
+ * expr.c (store_expr): Use emit_block_move only if both
+ source and target are MEMs. Use store_bit_field if only
+ the target is a MEM.
+
+2010-08-05 Richard Henderson <rth@redhat.com>
+
+ PR debug/45188
+ * dwarf2out.c (DWARF2_UNWIND_INFO): Provide default definition.
+ (INCOMING_RETURN_ADDR_RTX): Likewise.
+ (dwarf2out_do_frame): Remove conditional compilation.
+ (dwarf2out_frame_init): Likewise.
+
+2010-08-05 Nicolas Setton <setton@adacore.com>
+
+ * gcov.c (flag_display_progress): New static variable.
+ (main): Display progress info on standard output if requested.
+ (options): Add -d/--display-progress.
+ (print_usage): Print them.
+ (process_args): Handle them.
+ * doc/gcov.texi: Document them.
+
+2010-08-05 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-cp.c (ipcp_discover_new_direct_edges): New function.
+ (ipcp_insert_stage): Redirect only edges not flagged with
+ indirect_inlining_edge. Call ipcp_discover_new_direct_edges for all
+ discovered constants.
+
+2010-08-05 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (enum ipa_lattice_type): Changed comments.
+ (struct ipa_param_descriptor): New fields types and
+ cannot_devirtualize.
+ (ipa_param_cannot_devirtualize_p): New function.
+ (ipa_param_types_vec_empty): Likewise.
+ (ipa_make_edge_direct_to_target): Declare.
+ * ipa-cp.c: Fixed first stage driver name in initial comment,
+ described devirtualization there too.
+ (ipcp_analyze_node): Call ipa_analyze_params_uses.
+ (ipcp_print_all_lattices): Print devirtualization info.
+ (ipa_set_param_cannot_devirtualize): New function.
+ (ipcp_initialize_node_lattices): Set cannot_devirtualize when setting
+ lattice to BOTTOM.
+ (ipcp_init_stage): Merged into...
+ (ipcp_generate_summary): ...its caller.
+ (ipcp_change_tops_to_bottom): Also process type lists.
+ (ipcp_add_param_type): New function.
+ (ipcp_copy_types): Likewise.
+ (ipcp_propagate_types): Likewise.
+ (ipcp_propagate_stage): Also propagate types.
+ (ipcp_need_redirect_p): Variable jump_func moved to its scope block.
+ Also return true if propagated types require it.
+ (ipcp_update_callgraph): Dump redirection info.
+ (ipcp_process_devirtualization_opportunities): New function.
+ (ipcp_const_param_count): Include known type information.
+ (ipcp_insert_stage): Call ipcp_process_devirtualization_opportunities
+ on new node. Fixed formatting.
+ * ipa-prop.c (make_edge_direct_to_target): Renamed to
+ ipa_make_edge_direct_to_target and changed all callers. Made
+ externally visible.
+ (ipa_node_duplication_hook): Duplicate types vector.
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Also try to
+ redirect outgoing calls for which we can't get a decl from the
+ statement. Check that we can get a decl from the call statement.
+ * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
+ ipa_analyze_params_uses only when ipa-cp is disabled.
+ * tree-inline.c (get_indirect_callee_fndecl): Removed.
+ (expand_call_inline): Do not call get_indirect_callee_fndecl.
+ * params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): New parameter.
+ * Makefile.in (ipa-cp.o): Add gimple.h to dependencies.
+
+2010-08-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * expmed.c (expand_mult_const) <case alg_shift>: Expand shift into
+ temporary. Emit move from temporary to accum, so REG_EQUAL note will
+ be attached to this insn in correct mode.
+
+2010-08-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_decompose_address): Check for SI_REG
+ using REGNO of base_reg directly.
+
+2010-08-05 Jie Zhang <jie@codesourcery.com>
+
+ PR tree-optimization/45144
+ * tree-sra.c (type_consists_of_records_p): Return false
+ if the record contains bit-field.
+
+2010-08-04 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (struct ix86_frame): Remove padding and
+ to_allocate members.
+ (ix86_compute_frame_layout): Don't store them.
+ (ix86_can_use_return_insn_p): Use a more direct and more obviously
+ correct condition for the position of the stack pointer.
+ (ix86_expand_prologue): Compute remaining stack allocation based
+ on the ultimate stack pointer offset.
+ (ix86_expand_epilogue): Use more obvious expressions testing for
+ the stack pointer already pointing to the saved registers.
+
+ * config/i386/i386.c (ix86_expand_epilogue): Eliminate code
+ duplication deconstructing the frame pointer. Simplify
+ deallocation of the local stack frame.
+
+ * reg-notes.def (CFA_EXPRESSION): New.
+ * dwarf2out.c (dwarf2out_frame_debug): Handle it.
+ (dwarf2out_frame_debug_cfa_expression): New.
+ (dwarf2out_frame_debug_def_cfa): Handle simple MEMs.
+
+ * config/i386/i386.h (struct machine_frame_state): Add realigned flag.
+ * config/i386/i386.c (ix86_expand_prologue): Set it.
+ (ix86_expand_epilogue): Clear it.
+ (ix86_emit_save_reg_using_mov): For registers saved in a realigned
+ context, add REG_CFA_EXPRESSION notes.
+
+ * config/i386/i386.h (struct machine_frame_state): Rename from
+ machine_cfa_state. Add members tracking SP and FP regardless
+ of the current CFA register.
+ (ix86_cfa_state): Remove.
+ * config/i386/i386.c (struct ix86_frame): Add reg_save_offset
+ and sse_reg_save_offset members.
+ (ix86_compute_frame_layout): Set them.
+ (gen_push): Increment sp_offset too.
+ (choose_baseaddr_len, choose_baseaddr): New.
+ (ix86_emit_save_reg_using_mov): New.
+ (ix86_emit_save_regs_using_mov): Use it.
+ (ix86_emit_save_sse_regs_using_mov): Likewise.
+ (ix86_add_cfa_restore_note): Take cfa_offset not red_offset argument;
+ compare vs the saved red_zone_offset.
+ (pro_epilogue_adjust_stack): Adjust sp_offset.
+ (ix86_adjust_stack_and_probe): Likewise.
+ (ix86_expand_prologue): Set up, use, and validate the new
+ frame_state_info members. Use gen_frame_mem.
+ (ix86_emit_restore_regs_using_pop): Remove red_offset parameter.
+ (ix86_emit_restore_reg_using_pop): Likewise. Use and update the
+ new frame_state_info members.
+ (ix86_emit_leave): Likewise.
+ (ix86_emit_restore_regs_using_mov): Likewise. Don't check for
+ out-of-range stack pointer offsets here.
+ (ix86_emit_restore_sse_regs_using_mov): Likewise.
+ (ix86_expand_epilogue): Use and validate the new frame_state_info
+ members. Break up and simplify the logic selecting the
+ restore_regs_via_mov code path. Ensure that there will be no
+ out-of-range stack pointer offsets.
+
+ * config/i386/cygming.h (TARGET_64BIT_MS_ABI): Remove.
+
+ * config/i386/i386.c (ix86_function_ms_hook_prologue): Fix
+ argument name to reflect the expected tree; fix indentation.
+ (ix86_asm_output_function_label): Output the entire 32-bit
+ ms_hook here as bytes ...
+ (ix86_expand_prologue): ... not here as insns. Attach the
+ unwind info for the ms_hook to a blockage insn.
+ (ix86_handle_fndecl_attribute): Don't check HAVE_AS_IX86_SWAP.
+ (ix86_ms_bitfield_layout_p): Fix indentation.
+ * config/i386/i386.md (UNSPECV_VSWAPMOV, vswapmov): Remove.
+
+ * config/i386/i386.c (ix86_using_red_zone): New.
+ (ix86_compute_frame_layout, ix86_add_cfa_restore_note,
+ ix86_expand_prologue, ix86_force_to_memory): Use it.
+
+ * config/i386/i386.c (ix86_expand_prologue): Simplify logic
+ saving the int registers.
+
+ * dwarf2out.c: Remove most of the DWARF2_DEBUGGING_INFO
+ and DWARF2_UNWIND_INFO conditional compilation.
+
+2010-08-04 Richard Henderson <rth@redhat.com>
+
+ PR debug/45171
+ * dwarf2out.c (gen_typedef_die): Don't re-generate the die of
+ an is_naming_typedef_decl.
+
+2010-08-04 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/45162
+ * df-problems.c (df_word_lr_bb_local_compute): Ignore DEBUG_INSNs.
+ * dce.c (word_dce_process_block): Likewise.
+
+2010-08-04 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/44583
+ * config/ia64/constraints.md (Z): New.
+ * config/ia64/predicates.md (fr_reg_or_signed_fp01_operand): New.
+ (xfreg_or_signed_fp01_operand): New.
+ * config/ia64/ia64.md (addsf3): Replace fr_reg_or_fp01_operand
+ with fr_reg_or_signed_fp01_operand and constraint G with Z.
+ (subsf3): Ditto.
+ (*maddsf4): Ditto.
+ (*msubsf4): Ditto.
+ (adddf3): Ditto.
+ (adddf3_trunc): Ditto.
+ (subdf3): Ditto.
+ (*subdf3_trunc): Ditto.
+ (*madddf4): Ditto.
+ (*madddf4_trunc): Ditto.
+ (*msubdf4): Ditto.
+ (*msubdf4_trunc): Ditto.
+ (addxf3): Replace xfreg_or_fp01_operand with
+ xfreg_or_signed_fp01_operand and constraint G with Z.
+ (*addxf3_truncsf): Ditto.
+ (*addxf3_truncdf): Ditto.
+ (subxf3): Ditto.
+ (*subxf3_truncsf): Ditto.
+ (*subxf3_truncdf): Ditto.
+ (*maddxf4): Ditto.
+ (*maddxf4_truncsf): Ditto.
+ (*maddxf4_truncdf): Ditto.
+ (*msubxf4): Ditto.
+ (*msubxf4_truncsf): Ditto.
+ (*msubxf4_truncdf): Ditto.
+
+2010-08-04 Richard Guenther <rguenther@suse.de>
+
+ * alias.c (rtx_refs_may_alias_p): Do not resort to TBAA
+ if either alias-set is zero.
+
+2010-08-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-propagate.h (struct prop_value_d, prop_value_t): Move ...
+ * tree-ssa-ccp.c: ... here.
+ * tree-ssa-copy.c: ... and here.
+ * tree-ssa-propagate.h (enum value_range_type, struct value_range_d,
+ value_range_t): Move ...
+ * tree-vrp.c: ... here.
+ * tree-ssa-propagate.h (ssa_prop_get_value_fn): New typedef.
+ (substitute_and_fold): Adjust prototype.
+ * tree-ssa-propagate.c (replace_uses_in): Adjust.
+ (replace_phi_args_in): Likewise.
+ (substitute_and_fold): Take callback to query lattice instead
+ of pointer to lattice. Replace SSA name defs with lattice
+ values first.
+ * tree-ssa-ccp.c (ccp_finalize): Adjust.
+ * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust.
+ (get_value): New function.
+ (fini_copy_prop): Adjust.
+ * tree-vrp.c (vrp_finalize): Adjust.
+
+2010-08-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45176
+ * expr.c (expand_expr_real_1): Also preserve TARGET_MEM_REF
+ points-to set for original MEM_REF.
+
+2010-08-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (get_constant_value): New function.
+ (get_rhs_assign_op_for_ccp): Remove.
+ (valueize_op): New function.
+ (ccp_fold): Use get_constant_value and valueize_op.
+ (fold_const_aggregate_ref): Likewise.
+ (ccp_fold_stmt): Likewise.
+ (visit_assignment): Simplify.
+
+2010-08-04 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (double-int.o): Add $(TOPLEV_H) dependency.
+ * double-int.h (double_int_ctz): Declare.
+ * double-int.c (double_int_ctz): New function.
+
+2010-08-04 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
+ Define.
+ picochip_expand_movmemhi : Expand movmem pattern.
+ * config/picochip/picochip-protos.h (picochip_expand_movmemhi) :
+ Declare.
+ * config/picochip/picochip.md (movmemhi) : New pattern.
+
+2010-08-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/unix.h (GLOBAL_ASM_OPS): Add tabs around .globl.
+
+2010-08-03 Bernd Schmidt <bernds@codesourcery.com>
+
+ * simplify-rtx.c (simplify_binary_operation_1): Try to simplify away
+ NEG as operand of a MULT by merging it with the other operand.
+ * combine.c (make_compound_operation): Use trunc_int_for_mode when
+ generating a MULT with constant. Canonicalize PLUS and MINUS involving
+ MULT.
+ * config/arm/constraints.md (M): Examine only 32 bits of a
+ HOST_WIDE_INT.
+ * config/arm/predicates.md (power_of_two_operand): Likewise.
+
+2010-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
+ non-NOTE insns.
+
+2010-08-03 Jan Hubicka <jh@suse.cz>
+
+ * ipa-split.c (struct split_point): Add split_part_set_retval.
+ (find_retval): Forward declare.
+ (test_nonssa_use, mark_nonssa_use): Special case return by reference.
+ (consider_split): Compute current->split_part_set_retval.
+ (visit_bb): Do not look into return value.
+ (split_function): Handle !split_part_set_retval
+
+2010-08-03 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (completely_scalarize_record): New parameter REF, create
+ its own access->expr intead of using build_ref_for_offset.
+
+2010-08-03 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/alpha.h (SWITCH_TAKES_ARG): Define.
+ * config/alpha/osf5.h (LIB_SPEC): Don't handle -a.
+ * config/bfin/bfin.h (ASM_SPEC, LINK_SPEC): Don't pass -G* options.
+ * config/darwin.h (WORD_SWITCH_TAKES_ARG): Handle -iframework.
+ * config/ia64/ia64.h (SWITCH_TAKES_ARG): Define.
+ * config/iq2000/iq2000.h (SWITCH_TAKES_ARG): Remove.
+ * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Define using
+ DEFAULT_SWITCH_TAKES_ARG.
+ * config/rx/rx.opt (-patch=): Remove option.
+ * config/rx/rx.c (rx_handle_option): Don't handle OPT_patch_.
+ * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Handle -imultilib.
+ * doc/invoke.texi (RX Options): Remove -patch=.
+ * gcc.c (cc1_options): Pass -aux-info* instead of -a* options.
+ (option_map): Remove --profile-blocks, --quiet and --silent.
+
+2010-08-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove.
+ * config/i386/i386.c (ix86_compare_op0, ix86_compare_op1): Remove.
+ (ix86_expand_branch): Add op0 and op1 arguments. Do not access
+ ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
+ Update calls to ix86_expand_compare and ix86_expand_branch.
+ (ix86_expand_setcc): Add op0 and op1 arguments. Update calls to
+ ix86_expand_compare.
+ (ix86_expand_compare): Add op0 and op1 arguments. Do not access
+ ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
+ Make static.
+ (ix86_expand_carry_flag_compare): Do not set ix86_compare_op0
+ and ix86_compare_op1. Update calls to ix86_expand_compare.
+ (ix86_expand_int_movcc): Ditto.
+ (ix86_expand_fp_movcc): Ditto. Update calls to ix86_expand_setcc.
+ * config/i386/i386-protos.h (ix86_expand_branch): Update prototype.
+ (ix86_expand_setcc): Ditto.
+ (ix86_expand_compare): Remove prototype.
+ * config/i386/i386.md (cbranch<SDWIM:mode>4): Do not set
+ ix86_compare_op0 and ix86_compare_op1. Update calls
+ to ix86_expand_branch to directly pass operands[1] and operands[2].
+ (cbranchxf4): Ditto.
+ (cbranch<MODEF:mode>4): Ditto.
+ (cbranchcc4): Ditto.
+ (cstore<SWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1.
+ Update calls to ix86_expand_setcc to directly pass operands[2] and
+ operands[3].
+ (cstorexf4): Ditto.
+ (cstore<MODEF:mode>4): Ditto.
+ (cstorecc4): Ditto.
+
+2010-08-02 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/45063
+ * caller-save.c (save_call_clobbered_regs): Remove regs from
+ hard_regs_saved when they are set.
+
+2010-08-02 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/41089
+ * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
+ as volatile.
+
+2010-08-02 Sebastian Pop <sebastian.pop@amd.com>
+
+ * common.opt (ftree-loop-distribute-patterns): New.
+ * invoke.texi (-ftree-loop-distribute-patterns): Documented.
+ * opts.c (decode_options): Enable flag_tree_loop_distribute_patterns
+ at -O3.
+ * tree-data-ref.c (stores_zero_from_loop): New.
+ * tree-data-ref.h (stores_zero_from_loop): Declared.
+ * tree-loop-distribution.c (tree_loop_distribution): Call
+ stores_zero_from_loop.
+ (tree_loop_distribution): Check flag_tree_loop_distribute_patterns.
+
+2010-08-02 Bernd Schmidt <bernds@codesourcery.com>
+
+ * postreload.c (reload_cse_simplify_operands): Take attribute enabled
+ into account.
+
+ * final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
+ * config/arm/arm.c (thumb1_code): New variable.
+ (arm_override_options): Set it.
+ (thumb1_final_prescan_insn): Keep track of condition code status.
+ (arm_adjust_cost): For Thumb, try to keep cc-setting insns next to
+ jumps that depend on them.
+ * config/arm/arm.h (thumb1_code): Declare variable.
+ (struct machine_function): Guard with #ifndef GENERATOR_FILE. Add
+ members thumb1_cc_insn, thumb1_cc_op0, thumb1_cc_op1 and
+ thumb1_cc_mode.
+ (CC_STATUS_INIT): New macro.
+ * config/arm/constraints.md (Pd): New constraint.
+ * config/arm/predicates.md (noov_comparison_operator): New predicate.
+ * config/arm/arm.md (is_thumb1): New define_attr.
+ (conds): Set default to "clob" when generating Thumb1 code.
+ (thumb1_bicsi3): Renamed from bicsi3. All uses changed. Condition
+ code are set. Use two-operand assembly syntax.
+ (thumb1_subsi3_insn): Condition codes are set. Now a properly named
+ pattern.
+ (thumb1_andsi3_insn, thumb1_iorsi3_insn, thumb1_xorsi3_insn): Condition
+ codes are set. Use two-operand assembly syntax.
+ (zero_extendhisi splitter): Remove constraints.
+ (thumb1_movsi_insn, thumb1_movhi_insn, thumb1_movqi_insn, thumb1_movhf,
+ thumb1_movsf_insn): Set conds attribute as appropriate.
+ (cbranchsi4_insn): Use condition code status from struct
+ machine_function to determine whether the comparison can be eliminated.
+ Discourage the alternative using high registers.
+ (movsi_cbranchsi4, andsi3_cbranch, orrsi3_cbranch_scratch,
+ orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch,
+ bicsi3_cbranch_scratch, bicsi3_cbranch, subsi3_cbranch_scratch,
+ subsi3_cbranch): Delete.
+ (movsi_cbranchsi4 peepholes): Rewrite to generate a sequence of
+ one subtract and one cbranch insn.
+
+ * config/arm/thumb2.md (thumb2_movdi, thumb2_movsf_soft_insn,
+ thumb2_movdf_soft_insn): Delete patterns.
+ * config/arm/arm.md (arm_pool_range, thumb2_pool_range,
+ arm_neg_pool_range, thumb2_neg_pool_range): New attributes.
+ (pool_range, neg_pool_range): Use them to define defaults.
+ (movdi, arm_movsf_soft_insn, arm_movdf_soft_insn): Define them
+ and allow for TARGET_32BIT.
+
+ PR target/40457
+ * config/arm/arm.h (arm_regs_in_sequence): Declare.
+ * config/arm/arm-protos.h (emit_ldm_seq, emit_stm_seq,
+ load_multiple_sequence, store_multiple_sequence): Delete
+ declarations.
+ (arm_gen_load_multiple, arm_gen_store_multiple): Adjust
+ declarations.
+ * config/arm/ldmstm.md: New file.
+ * config/arm/arm.c (arm_regs_in_sequence): New array.
+ (load_multiple_sequence): Now static. New args SAVED_ORDER,
+ CHECK_REGS. All callers changed.
+ If SAVED_ORDER is nonnull, copy the computed order into it.
+ If CHECK_REGS is false, don't sort REGS. Handle Thumb mode.
+ (store_multiple_sequence): Now static. New args NOPS_TOTAL,
+ SAVED_ORDER, REG_RTXS and CHECK_REGS. All callers changed.
+ If SAVED_ORDER is nonnull, copy the computed order into it.
+ If CHECK_REGS is false, don't sort REGS. Set up REG_RTXS just
+ like REGS. Handle Thumb mode.
+ (arm_gen_load_multiple_1): New function, broken out of
+ arm_gen_load_multiple.
+ (arm_gen_store_multiple_1): New function, broken out of
+ arm_gen_store_multiple.
+ (arm_gen_multiple_op): New function, with code from
+ arm_gen_load_multiple and arm_gen_store_multiple moved here.
+ (arm_gen_load_multiple, arm_gen_store_multiple): Now just
+ wrappers around arm_gen_multiple_op. Remove argument UP, all callers
+ changed.
+ (gen_ldm_seq, gen_stm_seq, gen_const_stm_seq): New functions.
+ * config/arm/predicates.md (commutative_binary_operator): New.
+ (load_multiple_operation, store_multiple_operation): Handle more
+ variants of these patterns with different starting offsets. Handle
+ Thumb-1.
+ * config/arm/arm.md: Include "ldmstm.md".
+ (ldmsi_postinc4, ldmsi_postinc4_thumb1, ldmsi_postinc3, ldmsi_postinc2,
+ ldmsi4, ldmsi3, ldmsi2, stmsi_postinc4, stmsi_postinc4_thumb1,
+ stmsi_postinc3, stmsi_postinc2, stmsi4, stmsi3, stmsi2 and related
+ peepholes): Delete.
+ * config/arm/ldmstm.md: New file.
+ * config/arm/arm-ldmstm.ml: New file.
+
+ * config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
+ if statement which adds extra costs to frame-related expressions.
+
+2010-08-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm.c (COSTS_N_INSNS): Remove definition.
+
+2010-08-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/45142
+ * config/i386/sse.md (vec_set<mode>_0): Do not set mode attribute for
+ alternative 2.
+ (vec_set<mode>_0 splitter): Use SSEMODE4S mode iterator to also
+ split V4SI operands.
+
+2010-08-01 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
+ * config/mmix/mmix-protos.h (mmix_asm_output_source_filename): Remove.
+ * config/mmix/mmix.c (mmix_asm_output_source_filename): Make static.
+ (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
+
+2010-07-31 Kai Tietz <kai.tietz@onevision.com>
+
+ * cppdefault.c (cpp_include_defaults): Move GCC_INCLUDE_DIR before
+ LOCAL_INCLUDE_DIR.
+
+2010-07-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type
+ used in the call to optab_for_tree_code. Fix the second
+ is_widening_mult_p call. Check that both unwidened operands
+ have the same sign.
+
+2010-07-31 John Tytgat <John.Tytgat@aaug.net>
+
+ * config/arm/arm.c (arm_function_arg): Remove superfluous test.
+
+2010-07-31 Anatoly Sokolov <aesok@post.ru>
+
+ * config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
+
+2010-07-30 DJ Delorie <dj@redhat.com>
+
+ * config/rx/predicates.md (rx_constshift_operand): New.
+ * config/rx/rx.md (zs_cond): New.
+ (cbranchsi4): Remove mode.
+ (*cbranchsi4_<code>): Likewise.
+ (*tstbranchsi4_<code>): New.
+ (*tstbranchsi4r_<code>): New.
+ (*tstbranchsi4m_eq): New.
+ (*tstbranchsi4m_ne): New.
+ (cbranchsf4): Remove mode.
+ (*cbranchsf4_<code>): Likewise.
+
+2010-07-30 Bernd Schmidt <bernds@codesourcery.com>
+
+ * rtlanal.c (simplify_subreg_regno): Don't treat
+ HARD_FRAME_POINTER_REGNUM specially.
+
+2010-07-30 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (-G): Don't define option here.
+ * config/g.opt: New.
+ * config.gcc: Use g.opt for alpha, frv, ia64, lm32, m32r, mips,
+ rs6000/powerpc and score targets.
+ * opts.c (common_handle_option): Don't handle -G here.
+ * config/alpha/alpha.c (alpha_handle_option): Handle -G.
+ * config/frv/frv.c (frv_handle_option): Handle -G.
+ * config/ia64/ia64.c (ia64_handle_option): Handle -G.
+ * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): New.
+ * config/m32r/m32r.c (m32r_handle_option): Handle -G.
+ * config/mips/mips.c (mips_handle_option): Handle -G.
+ * config/rs6000/rs6000.c (rs6000_handle_option) Handle -G.
+ * config/score/score.c (score_handle_option): Handle -G.
+
+2010-07-30 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mmix/mmix.c: Include basic-block.h.
+
+2010-07-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45055
+ PR rtl-optimization/45137
+ * rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New
+ prototypes.
+ * emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn):
+ New functions.
+ * combine.c (next_nonnote_nondebug_insn): Removed.
+ * ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn.
+ * haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn.
+ * sched-deps.c (sched_analyze_insn): Likewise.
+ (fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn.
+ * rtlanal.c (canonicalize_condition): Likewise.
+ * postreload.c (reload_combine_recognize_pattern): Likewise.
+ (reload_cse_move2add): Use next_nonnote_nondebug_insn.
+
+2010-07-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (int_cond): Remove code iterator.
+ (fp_cond): Ditto.
+ (cbranch<mode>4): Use ordered_comparison_operator predicate
+ for operator0.
+ (cstore<mode>4): Ditto for operator1.
+ (mov<SWIM:mode>cc and corresponding splitter): Ditto.
+ (add<mode>cc): ditto.
+
+2010-07-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45141
+ * expr.c (expand_expr_real_1): Check for not handled base address.
+
+2010-07-30 Richard Guenther <rguenther@suse.de>
+
+ * ipa-prop.c (ipa_modify_formal_parameters): Use
+ build_distinct_type_copy.
+
+2010-07-30 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/rtems.h: New file.
+ * config.gcc: Add moxie-rtems support.
+
+2010-07-29 Bernd Schmidt <bernds@codesourcery.com>
+
+ * dce.c (run_word_dce): Take flag_dce into account. Clear and restore
+ df flags as in run_fast_df_dce.
+
+2010-07-29 Jakub Jelinek <jakub@redhat.com>
+
+ Revert:
+ 2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ * rtl.def (NOTE): Swap operands 4 and 5.
+ * rtl.h (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK,
+ NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_KIND):
+ Adjust accordingly.
+ * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of NOTEs.
+
+2010-07-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45110
+ * dwarf2out.c (dwarf_attr_name): Handle DW_AT_object_pointer.
+ (gen_formal_types_die): Add DW_AT_object_pointer in methods.
+ (gen_subprogram_die): Likewise. Remove it when removing declaration's
+ formal parameters.
+ (gen_decl_die): Change return type to dw_die_ref, return what
+ gen_formal_parameter_die returned.
+
+2010-07-29 Martin Jambor <mjambor@suse.cz>
+
+ * dbgcnt.def (eipa_sra): New counter.
+ * tree-sra.c (ipa_early_sra_gate): Also check eipa_sra debug counter.
+
+2010-07-29 Xinliang David Li <davidxl@google.com>
+
+ PR bootstrap/45119
+ * tree-ssa-loop-ivopts.c (get_address_cost): Revert change
+ in revision 162652.
+
+2010-07-29 Richard Guenther <rguenther@suse.de>
+
+ * timevar.def (TV_TREE_STORE_COPY_PROP): Remove.
+ (TV_TREE_STORE_CCP): Likewise.
+ (TV_TREE_REDPHI): Likewise.
+
+2010-07-29 Richard Guenther <rguenther@suse.de>
+
+ * double-int.h (double_int_and_not): New function.
+ * combine.c (try_combine): Use it.
+ * tree-vrp.c (simplify_bit_ops_using_ranges): Likewise.
+
+2010-07-29 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/42575
+ * dce.c (word_dce_process_block): Renamed from byte_dce_process_block.
+ Argument AU removed. All callers changed. Ignore artificial refs.
+ Use return value of df_word_lr_simulate_defs to decide whether an insn
+ is necessary.
+ (fast_dce): Rename arg to WORD_LEVEL.
+ (run_word_dce): Renamed from rest_of_handle_fast_byte_dce. No longer
+ static.
+ (pass_fast_rtl_byte_dce): Delete.
+ * dce.h (run_word_dce): Declare.
+ * df-core.c (df_print_word_regset): Renamed from df_print_byteregset.
+ All callers changed. Simplify code to only deal with two-word regs.
+ * df.h (DF_WORD_LR): Renamed from DF_BYTE_LR.
+ (DF_WORD_LR_BB_INFO): Renamed from DF_BYTE_LR_BB_INFO.
+ (DF_WORD_LR_IN): Renamed from DF_BYTE_LR_IN.
+ (DF_WORD_LR_OUT): Renamed from DF_BYTE_LR_OUT.
+ (struct df_word_lr_bb_info): Renamed from df_byte_lr_bb_info.
+ (df_word_lr_mark_ref): Declare.
+ (df_word_lr_add_problem, df_word_lr_mark_ref, df_word_lr_simulate_defs,
+ df_word_lr_simulate_uses): Declare or rename from byte variants.
+ (df_byte_lr_simulate_artificial_refs_at_top,
+ df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
+ df_byte_lr_get_regno_len, df_compute_accessed_bytes): Delete
+ declarations.
+ (df_word_lr_get_bb_info): Rename from df_byte_lr_get_bb_info.
+ (enum df_mm): Delete.
+ * df-byte-scan.c: Delete file.
+ * df-problems.c (df_word_lr_problem_data): Renamed from
+ df_byte_lr_problem_data, all members deleted except for
+ WORD_LR_BITMAPS, which is renamed from BYTE_LR_BITMAPS. Uses changed.
+ (df_word_lr_expand_bitmap, df_byte_lr_simulate_artificial_refs_at_top,
+ df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
+ df_byte_lr_get_regno_len, df_byte_lr_check_regs,
+ df_byte_lr_confluence_0): Delete functions.
+ (df_word_lr_free_bb_info): Renamed from df_byte_lr_free_bb_info; all
+ callers changed.
+ (df_word_lr_alloc): Renamed from df_byte_lr_alloc; all callers changed.
+ Don't initialize members that were deleted, don't try to discover data
+ about registers. Ignore hard regs.
+ (df_word_lr_reset): Renamed from df_byte_lr_reset; all callers changed.
+ (df_word_lr_mark_ref): New function.
+ (df_word_lr_bb_local_compute): Renamed from
+ df_byte_bb_lr_local_compute; all callers changed. Use
+ df_word_lr_mark_ref. Assert that artificial refs don't include
+ pseudos. Ignore hard registers.
+ (df_word_lr_local_compute): Renamed from df_byte_lr_local_compute.
+ Assert that exit block uses don't contain pseudos.
+ (df_word_lr_init): Renamed from df_byte_lr_init; all callers changed.
+ (df_word_lr_confluence_n): Renamed from df_byte_lr_confluence_n; all
+ callers changed. Ignore hard regs.
+ (df_word_lr_transfer_function): Renamed from
+ df_byte_lr_transfer_function; all callers changed.
+ (df_word_lr_free): Renamed from df_byte_lr_free; all callers changed.
+ (df_word_lr_top_dump): Renamed from df_byte_lr_top_dump; all callers
+ changed.
+ (df_word_lr_bottom_dump): Renamed from df_byte_lr_bottom_dump; all
+ callers changed.
+ (problem_WORD_LR): Renamed from problem_BYTE_LR; uses changed;
+ confluence operator 0 set to NULL.
+ (df_word_lr_add_problem): Renamed from df_byte_lr_add_problem; all
+ callers changed.
+ (df_word_lr_simulate_defs): Renamed from df_byte_lr_simulate_defs.
+ Return bool, true if bitmap changed or insn otherwise necessary.
+ All callers changed. Simplify using df_word_lr_mark_ref.
+ (df_word_lr_simulate_uses): Renamed from df_byte_lr_simulate_uses;
+ all callers changed. Simplify using df_word_lr_mark_ref.
+ * lower-subreg.c: Include "dce.h"
+ (decompose_multiword_subregs): Call run_word_dce if df available.
+ * Makefile.in (lower-subreg.o): Adjust dependencies.
+ (df-byte-scan.o): Delete.
+ * timevar.def (TV_DF_WORD_LR): Renamed from TV_DF_BYTE_LR.
+
+2010-07-29 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (build_vector): Assert that the vector constant
+ has enough elements.
+ (build_vector_from_ctor): Pad with trailing zeros.
+
+2010-07-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45120
+ * tree-ssa-structalias.c (get_constraint_for_component_ref):
+ Handle offset in DEREFs properly.
+ (get_constraint_for_1): Handle MEM_REF offset properly.
+
+2010-07-29 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45034
+ * convert.c (convert_to_integer): Always use an unsigned
+ type for narrowed negate and bitwise not.
+
+2010-07-29 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Switch
+ to outer loop when creating reduction epilogue for double reduction,
+ and switch back to the inner loop when updating the phi nodes.
+ Update uses of outer loop exit phi nodes in double reduction (instead
+ of uses of reduction).
+
+2010-07-28 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_rtx_costs): Update costs for
+ popcount on power7 and parity on power6 systems.
+ (rs6000_emit_popcount): Rename gen_popcntwsi2 to gen_popcntddi2.
+ (rs6000_emit_parity): Add support for power6 prtyd/prtyw
+ instructions.
+
+ * config/rs6000/rs6000.md (UNSPEC_COPYSIGN): New unspec.
+ (UNSPEC_PARITY): Ditto.
+ (SFDF): New iterator for SF/DF.
+ (rreg2): New mode attribute for floating register constraint.
+ (TARGET_FLOAT): New mode attribute for whether single/double float
+ is supported.
+ (popcntd<mode>2): Combine popcntwsi2 and popcntddi2 into one
+ pattern.
+ (parity<mode>2_cmpb): New insn for parity on power6 and newer
+ machines.
+ (copysign<mode>3): Combine copysignsf3, copysigndf3 into one
+ pattern. Add support for fcpsgn instruction added in power6.
+ (copysignsf3): Delete.
+ (copysigndf3): Delete.
+ (copysign<mode>3_fcpsgn): New insn to generate fcpsgn. Use UNSPEC
+ instead of if_then_else in RTL to avoid problems with -0.
+
+ * config/rs6000/vsx.md (vsx_copysign<mode>3): Use UNSPEC instead
+ of if_then_else to mirror scalar code.
+ (vsx_copysignsf3): Delete, use copysign<mode>3_fcpsgn in
+ rs6000.md.
+
+ * config/rs6000/vector.md (vector_copysign<mode>3): Use UNSPEC
+ instead of if_then_else.
+
+2010-07-28 Xinliang David Li <davidxl@google.com>
+
+ * tree-ssa-loop-ivopts.c (avg_loop_niter): New function.
+ (dump_cand): Dump var_before/after.
+ (htab_inv_expr_eq): New function.
+ (htab_inv_expr_hash): New function.
+ (tree_ssa_iv_optimize_init): Support pseudo invariants.
+ (add_candidate_1): consider base type precision.
+ (set_use_iv_cost): New parameter.
+ (adjust_setup_cost): Use profile information.
+ (get_address_cost): Do not hard code width in computing address
+ offset limits.
+ (compare_aff_trees): New function.
+ (get_loop_invariant_expr_id): New function.
+ (get_computation_cost_at): New parameter and use profile information.
+ (get_computation_cost): New parameter.
+ (determine_use_iv_cost_generic): Pass new parameter.
+ (determine_use_iv_cost_address): Ditto.
+ (determine_use_iv_cost_condition): Ditto.
+ (autoinc_possible_for_pair): Ditto.
+ (determine_use_iv_costs): More dumps.
+ (iv_ca_get_num_inv_exprs): New function.
+ (iv_ca_recount_cost): Consider loop invariants in register pressure
+ cost.
+ (iv_ca_add_use): New parameter.
+ (iv_ca_dump): Better dumping.
+ (iv_ca_extend): New parameter.
+ (try_add_cand_for): Attempt to get better partial solution.
+ (try_improve_iv_set): Pass new parameter to iv_ca_extend.
+ (create_new-ivs): More dumps.
+ (rewrite_use_compare): Ditto.
+ (free_loop_data): More cleanup.
+ (treee_ssa_iv_optimize_finalize): Ditto.
+
+2010-07-28 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.
+ * config/i386/i386.c (ix86_profile_before_prologue): New.
+ (override_options): Add special handling for -mfentry.
+ (ix86_function_regparm): Likewise.
+ (ix86_function_sseregparm): Likewise.
+ (ix86_frame_pointer_required): Likewise.
+ (ix86_expand_prologue): Check for ms_hook_prologue.
+ (x86_function_profiler): Adjust mcount output.
+ (TARGET_PROFILE_BEFORE_PROLOGUE): Define hook.
+ * config/i386/i386.opt (mfentry): New.
+ * doc/invoke.texi (mfentry): Add documentation.
+ * doc/tm.texi: Regenerated..
+ * doc/tm.texi.in (TARGET_PROFILE_BEFORE_PROLOGUE): New.
+ * final.c (final_start_function): Replace macro
+ PROFILE_BEFORE_PROLOGUE by target hook.
+ * function.c (thread_prologue_and_epilogue_insns): Likewise.
+ * target.def (profile_before_prologue): New hook.
+ * targhooks.c (default_profile_before_prologue): New.
+ * targhooks.h (default_profile_before_prologue): New.
+
+2010-07-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45105
+ * gcse.c (hoist_code): Use FOR_BB_INSNS macro.
+
+ PR debug/45103
+ * dwarf2out.c (dwarf2out_var_location): Always consider
+ NOTE_DURING_CALL_P notes, even when not followed by real instructions.
+
+2010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR rtl-optimization/45107
+ * gcse.c (hash_scan_set): Use max_distance for gcse-las.
+
+2010-07-28 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c: Remove comment regarding STORE-CCP.
+ (set_lattice_value): Do not query an old default value.
+ (get_value_for_expr): New function. Properly canonicalize
+ float values.
+ (ccp_visit_phi_node): Use it.
+
+2010-07-28 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/arm/arm.c (arm_pcs_default): Remove static.
+ * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or
+ __ARM_PCS_VFP to indicate soft/hard-float calling convention.
+ (arm_pcs_default): Declare.
+
+2010-07-28 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_override_options):
+ Use TARGET_MACHO inline, move darwin_one_byte_bool from here...
+ ... to darwin_rs6000_override_options.
+ (rs6000_return_in_memory): Update preceding comment for darwin
+ 64 bit ABI. Use TARGET_MACHO inline.
+ (rs6000_darwin64_struct_check_p): New.
+ (function_arg_advance): Use rs6000_darwin64_struct_check_p.
+ (function_arg): Likewise.
+ (rs6000_arg_partial_bytes): Likewise.
+ (rs6000_function_value): Likewise.
+
+2010-07-28 Andi Kleen <ak@linux.intel.com>
+
+ * lto-opts.c (lto_file_read_options): Add loop over all inputs.
+
+2010-07-28 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44903
+ * builtins.c (fold_builtin_memory_op): On STRICT_ALIGNMENT
+ targets try harder to not generate unaligned accesses.
+
+2010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR rtl-optimization/45101
+ * gcse.c (hash_scan_set): Fix argument ordering of insert_expr_in_table
+ for gcse-las.
+
+2010-07-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/44885
+ * tree-sra.c (find_param_candidates): Skip pointer types to arrays
+ with non-aliased component.
+
+2010-07-28 Joseph Myers <joseph@codesourcery.com>
+
+ * config/darwin-driver.c (SWITCH_TAKES_ARG,
+ WORD_SWITCH_TAKES_ARG): Remove.
+ * cppspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
+ * defaults.h (DEFAULT_SWITCH_TAKES_ARG,
+ DEFAULT_WORD_SWITCH_TAKES_ARG): Move from gcc.h.
+ (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move default
+ definitions from gcc.c.
+ * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move to
+ defaults.h.
+ * gcc.h (DEFAULT_SWITCH_TAKES_ARG, DEFAULT_WORD_SWITCH_TAKES_ARG):
+ Move to defaults.h.
+ * opts-common.c: Include tm.h.
+ (decode_cmdline_option): Use SWITCH_TAKES_ARG and
+ WORD_SWITCH_TAKES_ARG to count arguments to unknown options.
+ Handle more than one argument. Set canonical_option_num_elements.
+ (decode_cmdline_options_to_array): Set
+ canonical_option_num_elements and trailing elements of
+ canonical_option.
+ * opts.h (struct cl_decoded_option): Allow four elements in
+ canonical_option. Add field canonical_option_num_elements.
+ * Makefile.in (opts-common.o): Update dependencies.
+
+2010-07-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/44790
+ PR middle-end/44993
+ * expr.c (expand_expr_real_1) <MEM_REF>: Revert latest change. Make
+ sure the base has address_mode before adding the offset.
+
+2010-07-27 Xinliang David Li <davidxl@google.com>
+
+ * tree-flow.h (create_mem_ref): Add one new parameter.
+ * tree-ssa-address.c (create_mem_ref): New parameter.
+ (addr_to_parts): Ditto.
+ (move_variant_to_index): New function.
+ * tree-ssa-loop-ivopts.c (rewrite_use_address): Pass new argument.
+
+2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, NOTE): Swap operands
+ 4 and 5.
+ * rtl.h (PATTERN, INSN_LOCATOR, NOTE_DATA, NOTE_DELETED_LABEL_NAME,
+ NOTE_BLOCK, NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION,
+ NOTE_KIND, LABEL_NUSES, LABEL_REFS): Adjust accordingly.
+ * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of
+ CODE_LABELs and NOTEs.
+ * caller-save.c (init_caller_save): Fix up gen_rtx_INSN call.
+ * combine.c (try_combine): Likewise.
+ * ira.c (setup_prohibited_mode_move_regs): Likewise.
+ * print-rtl.c (print_rtx): Start REG_NOTES on a new line.
+
+2010-07-27 Joseph Myers <joseph@codesourcery.com>
+
+ * coretypes.h (struct cl_option_handlers): Declare.
+ * hooks.c (hook_int_size_t_constcharptr_int_0): Remove.
+ * hooks.h (hook_int_size_t_constcharptr_int_0): Remove.
+ * langhooks-def.h (lhd_handle_option): Declare.
+ (LANG_HOOKS_HANDLE_OPTION): Use lhd_handle_option.
+ * langhooks.c (lhd_handle_option): New.
+ * langhooks.h (struct lang_hooks): Update prototype and return
+ value type of handle_option hook.
+ * optc-gen.awk: Generate target_flags_explicit definition for the
+ driver.
+ * opts-common.c: Include diagnostic.h.
+ (handle_option): Move from opts.c. Update prototype and return
+ value type. Use handlers structure.
+ (read_cmdline_option): Move from opts.c. Update prototype. Use
+ handlers structure.
+ (set_option): Move from opts.c.
+ * opts.c (common_handle_option): Update prototype and return value
+ type. Update calls to handle_option and enable_warning_as_error.
+ (unknown_option_callback, post_handling_callback,
+ lang_handle_option, target_handle_option): New.
+ (handle_option, read_cmdline_option): Move to opts-common.c.
+ (read_cmdline_options): Update prototype. Update call to
+ read_cmdline_option.
+ (decode_options): Initialize and use handlers structure.
+ (set_option): Move to opts-common.c.
+ (enable_warning_as_error): Update prototype. Update call to
+ handle_option.
+ * opts.h (struct cl_option_handler_func, struct
+ cl_option_handlers): New.
+ (handle_option, enable_warning_as_error): Update prototypes.
+ (read_cmdline_option): Declare.
+ * Makefile.in (opts-common.o): Update dependencies.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/arm/arm.c (params.h): Include.
+ (arm_override_options): Tune gcse-unrestricted-cost.
+ * config/arm/t-arm (arm.o): Define dependencies.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR target/42495
+ PR middle-end/42574
+ * basic-block.h (get_dominated_to_depth): Declare.
+ * dominance.c (get_dominated_to_depth): New function, use
+ get_all_dominated_blocks as a base.
+ (get_all_dominated_blocks): Use get_dominated_to_depth.
+
+ * gcse.c (occr_t, VEC (occr_t, heap)): Define.
+ (hoist_exprs): Remove.
+ (alloc_code_hoist_mem, free_code_hoist_mem): Update.
+ (compute_code_hoist_vbeinout): Add debug print outs.
+ (hoist_code): Partially rewrite, simplify. Use get_dominated_to_depth.
+
+ * params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
+ quadratic behavior.
+ * params.h (MAX_HOIST_DEPTH): New macro.
+ * doc/invoke.texi (max-hoist-depth): Document.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR rtl-optimization/40956
+ * config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
+ constants.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR target/42495
+ PR middle-end/42574
+ * config/arm/arm.c (legitimize_pic_address): Use
+ gen_calculate_pic_address pattern to emit calculation of PIC address.
+ (will_be_in_index_register): New function.
+ (arm_legitimate_address_outer_p, thumb2_legitimate_address_p,)
+ (thumb1_legitimate_address_p): Use it provided !strict_p.
+ * config/arm/arm.md (calculate_pic_address): New expand and split.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR target/42495
+ PR middle-end/42574
+ * config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants.
+ * config/arm/arm.md (define_split "J", define_split "K"): Make
+ IRA/reload friendly.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * gcse.c (insert_insn_end_basic_block): Update signature, remove
+ unused checks.
+ (pre_edge_insert, hoist_code): Update.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR target/42495
+ PR middle-end/42574
+ * gcse.c (hoist_expr_reaches_here_p): Remove excessive check.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * gcse.c (hoist_code): Generate new pseudo for every new set insn.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR rtl-optimization/40956
+ PR target/42495
+ PR middle-end/42574
+ * gcse.c (compute_code_hoist_vbeinout): Consider more expressions
+ for hoisting.
+ (hoist_code): Count occurences in current block too.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * gcse.c (struct expr:max_distance): New field.
+ (doing_code_hoisting_p): New static variable.
+ (want_to_gcse_p): Change signature. Allow constrained hoisting of
+ simple expressions, don't change behavior for PRE. Set max_distance.
+ (insert_expr_in_table): Set new max_distance field.
+ (hash_scan_set): Update.
+ (hoist_expr_reaches_here_p): Stop search after max_distance
+ instructions.
+ (find_occr_in_bb): New static function. Use it in ...
+ (hoist_code): Calculate sizes of basic block before any changes are
+ done. Pass max_distance to hoist_expr_reaches_here_p.
+ (one_code_hoisting_pass): Set doing_code_hoisting_p.
+
+ * params.def (PARAM_GCSE_COST_DISTANCE_RATIO,)
+ (PARAM_GCSE_UNRESTRICTED_COST): New parameters.
+ * params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New
+ macros.
+ * doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost):
+ Document.
+
+2010-07-27 Jeff Law <law@redhat.com>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * gcse.c (compute_transpout, transpout): Remove, move logic
+ to prune_expressions.
+ (compute_pre_data): Move pruning of trapping expressions ...
+ (prune_expressions): ... here. New static function.
+ (compute_code_hoist_data): Use it.
+ (alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update.
+
+2010-07-27 Xinliang David Li <davidxl@google.com>
+
+ * tree-ssa-loop-ivopts.c (adjust_iv_update_pos): New function.
+ (rewrite_use_address): Adjust iv update position when needed.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * dbgcnt.def (hoist_insn): New debug counter.
+ * gcse.c (hoist_code): Use it.
+
+2010-07-27 Xinliang David Li <davidxl@google.com>
+
+ * tree-ssa-loop-ivopts.c (niter_for_exit): New parameter.
+ (niter_for_single_dom_exit): Passes additional parameter.
+ (iv_period): Fix comments.
+ (may_eliminate_iv): Handles multiple exit loops properly.
+ (free_tree_niter_desc): New function.
+ (free_loop_data): Frees up loop iteration descriptors.
+
+2010-07-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/44542
+ * cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
+ of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
+ instead of MAX_SUPPORTED_STACK_ALIGNMENT.
+ (expand_one_var): Don't consider DECL_ALIGN for variables for
+ which expand_one_stack_var_at has been already called.
+
+ PR testsuite/44701
+ * doc/md.texi: Clarify m and es constraints on PowerPC and m and S
+ constraints on IA-64.
+
+2010-07-27 Jie Zhang <jie@codesourcery.com>
+
+ PR target/44290
+ Revert:
+ 2010-07-23 Jie Zhang <jie@codesourcery.com>
+
+ * tree-sra.c (ipa_sra_preliminary_function_checks): Return
+ false if ! tree_versionable_function_p.
+
+2010-07-27 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (add_data_member_location_attribute): Use
+ add_AT_unsigned instead of add_AT_int if offset is non-negative.
+
+2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ * postreload.c (try_replace_in_use): New static function.
+ (reload_combine_recognize_const_pattern): Use it here. Allow
+ substituting into a final add insn, and substituting into a memory
+ reference in an insn that sets the reg.
+
+2010-07-27 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (o): Add MissingArgError.
+ * doc/options.texi (MissingArgError): Document.
+ * hooks.c (hook_bool_constcharptr_size_t_false): Remove.
+ * hooks.h (hook_bool_constcharptr_size_t_false): Remove.
+ * langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
+ (LANG_HOOKS_INITIALIZER): Remove missing_argument hook initializer.
+ * langhooks.h (struct lang_hooks): Remove missing_argument.
+ * optc-gen.awk: Handle MissingArgError and output new structure
+ field initializers.
+ * opts.c (read_cmdline_option): Use missing_argument_error field
+ instead of missing_argument langhook.
+ * opts.h (struct cl_option): Add missing_argument_error field.
+ * system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison.
+
+2010-07-27 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/29090
+ * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Special-case the
+ Darwin64 ABI, for zero-sized objects.
+
+2010-07-27 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/35491
+ PR target/29090
+
+ Merge from Apple local 4.2.1.
+ 2005-05-11 Stan Shebs <shebs@apple.com>
+ Fix 64-bit varargs for Darwin (Radar 4028089).
+ * config/rs6000/rs6000.h (rs6000_args): New field floats_in_gpr.
+ * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
+ Add argument, add case for 8-byte register half-filled with a float.
+ (rs6000_darwin64_record_arg_advance_recurse): Detect and handle
+ single-precision floats specially.
+
+2010-07-27 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/44152
+ * tree-vect-slp.c (vect_build_slp_tree): Collect nodes with
+ complex numbers for further check.
+ (vect_supported_load_permutation_p): Check nodes with
+ complex numbers.
+
+2010-07-27 Joseph Myers <joseph@codesourcery.com>
+
+ * langhooks-def.h (lhd_init_options, LANG_HOOKS_OPTION_LANG_MASK,
+ LANG_HOOKS_COMPLAIN_WRONG_LANG_P): New.
+ (LANG_HOOKS_INIT_OPTIONS): Update default definition.
+ (LANG_HOOKS_INITIALIZER): Add new hooks.
+ * langhooks.c (lhd_init_options, lhd_complain_wrong_lang_p): New.
+ * langhooks.h (struct lang_hooks): Add new hooks option_lang_mask
+ and complain_wrong_lang_p. Update init_options prototype.
+ * c-objc-common.c (c_initialize_diagnostics): First call
+ c_common_initialize_diagnostics.
+ * c-objc-common.h (LANG_HOOKS_OPTION_LANG_MASK,
+ LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
+ * coretypes.h (struct cl_option, struct cl_decoded_option): Declare.
+ * hooks.c (hook_uint_uint_constcharptrptr_0): Remove.
+ (hook_uint_void_0): New.
+ * hooks.h (hook_uint_uint_constcharptrptr_0): Remove.
+ (hook_uint_void_0): New.
+ * opts-common.c (decode_cmdline_option,
+ decode_cmdline_options_to_array): Also fill in canonical_option field.
+ * opts.c (complain_wrong_lang): Use langhook to determine whether
+ to complain instead of special-casing LTO.
+ (decode_options): Separate lang_mask determination with
+ option_lang_mask hook from call of init_options hook.
+ * opts.h (struct cl_decoded_option): Add canonical_option.
+
+2010-07-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/45083
+ * tree-inline.c (add_local_variables): Also remap DECL_DEBUG_EXPR.
+
+2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ * postreload.c (reload_combine_recognize_const_pattern): Move test
+ for limiting the insn movement to the right scope.
+
+ PR rtl-optimization/45051
+ * reload1.c (delete_output_reload): Use refers_to_regno_p rather
+ than reg_mentioned_p.
+
+2010-07-26 Richard Henderson <rth@redhat.com>
+
+ PR target/44132
+ * tree-emutls.c: New file.
+ * Makefile.in (OBJS-common): Add it.
+ * tree-pass.h (pass_ipa_lower_emutls): Declare.
+ * passes.c (init_optimization_passes): Add it.
+
+ * dwarf2out.c (loc_list_from_tree): If emutls.debug_form_tls_address,
+ pull the control variable from DECL_VALUE_EXPR, not emutls_decl.
+ * expr.c (emutls_var_address): Delete.
+ (expand_expr_addr_expr_1, expand_expr_real_1): Don't use it.
+ * output.h (SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL): Delete.
+ (emutls_finish): Delete.
+ * toplev.c (compile_file): Don't call it.
+ * tree.h (emutls_decl): Delete.
+ * varasm.c (emutls_htab, DECL_EMUTLS_VAR_P): Delete.
+ (emutls_finish, emutls_finalize_control_var): Delete.
+ (emutls_object_type): Move to tree-emutls.c.
+ (EMUTLS_SEPARATOR, prefix_name, get_emutls_object_name,
+ default_emutls_var_fields, get_emutls_object_type,
+ get_emutls_init_templ_addr, emutls_decl, emutls_common_1
+ default_emutls_var_init): Likewise.
+ (get_variable_section): Don't special case emutls.
+ (assemble_variable, do_assemble_alias, categorize_decl_for_section,
+ default_elf_select_section, default_unique_section,
+ default_encode_section_info): Likewise.
+ * varpool.c (decide_is_variable_needed): Likewise.
+ * gimple-iterator.c (update_call_edge_frequencies): New
+ (gsi_insert_on_edge_immediate): Use it.
+ (gsi_insert_seq_on_edge_immediate): Likewise.
+ (gsi_commit_one_edge_insert): Likewise.
+
+ * config/i386/i386.c (x86_64_elf_select_section): Don't handle
+ SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL.
+ (x86_64_elf_unique_section): Likewise.
+
+2010-07-26 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer.h (struct lto_file_decl_data): Mark resolutions with
+ GTY((skip)).
+
+2010-07-26 Anatoly Sokolov <aesok@post.ru>
+
+ * target.def (output_source_filename): New hook.
+ * doc/tm.texi.in (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Document.
+ * doc/tm.texi: Regenerate.
+ * toplev.c (output_file_directive) Remove function.
+ * toplev.h (output_file_directive) Remove.
+ * output.h (default_asm_output_source_filename,
+ output_file_directive): Declare.
+ * varasm.h (default_asm_output_source_filename,
+ output_file_directive): New functions.
+
+ * config/mips/mips.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
+ * config/mips/mips-protos.h (mips_output_filename): Remove.
+ * config/mips/mips.c (mips_output_filename): Make Static.
+ (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
+
+2010-07-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43784
+ * tree-nrv.c (dest_safe_for_nrv_p): It's not safe to NRV
+ if the destination is used by the call.
+
+2010-07-26 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45073
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize
+ SSA updating on being in SSA form.
+
+2010-07-26 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45056
+ * gimple-fold.c (fold_stmt_1): Also fold references in debug stmts.
+
+2010-07-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45071
+ * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Always
+ adjust op->opcode.
+
+2010-07-26 Naveen.H.S <naveen.S@kpitcummins.com>
+
+ * config/v850/lib1funcs.asm (save_r2_r31, return_r2_r31,
+ save_r20_r31, return_r20_r31, save_r21_r31, return_r21_r31,
+ save_r22_r31, return_r22_r31, save_r23_r31, return_r23_r31,
+ save_r24_r31, return_r24_r31, save_r25_r31, return_r25_r31,
+ save_r26_r31, return_r26_r31, save_r27_r31, return_r27_r31,
+ save_r28_r31, return_r28_r31, save_r29_r31, return_r29_r31,
+ save_r31, return_r31, save_interrupt, return_interrupt,
+ save_all_interrupt, return_all_interrupt, L_save_r2_r31,
+ L_return_interrupt, callt_return_interrupt, L_restore_all_interrupt,
+ L_save_##START##_r31c, L_callt_save_r31c): Updated as per the
+ new ABI requirements.
+ (save_r6_r9, L_callt_save_r6_r9): Remove.
+ * config/v850/predicates.md (even_reg_operand, disp23_operand,
+ const_float_1_operand const_float_0_operand): New Predicates.
+ (pattern_is_ok_for_prepare, pattern_is_ok_for_prologue,
+ pattern_is_ok_for_epilogue): Update as per the ABI requirements.
+ * config/v850/t-v850: Update multilibs for new target variants.
+ (save_varargs, callt_save_varargs, callt_save_r6_r9): Remove.
+ * config/v850/t-v850e: Likewise.
+ * config/v850/v850.c (v850_issue_rate): New.
+ (v850_strict_argument_naming): New.
+ (function_arg): Modify to generate a different ABI.
+ (print_operand): Update case 'z' to support float modes.
+ (output_move_single): Modify to generate appropriate and better
+ assembly.
+ (v850_float_z_comparison_operator, v850_select_cc_mode,
+ v850_float_nz_comparison_operator, v850_gen_float_compare,
+ v850_gen_compare): New functions to support comparison of float values.
+ (ep_memory_offset): Add support for V850E2 targets.
+ (INTERRUPT_FIXED_NUM, INTERRUPT_ALL_SAVE_NUM): Update.
+ (INTERRUPT_REGPARM_NUM): Remove.
+ (compute_register_save_size): Add extra case to save/restore long call.
+ (use_prolog_function): New function to support prologue.
+ (expand_prologue): Add support for V850E2 targets and modified
+ as per the current ABI requirements.
+ (expand_epilogue): Likewise.
+ (construct_restore_jr): Modify based on TARGET_LONG_CALLS.
+ (construct_save_jarl): Likewise.
+ (construct_dispose_instruction): Update as per the current ABI
+ requirements.
+ (construct_prepare_instruction): Likewise.
+ * config/v850/v850.h (TARGET_CPU_DEFAULT): Add target predefines.
+ (TARGET_CPU_v850e2, TARGET_CPU_v850e2v3): Define
+ (CPP_SPEC): Updated to support v850e2 targets.
+ (STRICT_ALIGNMENT): Modified.
+ (FIRST_PSEUDO_REGISTER): Updated to add even registers.
+ (FIXED_REGISTERS): Likewise.
+ (CALL_USED_REGISTERS): Likewise.
+ (CONDITIONAL_REGISTER_USAGE): Updated.
+ (HARD_REGNO_MODE_OK): Updated.
+ (reg_class): Updated to add even registers.
+ (REG_CLASS_NAMES): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ (REGNO_REG_CLASS): Updated for CC registers.
+ (REG_CLASS_FROM_LETTER): Added support for even registers.
+ (REGNO_OK_FOR_BASE_P): Updated for CC registers.
+ (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, LINK_POINTER_REGNUM,
+ ARG_POINTER_REGNUM): Updated.
+ (FUNCTION_ARG_ADVANCE): Define.
+ (REG_PARM_STACK_SPACE): Update as per the current ABI requirements.
+ (OUTGOING_REG_PARM_STACK_SPACE): Remove.
+ (EXTRA_CONSTRAINT): Add new constraint 'W' for 23-bit displacement.
+ (GO_IF_LEGITIMATE_ADDRESS): Updated.
+ (SELECT_CC_MODE): Define.
+ (REGISTER_NAMES): Updated to add psw and fcc registers.
+ (ADDITIONAL_REGISTER_NAMES): Updated.
+ (ASM_OUTPUT_ADDR_DIFF_ELT): Updated to support new targets.
+ (JUMP_TABLES_IN_TEXT_SECTION): Updated.
+ * config/v850/v850.md (define_constants): Define new constants.
+ (type): Update store,bit1,macc,div,fpu and single attributes.
+ (cpu): New attribute.
+ (cc): Add set_z attribute.
+ (unsign23byte_load, sign23byte_load, unsign23hword_load,
+ sign23hword_load, 23word_load, 23byte_store, 23hword_store,
+ 23word_store): New instructions for 23-bit displacement load and store.
+ (movqi_internal, movhi_internal): Update the attributes.
+ (movsi, movsi_internal_v850e): Updated to support v850e2 targets.
+ (movsi_internal_v850e, movsi_internal, movsf_internal): Update
+ the attributes.
+ (v850_tst1): Modified using CC_REGNUM.
+ (tstsi): Remove.
+ (cmpsi): Modified as define_expand from define_insn.
+ (cmpsi_insn, cmpsf, cmpdf): New instructions.
+ (addsi3, subsi3, negsi2, divmodsi4, udivmodsi4, divmodhi4,
+ udivmodhi4, v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3,
+ v850_set1_1, v850_set1_3, iorsi3, v850_not1_1, v850_not1_3, xorsi3,
+ one_cmplsi2): Clobber the CC_REGNUM register.
+ (v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1,
+ v850_set1_2, v850_set1_3, iorsi3, v850_not1_1, v850_not1_2,
+ v850_not1_3, xorsi3, one_cmplsi2): Update the attributes accordingly.
+ (setf_insn, set_z_insn, set_nz_insn): New instructions for
+ v850e2v3 target.
+ (movsicc_normal_cc, movsicc_reversed_cc): New instructions.
+ (movsicc, movsicc_normal, movsicc_reversed): Add support for V850E2
+ targets.
+ (sasf_1, sasf_2): Remove.
+ (sasf): New instruction.
+ (rotlhi3, rotlhi3_8, rotlsi3, rotlsi3_16): Update to support V850E2
+ targets. CC_REGNUM register is clobbered and attributes are
+ updated.
+ (branch_z_normal, branch_z_invert, branch_nz_normal,
+ branch_nz_invert): New branch related instructions.
+ (jump): Updated the attributes.
+ (switch): Update to support new targets. CC_REGNUM register is
+ clobbered and attributes are updated.
+ (call_internal_short, call_internal_long, call_value_internal_short,
+ call_value_internal_long): Updated the attributes.
+ (zero_extendhisi2, zero_extendqisi2): CC_REGNUM register is
+ clobbered and attributes are updated.
+ (extendhisi_insn, extendhisi2, extendqisi_insn, extendqisi2):
+ Update to support new targets. CC_REGNUM register is clobbered.
+ (ashlsi3_v850e2, lshrsi3_v850e2, ashrsi3_v850e2): New shift
+ instructions.
+ (lshrsi3, ashrsi3): CC_REGNUM register is clobbered and attributes
+ are updated.
+ (ffssi2, addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, divsf3,
+ divdf3, minsf3, mindf3, maxsf3, maxdf3, abssf2, absdf2, negsf2,
+ negdf2, sqrtsf2, sqrtdf2, truncsfsi2, truncdfsi2, floatsisf2,
+ floatsidf2, extendsfdf2, extenddfsf2, recipsf2, recipdf2,
+ rsqrtsf2, rsqrtdf2, maddsf4, msubsf4, nmaddsf4, nmsubsf4,
+ cmpsf_le_insn, cmpsf_lt_insn, cmpsf_ge_insn, cmpsf_gt_insn,
+ cmpsf_eq_insn, cmpsf_ne_insn, cmpdf_le_insn, cmpdf_lt_insn,
+ cmpdf_ge_insn, cmpdf_gt_insn, cmpdf_eq_insn, cmpdf_ne_insn, trfsr,
+ movsfcc, movdfcc, movsfcc_z_insn, movsfcc_nz_insn, movdfcc_z_insn,
+ movdfcc_nz_insn, movedfcc_z_zero, movedfcc_nz_zero): New floating
+ point instructions defined for V850e2v3 target.
+ (callt_save_interrupt, callt_return_interrupt, return_interrupt):
+ Add support for V850E2 targets and CC_REGNUM register is clobbered.
+ (callt_save_all_interrupt, callt_restore_all_interrupt): Add
+ support for new targets.
+ * config/v850/v850-modes.def: New file.
+ * config/v850/v850.opt(mstrict-align): Remove.
+ (mno-strict-align, mjump-tables-in-data-section, mv850e2,
+ mv850e2v3): New command line options for V850.
+ * config.gcc: Update the newly added files.
+ * doc/invoke.texi: Update the newly added command line options for
+ V850 target.
+
+2010-07-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45052
+ * ipa-pure-const.c (check_stmt): Check volatileness.
+
+2010-07-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/44707
+ * config/sparc/sparc-protos.h (sparc_legitimize_reload_address): New.
+ * config/sparc/sparc.c: Include reload.h.
+ (legitimize_tls_address): Rename into...
+ (sparc_legitimize_tls_address): ...this.
+ (legitimize_pic_address): Rename into...
+ (sparc_legitimize_pic_address): ...this.
+ (sparc_expand_move): Adjust to above renaming.
+ (sparc_tls_referenced_p): Likewise.
+ (sparc_legitimize_tls_address): Likewise.
+ (sparc_legitimize_pic_address): Likewise.
+ (sparc_legitimize_address): Likewise.
+ (sparc_output_mi_thunk): Likewise.
+ (sparc_legitimize_reload_address): New global function. Recognize
+ (lo_sum (high ...) ...) patterns generated by earlier passes.
+ * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Use above function.
+
+2010-07-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/44484
+ * config/sparc/predicates.md (memory_reg_operand): Delete.
+ * config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
+ (*sync_compare_and_swap): Encode the address form in the pattern.
+ (*sync_compare_and_swapdi_v8plus): Likewise.
+
+2010-07-24 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Specific, *-*-freebsd*): Adjust to recent changes.
+ Streamline paragraph on compatibility with the system compiler.
+
+2010-07-24 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/45035
+ * alias.c (true_dependence_1): Fix thinko in merge of old
+ true_dependence and canon_true_dependence.
+
+2010-07-23 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer-out.c (write_symbol): Fix visibilities of external
+ references.
+
+2010-07-23 Le-Chun Wu <lcwu@google.com>
+
+ * omega.c (omega_eliminate_redundant): Remove a self-assign statement.
+ * tree-ssa-ccp.c (ccp_lattice_meet): Remove a self-assign statement
+ and an unnecessary assignment.
+ * dbxout.c (DEBUGGER_ARG_OFFSET): Change OFFSET to OFFSET+0 to avoid
+ self-assign warning.
+ * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Remove
+ unnecessary self-init.
+
+2010-07-23 Richard Guenther <rguenther@suse.de>
+
+ PR lto/43071
+ * gcc.c (LINK_COMMAND_SPEC): Filter out -fcompare-debug
+ for -flto and -fwhopr.
+
+2010-07-23 Kai Tietz <kai.tietz@onevision.com>
+
+ PR target/41943
+ * Makefile.in (USER_H_INC_NEXT_PRE, USER_H_INC_NEXT_POST): New.
+ (stmp-int-hdrs): Prefix/postfix headers by include_next.
+ * config.gcc (user_headers_inc_next_pre): New.
+ (user_headers_inc_next_post): Likewise.
+ (*-w64-mingw*): Use for float.h post-fixing, and for
+ stddef.h/stdarg.h pre-fixing by include_next.
+ * configure.ac (user_headers_inc_next_post): New.
+ (user_headers_inc_next_pre): New.
+ * configure: Regenerated.
+
+2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac: Don't disable TLS on Solaris 8/9 by default
+ Set tga_func for Solaris 2/x86 resp. SPARC.
+ Remove duplicate parts of sparc*-sun-solaris2.* TLS check.
+ (LIB_THREAD_LDFLAGS_SPEC): Define.
+ (LIB_TLS_SPEC): Define. Check for required Sun ld version.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/sol2.h (LIB_SPEC): Use LIB_THREAD_LDFLAGS_SPEC with
+ -pthread, -threads, LIB_TLS_SPEC with -pthread.
+ * doc/install.texi (Specific, *-*-solaris2*): Document use of
+ alternate thread libraries on Solaris 8.
+ Document TLS patch requirements.
+ * doc/sourcebuild.texi (Add Options): Sort alphabetically.
+ Document tls.
+
+ PR target/18788
+ * config/sol2.h (LIB_SPEC): Link with thread libraries even with
+ -shared.
+
+2010-07-23 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.h (struct tree_base): Add nameless_flag bitfield.
+ (TYPE_NAMELESS, DECL_NAMELESS): Define.
+ * omp-low.c (create_omp_child_function, scan_omp_parallel,
+ scan_omp_task, lower_omp_taskreg): Set DECL_NAMELESS and/or
+ DECL_ARTIFICIAL where needed.
+ * dwarf2out.c (dwarf2_name): Return NULL if DECL_NAMELESS.
+ (type_tag): Return NULL if TYPE_NAMELESS or if TYPE_DECL
+ has DECL_NAMELESS set.
+
+2010-07-23 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/44915
+ * ipa-cp.c (cgraph_gate_cp): Also check that optimize is true.
+ * ipa-inline.c (cgraph_mark_inline_edge): Likewise.
+ (analyze_function): Likewise.
+
+2010-07-23 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/44914
+ * tree-sra.c (sra_modify_function_body): Return true if CFG was
+ changed, add purging dead eh edges.
+ (ipa_sra_modify_function_body): Return true if CFG was changed,
+ simplify purging dead eh edges.
+ (modify_function): Return true if CFG was changed.
+ (perform_intra_sra): Add TODO_cleanup_cfg to the return value if CFG
+ was changed.
+ (ipa_early_sra): Likewise.
+
+2010-07-23 Jie Zhang <jie@codesourcery.com>
+
+ PR target/44290
+ * attribs.c (decl_attributes): Insert "noinline" and "noclone"
+ if "naked".
+ * tree-sra.c (ipa_sra_preliminary_function_checks): Return
+ false if ! tree_versionable_function_p.
+
+2010-07-23 Nathan Froyd <froydnj@codesourcery.com>
+
+ * builtins.def (BUILT_IN_ARGS_INFO): Remove.
+ * ipa-pure-const.c (special_builtlin_state): Remove
+ BUILT_IN_ARGS_INFO case.
+ * tree-stdarg.c (execute_optimize_stdarg): Likewise.
+ * builtins.c (expand_builtin): Likewise.
+ (expand_builtin_args_info): Remove.
+ * doc/tm.texi (__builtin_args_info): Remove.
+ (__builtin_next_arg): Adjust to not refer to __builtin_args_info.
+ * doc/tm.text.in: Likewise.
+
+2010-07-23 Richard Guenther <rguenther@suse.de>
+
+ * lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values.
+ (lto_symtab_merge_decls_2): Likewise.
+ * tree-ssa.c (useless_type_conversion_p): Likewise.
+ * lto-streamer-in.c (input_gimple_stmt): Likewise.
+ * gimple.c (gtc_visited2, gtc_ob2): Remove.
+ (struct type_pair_d): Make same_p an array indexed by mode.
+ Update comment.
+ (lookup_type_pair): Update initialization.
+ (struct sccs): Adjust same_p type.
+ (gimple_types_compatible_p_1, gtc_visit, gimple_types_compatible_p):
+ Adjust.
+ (print_gimple_types_stats): Likewise.
+ * gimple.h (enum gtc_mode): New.
+ (gimple_types_compatible_p): Adjust prototype.
+
+2010-07-23 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * dwarf2out.c (dwarf2out_frame_debug): Check for queued saves
+ again after processing insn.
+
+2010-07-23 Jie Zhang <jie@codesourcery.com>
+
+ * tree-sra.c (ipa_sra_preliminary_function_checks): Dump
+ proper words when !tree_versionable_function_p.
+
+2010-07-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45037
+ * tree-ssa-loop-ivopts.c (copy_ref_info): Handle NULL base.
+
+2010-07-23 Jie Zhang <jie@codesourcery.com>
+
+ * doc/extend.texi: Remove IP2K from the description of naked attribute.
+ Add MCORE instead.
+
+2010-07-10 Andi Kleen <ak@linux.intel.com>
+
+ PR lto/44992
+ * lto-opts.c (lto_write_options): Add NULL file_data argument to
+ lto_get_section_name.
+ * lto-section-out.c (lto_destroy_simple_output_block): Likewise.
+ * lto-streamer-out.c (produce_asm): Likewise.
+ (copy_function): Likewise.
+ (produce_symtab): Likewise.
+ (produce_asm_for_decls): Likewise.
+ * lto-streamer.c (lto_get_section_name): Add file_data argument.
+ Rewrite to add random postfix to LTO sections.
+ * lto-streamer.h (lto_file_decl_data): Add next, id, resolutions.
+ (lto_get_section_name): Add file_data argument to prototype.
+
+2010-07-10 Andi Kleen <ak@linux.intel.com>
+
+ * lto-section-in.c (lto_section_name): Synchronize names
+ with lto_get_section_name.
+
+2010-07-10 Andi Kleen <ak@linux.intel.com>
+
+ * lto-opts.c (lto_read_file_options): Check for missing section.
+
+2010-07-22 Bernd Schmidt <bernds@codesourcery.com>
+
+ * ira.c (check_allocation): Correctly handle the case where an allocno
+ with two objects was allocated to a single reg.
+
+2010-07-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function.
+ (is_widening_mult_p): Likewise.
+ (convert_to_widen): Use them.
+ (convert_plusminus_to_widen): Likewise. Handle fixed-point types as
+ well as integer ones.
+
+2010-07-22 Steven Bosscher <steven@gcc.gnu.org>
+
+ * alias.c (true_dependence_1): New function, merged version of
+ true_dependence and canon_true_dependence.
+ (true_dependence): Simplify.
+ (canon_true_dependence): Simplify.
+
+2010-07-22 Richard Henderson <rth@redhat.com>
+
+ PR target/45027
+ * config/i386/i386.c (setup_incoming_varargs_64): Force the use
+ of V4SFmode for the SSE saves; increase stack alignment if needed.
+ (ix86_gimplify_va_arg): Don't increase stack alignment here.
+
+2010-07-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/45028
+ * recgprop.c (copyprop_hardreg_forward_1): If changed is true,
+ call cprop_find_used_regs again via note_uses.
+
+2010-07-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * alias.c (get_alias_set): Fix formatting issues.
+
+2010-07-22 Steve Ellcey <sje@cup.hp.com>
+
+ PR middle-end/44878
+ * stmt.c (expand_value_return): Call promote_function_mode with
+ a for_return argument of 2 when returning by reference.
+
+2010-07-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/45024
+ * dwarf2out.c (scope_die_for): Don't fall back to the compilation
+ unit DIE if we can find the scope DIE.
+
+2010-07-22 Bernd Schmidt <bernds@codesourcery.com>
+
+ * ira-build.c (ira_create_object): New arg SUBWORD; all callers
+ changed. Initialize OBJECT_SUBWORD.
+ (ira_create_allocno): Clear ALLOCNO_NUM_OBJECTS.
+ (ira_create_allocno_objects): Renamed from ira_create_allocno_object;
+ all callers changed.
+ (merge_hard_reg_conflicts): Iterate over allocno subobjects.
+ (finish_allocno): Likewise.
+ (move_allocno_live_ranges, copy_allocno_live_ranges): Likewise.
+ (remove_low_level_allocnos): Likewise.
+ (update_bad_spill_attribute): Likewise.
+ (setup_min_max_allocno_live_range_point): Likewise.
+ (sort_conflict_id_map): Likewise.
+ (ira_flattening): Likewise. Use ior_hard_reg_conflicts.
+ (ior_hard_reg_conflicts): New function.
+ (ior_allocate_object_conflicts): Renamed first argument to OBJ.
+ (compress_conflict_vecs): Iterate over objects, not allocnos.
+ (ira_add_live_range_to_object): New function.
+ (object_range_compare_func): Renamed from allocno_range_compare_func.
+ All callers changed.
+ (setup_min_max_conflict_allocno_ids): For allocnos with multiple
+ subobjects, widen the min/max range of the lowest-order object to
+ potentially include all other such low-order objects.
+ * ira.c (ira_bad_reload_regno_1): Iterate over allocno subobjects.
+ (check_allocation): Likewise. Use more fine-grained tests for register
+ conflicts.
+ * ira-color.c (allocnos_have_intersected_live_ranges_p): Iterate over
+ allocno subobjects.
+ (assign_hard_reg): Keep multiple sets of conflicts. Make finer-grained
+ choices about which bits to set in each set. Don't use
+ ira_hard_reg_not_in_set_p, perform a more elaborate test for conflicts
+ using the multiple sets we computed.
+ (push_allocno_to_stack): Iterate over allocno subobjects.
+ (all_conflicting_hard_regs_coalesced): New static function.
+ (setup_allocno_available_regs_num): Use it.
+ (setup_allocno_left_conflicts_size): Likewise. Iterate over allocno
+ subobjects.
+ (coalesced_allocno_conflict): Test subobject 0 in each allocno.
+ (setup_allocno_priorities): Divide ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
+ by ALLOCNO_NUM_OBJECTS.
+ (calculate_spill_cost): Likewise.
+ (color_pass): Express if statement in a more normal way.
+ (ira_reassign_conflict_allocnos): Iterate over allocno subobjects.
+ (slot_coalesced_allocno_live_ranges_intersect_p): Likewise.
+ (setup_slot_coalesced_allocno_live_ranges): Likewise.
+ (allocno_reload_assign): Likewise.
+ (ira_reassign_pseudos): Likewise.
+ (fast_allocation): Likewise.
+ * ira-conflicts.c (build_conflict_bit_table): Likewise.
+ (print_allocno_conflicts): Likewise.
+ (ira_build_conflicts): Likewise.
+ (allocnos_conflict_for_copy_p): Renamed from allocnos_conflict_p. All
+ callers changed. Test subword 0 of each allocno for conflicts.
+ (build_object_conflicts): Renamed from build_allocno_conflicts. All
+ callers changed. Iterate over allocno subobjects.
+ * ira-emit.c (modify_move_list): Iterate over allocno subobjects.
+ * ira-int.h (struct ira_allocno): New member: num_objects.
+ Rename object to objects and change it into an array.
+ (ALLOCNO_OBJECT): Add new argument N.
+ (ALLOCNO_NUM_OBJECTS, OBJECT_SUBWORD): New macros.
+ (ira_create_allocno_objects): Renamed from ira_create_allocno_object.
+ (ior_hard_reg_conflicts): Declare.
+ (ira_add_live_range_to_object): Declare.
+ (ira_allocno_object_iterator): New.
+ (ira_allocno_object_iter_init, ira_allocno_object_iter_cond): New.
+ (FOR_EACH_ALLOCNO_OBJECT): New macro.
+ * ira-lives.c (objects_live): Renamed from allocnos_live; all
+ uses changed.
+ (allocnos_processed): New sparseset.
+ (make_object_born): Renamed from make_allocno_born; take an
+ ira_object_t argument. All callers changed.
+ (make_object_dead): Renamed from make_allocno_dead; take an
+ ira_object_t argument. All callers changed.
+ (update_allocno_pressure_excess_length): Take an ira_obejct_t argument.
+ All callers changed.
+ (mark_pseudo_regno_live): Iterate over allocno subobjects.
+ (mark_pseudo_regno_dead): Likewise.
+ (mark_pseudo_regno_subword_live, mark_pseudo_regno_subword_dead): New
+ functions.
+ (mark_ref_live): Detect subword accesses and call
+ mark_pseudo_regno_subword_live as appropriate.
+ (mark_ref_dead): Likewise for mark_pseudo_regno_subword_dead.
+ (process_bb_nodes_live): Deal with object-related updates first; set
+ and test bits in allocnos_processed to avoid computing allocno
+ statistics more than once.
+ (create_start_finish_chains): Iterate over objects, not allocnos.
+ (print_object_live_ranges): New function.
+ (print_allocno_live_ranges): Use it.
+ (ira_create_allocno_live_ranges): Allocate and free allocnos_processed
+ and objects_live.
+
+2010-07-22 Richard Guenther <rguenther@suse.de>
+
+ PR lto/42451
+ * gimple.c (gtc_next_dfs_num): New global.
+ (struct sccs): Make value a union, add integer same_p member.
+ (gtc_visit): New function.
+ (gimple_types_compatible_p_1): New function, split out from ...
+ (gimple_types_compatible_p): ... here. Start a DFS walk here.
+ (iterative_hash_gimple_type): Adjust for sccs change.
+
+2010-07-22 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/44891
+ * tree-sra.c: Include gimple-pretty-print.h.
+ (replace_uses_with_default_def_ssa_name): Renamed to
+ get_repl_default_def_ssa_name, return the new SSA name instead of
+ replacing the old one.
+ (sra_modify_assign): Dump a message when removing a load, if the LHS
+ is an SSA_NAME, do not do any propagation, just set the RHS to a
+ default definition SSA NAME, type convert if necessary.
+ * Makefile.in (tree-sra.o): Add gimple-pretty-print.h to dependencies.
+
+2010-07-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45017
+ * tree-ssa-sccvn.c (vn_reference_eq): Make sure we honor
+ TYPE_PRECISION of integral types in addition to size.
+
+2010-07-22 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Default to GLIBC
+ when no C library is specified.
+
+2010-07-22 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (struct ipa_node_params): Updated comment.
+ (struct ipa_edge_args): Likewise.
+ * Makefile.in (ipa-prop.o): Remove bogus $(GIMPLE_FOLD_H) dependency.
+
+2010-07-22 Martin Jambor <mjambor@suse.cz>
+
+ * cgraphunit.c (verify_edge_count_and_frequency): New function.
+ (verify_cgraph_node): Verify frequencies of indirect edges.
+ * tree-inline.c (tree_function_versioning): Update frequencies of
+ indirect edges.
+
+2010-07-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/43698
+ * config/arm/arm.md: Split arm_rev into *arm_rev and *thumb1_rev.
+ Set *arm_rev to be predicable.
+
+2010-07-22 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.h (LINK_COMMAND_SPEC): Split into...
+ (LINK_COMMAND_SPEC_A): New.
+ (DSYMUTIL): New.
+ (DSYMUTIL_SPEC): New.
+ * config/darwin9.h (LINK_COMMAND_SPEC): Remove.
+ (DSYMUTIL_SPEC): Update for darwin >= 9 requirements.
+
+2010-07-22 Iain Sandoe <iains@gcc.gnu.org>
+
+ * calls.c (load_register_parameters): Move check for zero
+ sized items so that only the call to
+ mem_overlaps_already_clobbered_arg_p () is protected.
+
+2010-07-22 Jan Hubicka <jh@suse.cz>
+
+ * ipa-pure-const.c (varying_state): Break out from ...
+ (get_function_state): ... here; always return varying_state
+ when state would be NULL otherwise.
+ (remove_node_data): Do not free varying state.
+
+2010-07-22 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/44970
+ PR middle-end/45009
+ * postreload.c: Include "target.h".
+ (reload_combine_closest_single_use): Don't take DEBUG_INSNs
+ into account.
+ (fixup_debug_insns): Don't copy the rtx.
+ (reload_combine_recognize_const_pattern): DEBUG_INSNs can't have uses.
+ Don't copy when replacing. Call fixup_debug_insns in the case where
+ we merged one add with another.
+ (reload_combine_recognize_pattern): Fail if there aren't any uses.
+ Try harder to determine whether we're picking a valid index register.
+ Don't set store_ruid for an insn we're going to scan in the
+ next iteration.
+ (reload_combine): Remove unused code.
+ (reload_combine_note_use): When updating use information for
+ an old insn, ignore a use that occurs after store_ruid.
+ * Makefile.in (postreload.o): Update dependencies.
+
+ * function.c (record_hard_reg_sets): Restrict the previous change
+ to cases where the incoming nominal mode is the same as the
+ incoming promoted mode and everything happens in MODE_INT.
+
+2010-07-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45015
+ * var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero
+ ASM_OPERANDS_OUTPUT_IDX.
+ (adjust_insn): For inline asm with multiple sets ensure first
+ ASM_OPERANDS vectors are used by all following ASM_OPERANDS in
+ the insn.
+
+2010-07-21 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (setup_incoming_varargs_64): Emit a simple
+ comparison for avoiding xmm register saves. Emit the xmm register
+ saves explicitly.
+ * config/i386/i386.md (UNSPEC_SSE_PROLOGUE_SAVE): Remove.
+ (UNSPEC_SSE_PROLOGUE_SAVE_LOW): Remove.
+ (sse_prologue_save, sse_prologue_save_insn1, sse_prologue_save_insn):
+ Remove patterns and the associated splitters.
+
+2010-07-21 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-ssa-loop-prefetch.c (analyze_ref): Strip off the real
+ and imagine parts of a complex, so that they can have the same
+ base and fall into the same group.
+
+2010-07-21 Richard Guenther <rguenther@suse.de>
+
+ PR lto/45018
+ * tree.c (find_decls_types_r): Do not follow TREE_CHAIN
+ of TYPE_DECLs. Do not follow TYPE_NEXT_VARIANT,
+ TYPE_NEXT_PTR_TO, nor TYPE_NEXT_REF_TO or TYPE_CANONICAL.
+
+2010-07-21 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/44900
+ * tree-sra.c (load_assign_lhs_subreplacements): Updated comments.
+ (sra_modify_assign): Move gsi to the next statmenent unconditionally.
+
+2010-07-21 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR middle-end/44738
+ * tree-ssa.c (warn_uninit): Avoid emitting an unnecessary message.
+
+2010-07-21 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45013
+ * tree-ssa.c (useless_type_conversion_p): Dispatch to
+ gimple_types_compatible_p only when in lto.
+ * gimple.c (gimple_types_compatible_p): Use canonical types
+ to speed up comparison.
+
+2010-07-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (referenced_var): Move define ...
+ * tree-flow-inline.h (referenced_var): ... here as an inline
+ function. Assert here ...
+ * tree-dfa.c (referenced_var_lookup): ... instead of here.
+ * tree-ssa.c (maybe_optimize_var): Check if the variable
+ is in referenced vars.
+ (execute_update_addresses_taken): Remove old broken check.
+ * gimple-pretty-print.c (pp_points_to_solution): Use
+ referenced_var_lookup.
+ * tree-into-ssa.c (dump_decl_set): Likewise.
+
+2010-07-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45003
+ * var-tracking.c (reverse_op): Also handle {SIGN,ZERO}_EXTEND of a MEM.
+ * dwarf2out.c (loc_descriptor): Don't handle SIGN_EXTEND nor
+ ZERO_EXTEND here.
+
+2010-07-20 Richard Henderson <rth@redhat.com>
+
+ * vxworks.c (vxworks_emutls_var_fields): Pass locus to build_decls.
+
+2010-07-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/arm/arm.md (thumb1_addsi3): Add alternative and split for
+ computing the sum of the stack pointer and a large constant.
+ * config/arm/constraints.md (M): Remove superfluous parentheses.
+ (Pc): New constraint.
+
+2010-07-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45006
+ * cfgexpand.c (expand_debug_expr): Only look at TYPE_UNSIGNED of
+ operand's type if exp is tcc_unary class tree.
+
+2010-07-20 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rs6000/rs6000.md (abs<mode>2_isel, nabs<mode>2_isel):
+ Reverse sense of if_then_else condition.
+
+2010-07-20 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rs6000/rs6000.opt (mblock-move-inline-limit): New option.
+ * config/rs6000/rs6000.c (rs6000_override_options): Set
+ rs6000_block_move_inline_limit appropriately.
+ (expand_block_move): Use rs6000_block_move_inline_limit.
+ * doc/invoke.texi (mblock-move-inline-limit): Document.
+
+2010-07-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ * postreload.c (fixup_debug_insns): Remove arg REGNO. New args
+ FROM and TO. All callers changed. Don't look for tracked uses,
+ just scan the RTL for DEBUG_INSNs and substitute.
+ (reload_combine_recognize_pattern): Call fixup_debug_insns.
+ (reload_combine): Ignore DEBUG_INSNs.
+
+2010-07-20 Jakub Jelinek <jakub@redhat.com>
+
+ * var-tracking.c (vt_expand_loc, vt_expand_loc_dummy): Bump maximum
+ depth to 8 from 5.
+
+ PR debug/45003
+ * cfgexpand.c (expand_debug_expr) <case NOP_EXPR>: Use ZERO_EXTEND
+ or SIGN_EXTEND depending on TYPE_UNSIGNED of the operand's type
+ instead of the result's type.
+
+2010-07-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44977
+ * tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid
+ SSA form.
+
+2010-07-20 Richard Guenther <rguenther@suse.de>
+
+ * lto-symtab.c (lto_symtab_merge): Use gimple_types_compatible_p.
+ (lto_symtab_merge_decls_2): Likewise.
+ * gimple.h (gimple_types_compatible_p): Declare.
+ * gimple.c (gimple_queue_type_fixup): Remove.
+ (gimple_fixup_complete_and_incomplete_subtype_p): Likewise.
+ (gimple_compatible_complete_and_incomplete_type_p): New function.
+ (gimple_types_compatible_p): Adjust.
+ (gimple_register_type): Remove type fixup code.
+ (print_gimple_types_stats): Adjust.
+ (free_gimple_type_tables): Likewise.
+ * lto-streamer-in.c (input_gimple_stmt): Use gimple_types_compatible_p.
+ * tree-ssa.c (useless_type_conversion_p): Likewise.
+
+2010-07-20 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44971
+ PR middle-end/44988
+ * tree-ssa.c (maybe_optimize_var): New function split out from ...
+ (execute_update_addresses_taken): ... here.
+ (non_rewritable_mem_ref_base): Likewise.
+ (execute_update_addresses_taken): Do not iterate over all referenced
+ vars but just all local decls and parms.
+ Properly check call and asm arguments and rewrite call arguments.
+
+2010-07-20 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config.gcc (LIBC_GLIBC, LIBC_UCLIBC, LIBC_BIONIC): Move constants
+ to top level.
+ * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Move Android-specific
+ definitions ...
+ * config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): ... here.
+ New macro.
+ * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Use it.
+
+2010-07-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gengtype.c (start_root_entry): New function, split out from
+ write_root. Check whether V is null and raise an error if so.
+ (write_field_root): Check for V being null. Don't raise an error here;
+ set V to null instead.
+ (write_root): Update comment above function. Use start_root_entry.
+
+2010-07-19 Xinliang David Li <davidxl@google.com>
+
+ PR testsuite/44932
+ * tree-ssa-uninit.c (collect_phi_def_edges): Fix bug collecting
+ def edges.
+ (find_uninit_use): Add dump.
+ (is_use_properly_guarded): Ditto.
+ (warn_uninitialized_phi): Ditto.
+ (execute_late_warn_uninitialized): Ditto.
+
+2010-07-19 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44941
+ * expr.c (emit_block_move_hints): Move zero size check first.
+ Move asserts to more useful places.
+ * calls.c (load_register_parameters): Check for zero size.
+
+2010-07-19 Richard Henderson <rth@redhat.com>
+
+ * tree-optimize.c (execute_all_early_local_passes): New. Change
+ cgraph_state here ...
+ (execute_early_local_optimizations): ... not here. Remove.
+ (pass_early_local_passes, pass_all_early_optimizations): Update.
+
+2010-07-19 Bernd Schmidt <bernds@codesourcery.com>
+
+ * postreload.c (reload_combine_closest_single_use): Ignore the
+ number of uses for DEBUG_INSNs.
+ (fixup_debug_insns): New static function.
+ (reload_combine_recognize_const_pattern): Use it. Don't let the
+ main loop be affected by DEBUG_INSNs.
+ Really disallow moving adds past a jump insn.
+ (reload_combine_recognize_pattern): Don't update use_ruid here.
+ (reload_combine_note_use): Do it here.
+ (reload_combine): Use control_flow_insn_p rather than JUMP_P.
+
+2010-07-19 Bingfeng Mei <bmei@broadcom.com>
+
+ * ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
+ of a loop.
+ * loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
+
+2010-07-19 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/i386/darwin.h: Define darwin_emit_branch_islands.
+ (TARGET_MACHO_BRANCH_ISLANDS): New.
+ (FUNCTION_PROFILER): Use TARGET_MACHO_BRANCH_ISLANDS.
+ * config/i386/i386.h (TARGET_MACHO_BRANCH_ISLANDS): Define a
+ default value.
+ * config/i386/i386.c (output_pic_addr_const): Do not emit
+ branch islands unless TARGET_MACHO_BRANCH_ISLANDS is set.
+ (x86_output_mi_thunk): Adjust symbol creation.
+ * config/rs6000/darwin.h: Define darwin_emit_branch_islands.
+ Remove out of date comment.
+ * config/rs6000/rs6000.c (print_operand): Adjust symbol.
+ (DARWIN_LINKER_GENERATES_ISLANDS): Remove.
+ (DARWIN_GENERATE_ISLANDS): Ditto.
+ (output_call): Do not emit branch islands unless
+ darwin_emit_branch_islands is set.
+ * config/darwin.c: Declare darwin_emit_branch_islands.
+ (machopic_indirect_data_reference): Do not emit unless
+ darwin_emit_branch_islands is set.
+ (darwin_override_options): Set darwin_emit_branch_islands
+ where it is needed.
+ * config/darwin9.h (DARWIN_LINKER_GENERATES_ISLANDS): Remove.
+
+2010-07-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (Effective-Target Keywords): Document
+ sse_runtime, sse2_runtime.
+
+2010-07-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips16_build_call_stub): Zero-extend the
+ low half of a single-register SCmode return value before ORing
+ it with the high half.
+ * config/mips/mips16.S (MERGE_GPRf): Likewise.
+
+2010-07-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/44805
+ * config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD
+ on all targets.
+
+2010-07-17 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/42235
+ * postreload.c (reload_cse_move2add): Return bool, true if anything.
+ changed. All callers changed.
+ (move2add_use_add2_insn): Likewise.
+ (move2add_use_add3_insn): Likewise.
+ (reload_cse_regs): If reload_cse_move2add changed anything, rerun
+ reload_combine.
+ (RELOAD_COMBINE_MAX_USES): Bump to 16.
+ (last_jump_ruid): New static variable.
+ (struct reg_use): New members CONTAINING_MEM and RUID.
+ (reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID.
+ (reload_combine_split_one_ruid, reload_combine_split_ruids,
+ reload_combine_purge_insn_uses, reload_combine_closest_single_use
+ reload_combine_purge_reg_uses_after_ruid,
+ reload_combine_recognize_const_pattern): New static functions.
+ (reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH
+ is true for our reg and that we have available index regs.
+ (reload_combine_note_use): New args RUID and CONTAINING_MEM. All
+ callers changed. Use them to initialize fields in struct reg_use.
+ (reload_combine): Initialize last_jump_ruid. Be careful when to
+ take PREV_INSN of the scanned insn. Update REAL_STORE_RUID fields.
+ Call reload_combine_recognize_const_pattern.
+ (reload_combine_note_store): Update REAL_STORE_RUID field.
+
+2010-07-16 Jason Merrill <jason@redhat.com>
+
+ * Makefile.in (opts-common.o): Depend on options.h.
+
+2010-07-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.c (build_common_builtin_nodes): Use build_function_type_list
+ instead of build_function_type.
+ * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
+ * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
+
+2010-07-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove
+ do all the work.
+ (rs6000_emit_int_cmove): Use function pointers for insn generation.
+ Don't force values into registers unnecessarily.
+ (output_isel): Assert that we're not given conditions we can't handle.
+ Delete corresponding code.
+ * config/rs6000/rs6000.md (isel_signed_<mode>): Use
+ scc_comparison_operator constraint. Permit 0 for the consequent
+ operand. Permit any GPR for the alternative operand.
+ (isel_unsigned_<mode>): Likewise.
+
+2010-07-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/44942
+ * config/i386/i386-protos.h (ix86_function_arg_boundary): Change second
+ argument to const_tree.
+ * config/i386/i386.c (function_arg_advance): If padding needs to be
+ inserted before argument, increment cum->words by number of padding
+ words as well.
+ (contains_aligned_value_p): Change argument to const_tree.
+ (ix86_function_arg_boundary): Change second argument to const_tree.
+
+2010-07-16 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/42235
+ * function.c (record_hard_reg_sets): New static function.
+ (assign_parm_setup_reg): If an optab for extending exists and the
+ generated code clobbbers no hard regs, emit the insn directly and
+ create a REG_EQUIV note.
+
+2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-decl.c (detect_field_duplicates): Use DECL_CHAIN insted of
+ TREE_CHAIN.
+ * c-typeck.c (push_init_level): Likewise.
+ (process_init_element): Likewise.
+
+2010-07-15 Anatoly Sokolov <aesok@post.ru>
+
+ * tree.h (enum tree_index): Add TI_INTEGER_THREE.
+ (integer_three_node): Add.
+ * tree.c (build_common_tree_nodes_2): Use integer_type_node insead of
+ NULL_TREE in build_int_cst calls. Initialize the integer_three_node.
+ * builtins.c (expand_builtin_prefetch): Use common tree nodes instead
+ of call build_int_cst.
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ditto.
+ * tree-ssa-loop-ivopts.c (idx_find_step): Ditto.
+ (find_interesting_uses_address): Ditto.
+ * tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Ditto.
+ * tree-eh.c (lower_eh_constructs_2): Ditto.
+ * tree-vect-loop.c (get_initial_def_for_induction): Ditto.
+ * c-typeck.c (really_start_incremental_init, push_init_level): Ditto.
+ * expmed.c (expand_divmod): Ditto.
+ * tree-mudflap.c (mx_register_decls): Ditto.
+ * varasm.c (array_size_for_constructor): Ditto.
+ * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
+ * c-parser.c (c_parser_postfix_expression): Ditto.
+
+2010-07-15 Bernd Schmidt <bernds@codesourcery.com>
+
+ * postreload.c (last_label_ruid, first_index_reg, last_index_reg):
+ New static variables.
+ (reload_combine_recognize_pattern): New static function, broken out
+ of reload_combine.
+ (reload_combine): Use it. Only initialize first_index_reg and
+ last_index_reg once.
+
+2010-07-15 Richard Henderson <rth@redhat.com>
+
+ * cgraphunit.c (cgraph_build_static_cdtor): Clear current_function_decl
+ when done.
+
+2010-07-15 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_symtab_resolve_symbols): Remove hack handling
+ comdats for broken gold.
+ (lto_sy mtab_merge_decls_1): Set used_from_object_file correctly.
+
+2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (TREE_RTL_OPERAND_CHECK): Delete.
+
+2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (DECL_CHAIN): Define.
+ * alias.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
+ * c-decl.c: Likewise.
+ * c-parser.c: Likewise.
+ * c-typeck.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * combine.c: Likewise.
+ * config/alpha/alpha.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/i386/winnt-cxx.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/iq2000/iq2000.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/pa/som.h: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sh/symbian-cxx.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/vxworks.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+ * coverage.c: Likewise.
+ * dbxout.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * emit-rtl.c: Likewise.
+ * expr.c: Likewise.
+ * function.c: Likewise.
+ * gimple-low.c: Likewise.
+ * gimple-pretty-print.c: Likewise.
+ * gimplify.c: Likewise.
+ * integrate.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-split.c: Likewise.
+ * ipa-struct-reorg.c: Likewise.
+ * ipa-type-escape.c: Likewise.
+ * langhooks.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * omp-low.c: Likewise.
+ * stor-layout.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-complex.c: Likewise.
+ * tree-dfa.c: Likewise.
+ * tree-dump.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-mudflap.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-tailcall.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * tree.c: Likewise.
+ * var-tracking.c: Likewise.
+ * varasm.c: Likewise.
+
+2010-07-15 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ PR target/44877
+ * config/spu/spu.c (spu_expand_builtin_1): Allow references
+ (as well as pointers) as argument to mask_for_load builtins.
+
+2010-07-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44946
+ * tree-ssa-structalias.c (get_constraint_for_component_ref): Deal
+ with accessing only padding properly.
+
+2010-07-15 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (function_and_variable_visibility): Variables marked as used
+ should not be localized.
+
+2010-07-15 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c: Include lto-streamer.h
+ (change_decl_assembler_name): Work when assembler name hash is at place.
+ (cgraph_make_decl_local): When localizing COMDAT symbol at WPA stage,
+ be sure to rename it to avoid name clash.
+ * ipa.c (cgraph_externally_visible_p, function_and_variable_visibility):
+ Localize hidden symbols only when locally defined.
+
+2010-07-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (SHIFT_COUNT_TRUNCATED): Expand comment.
+
+2010-07-15 Magnus Granberg <zorry@gentoo.org>
+ Kevin F. Quinn <kevquinn@gentoo.org>
+
+ * builtins.c (expand_builtin_init_trampoline): Warn for -Wtrampolines.
+ * common.opt: Add -Wtrampolines.
+ * doc/invoke.texi: Add -Wtrampolines.
+
+2010-07-15 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve
+ cortex_a8_issue_ls.
+
+2010-07-15 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * config/i386/cygwin.h (LIBGCJ_SONAME): Update.
+ * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
+
+2010-07-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (reg_names): Remove prototype.
+ (call_used_regs): Likewise.
+
+2010-07-14 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * config/i386/cygming-crtend.c (__FRAME_END__): Replace attribute
+ "unused" with attribute "used".
+ (__JCR_END__): Likewise.
+ * config/i386/cygming-crtbegin.c (__EH_FRAME_BEGIN__): Add missing
+ "used" attribute.
+ (__JCR_LIST__): Replace attribute "unused" with attribute "used".
+
+2010-07-14 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer-in.c (maybe_fixup_handled_component): Remove.
+ (maybe_fixup_decls): Likewise.
+ (input_gimple_stmt): Do not fixup anything.
+ * lto-streamer-out.c (output_gimple_stmt): Make sure all
+ non-automatic variable uses are wrapped inside a MEM_REF.
+
+2010-07-14 Richard Henderson <rth@redhat.com>
+
+ * passes.c (rest_of_decl_compilation): Do not call assemble_variable
+ for functions.
+ * varasm.c (assemble_variable): Remove early exit for functions;
+ assert that we're given a variable.
+
+2010-07-14 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/cortex-a8.md (cortex_a8_alu): Don't use
+ cortex_a8_default when neon_type is not none.
+
+2010-07-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * lower-subreg.c (subreg_context): New static bitmap.
+ (decompose_multiword_subregs): Allocate and free it.
+ (find_decomposable_subregs): Set a bit in it for a register that
+ occurs in a subreg that changes mode but not size.
+ (can_decompose_p): Test it instead of non_decomposable_context.
+
+2010-07-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44824
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Use
+ is_gimple_mem_ref_addr.
+ (tree_ssa_forward_propagate_single_use_vars): Do not propagate
+ non-decl_address_invariant_p addresses.
+
+2010-07-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * reload.c (find_reloads): Revert code to penalize small register
+ classes that was brought in with the IRA merge.
+
+2010-07-14 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle MEM_REF
+ as base of ARRAY_REFs.
+
+2010-07-14 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44930
+ * tree-pretty-print.c (do_niy): Do not print a newline.
+
+2010-07-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * ira-int.h (struct ira_object): New.
+ (ira_object_t): New typedef. Add DEF_VEC_P and DEF_VEC_ALLOC_P for it.
+ (struct ira_allocno): Remove members min, max,
+ conflict_allocno_array, conflict_id, conflict_allocno_array_size,
+ conflict_allocnos_num and conflict_vec_p. Add new member object.
+ (OBJECT_CONFLICT_ARRAY, OBJECT_CONFLICT_VEC_P,
+ OBJECT_NUM_CONFLICTS, OBJECT_CONFLICT_ARRAY_SIZE,
+ OBJECT_CONFLICT_HARD_REGS, OBJECT_TOTAL_CONFLICT_HARD_REGS,
+ OBJECT_MIN, OBJECT_MAX, OBJECT_CONFLICT_ID): Renamed from
+ ALLOCNO_CONFLICT_ALLOCNO_ARRAY, ALLOCNO_CONFLICT_VEC_P,
+ ALLOCNO_CONFLICT_ALLOCNOS_NUM, ALLOCNO_CONFLICT_ALLOCNO_ARRAY_SIZE,
+ ALLOCNO_CONFLICT_HARD_REGS, ALLOCNO_TOTAL_CONFLICT_HARD_REGS)
+ ALLOCNO_MIN, ALLOCNO_MAX, and ALLOCNO_CONFLICT_ID; now operate on
+ an ira_object_t rather than ira_allocno_t. All uses changed.
+ (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
+ contains a vector of ira_object_t; all uses changed.
+ (ira_objects_num): Declare variable.
+ (ira_create_allocno_object): Declare function.
+ (ira_conflict_vector_profitable_p): Adjust prototype.
+ (ira_allocate_conflict_vec): Renamed from
+ ira_allocate_allocno_conflict_vec; first arg now ira_object_t.
+ (ira_allocate_object_conflicts): Renamed from
+ ira_allocate_allocno_conflicts; first arg now ira_object_t.
+ (struct ira_object_iterator): New.
+ (ira_object_iter_init, ira_object_iter_cond, FOR_EACH_OBJECT): New.
+ (ira_allocno_conflict_iterator): Renamed member allocno_conflict_vec_p
+ to conflict_vec_p. All uses changed.
+ (ira_allocno_conflict_iter_init, ira_allocno_conflict_iter_cond):
+ Changed to take into account that conflicts are now tracked for
+ objects.
+ * ira-conflicts.c (OBJECTS_CONFLICT_P): Renamed from CONFLICT_ALLOCNO_P.
+ Args changed to accept ira_object_t. All uses changed.
+ (allocnos_conflict_p): New static function.
+ (collected_conflict_objects): Renamed from collected_allocno_objects;
+ now a vector of ira_object_t. All uses changed.
+ (build_conflict_bit_table): Changed to take into account that
+ conflicts are now tracked for objects.
+ (process_regs_for_copy, propagate_copies, build_allocno_conflicts)
+ (print_allocno_conflicts, ira_build_conflicts): Likewise.
+ * ira-color.c (assign_hard_reg, setup_allocno_available_regs_num)
+ setup_allocno_left_conflicts_size, allocno_reload_assign,
+ fast_allocation): Likewise.
+ * ira-lives.c (make_hard_regno_born, make_allocno_born)
+ process_single_reg_class_operands, process_bb_node_lives): Likewise.
+ * ira-emit.c (modify_move_list, add_range_and_copies_from_move_list):
+ Likewise.
+ * ira-build.c (ira_objects_num): New variable.
+ (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
+ contains a vector of ira_object_t; all uses changed.
+ (ira_object_id_map_vec): Corresponding change.
+ (object_pool): New static variable.
+ (initiate_allocnos): Initialize it.
+ (finish_allocnos): Free it.
+ (ira_create_object, ira_create_allocno_object, create_allocno_objects):
+ New functions.
+ (ira_create_allocno): Don't set members that were removed.
+ (ira_set_allocno_cover_class): Don't change conflict hard regs.
+ (merge_hard_reg_conflicts): Changed to take into account that
+ conflicts are now tracked for objects.
+ (ira_conflict_vector_profitable_p, ira_allocate_conflict_vec,
+ allocate_conflict_bit_vec, ira_allocate_object_conflicts,
+ compress_conflict_vecs, remove_low_level_allocnos, ira_flattening,
+ setup_min_max_allocno_live_range_point, allocno_range_compare_func,
+ setup_min_max_conflict_allocno_ids, ): Likewise.
+ (add_to_conflicts): Renamed from add_to_allocno_conflicts, args changed
+ to ira_object_t; all callers changed.
+ (ira_add_conflict): Renamed from ira_add_allocno_conflict, args changed
+ to ira_object_t, all callers changed.
+ (clear_conflicts): Renamed from clear_allocno_conflicts, arg changed
+ to ira_object_t, all callers changed.
+ (conflict_check, curr_conflict_check_tick): Renamed from
+ allocno_conflict_check and curr_allocno_conflict_check_tick; all uses
+ changed.
+ (compress_conflict_vec): Renamed from compress_allocno_conflict_vec,
+ arg changed to ira_object_t, all callers changed.
+ (create_cap_allocno): Call ira_create_allocno_object.
+ (finish_allocno): Free the corresponding object.
+ (sort_conflict_id_map): Renamed from sort_conflict_id_allocno_map; all
+ callers changed. Adjusted for dealing with objects.
+ (ira_build): Call create_allocno_objects after ira_costs. Adjusted for
+ dealing with objects.
+ * ira.c (ira_bad_reload_regno_1): Adjusted for dealing with objects.
+
+ * ira-int.h (struct live_range): Rename allocno member to object
+ and change type to ira_object_t.
+ (struct ira_object): New member live_ranges.
+ (struct ira_allocno): Remove member live_ranges.
+ (ALLOCNO_LIVE_RANGES): Remove.
+ (OBJECT_LIVE_RANGES): New macro.
+ (ira_create_live_range, ira_copy_live_range_list,
+ ira_merge_live_range_list, ira_live_ranges_intersect_p,
+ ira_finish_live_range, ira_finish_live_range_list): Adjust declarations.
+ * ira-build.c (ira_create_object): Initialize live ranges here.
+ (ira_create_allocno): Not here.
+ (ira_create_live_range): Rename from ira_create_allocno_live_range, arg
+ changed to ira_object_t, all callers changed.
+ (copy_live_range): Rename from copy_allocno_live_range, all callers
+ changed.
+ (ira_copy_live_range_list): Rename from
+ ira_copy_allocno_live_range_list, all callers changed.
+ (ira_merge_live_ranges): Rename from ira_merge_allocno_live_range_list,
+ all callers changed.
+ (ira_live_ranges_intersect_p): Rename from
+ ira_allocno_live_ranges_intersect_p, all callers changed.
+ (ira_finish_live_range): Rename from ira_finish_allocno_live_range, all
+ callers changed.
+ (ira_finish_live_range_list): Rename from
+ ira_finish_allocno_live_range_list, all callers changed.
+ (change_object_in_range_list): Rename from change_allocno_in_range_list,
+ last arg changed to ira_object_t, all callers changed.
+ (finish_allocno): Changed to expect live ranges in the allocno's object.
+ (move_allocno_live_ranges, copy_allocno_live_ranges,
+ update_bad_spill_attribute, setup_min_max_allocno_live_range_point,
+ ira_flattening, ira_build): Likewise.
+ * ira-color.c (allocnos_have_intersected_live_ranges_p,
+ slot_coalesced_allocno_live_ranges_intersect,
+ setup_slot_coalesced_allocno_live_ranges, fast_allocation): Likewise.
+ * ira-conflicts.c (build_conflict_bit_table): Likewise.
+ * ira-emit.c (add_range_and_copies_from_move_list): Likewise.
+ * ira-lives.c (make_allocno_born, update_allocno_pressure_excess_length,
+ make_allocno_dead, create_start_finish_chains,
+ remove_some_program_points_and_update_live_ranges,
+ ira_debug_live_range_list): Likewise.
+
+ * ira-int.h (ira_object_conflict_iterator): Rename from
+ ira_allocno_conflict_iterator.
+ (ira_object_conflict_iter_init): Rename from
+ ira_allocno_conflict_iter_init, second arg changed to
+ * ira.c (check_allocation): Use FOR_EACH_OBJECT_CONFLICT rather than
+ FOR_EACH_ALLOCNO_CONFLICT.
+ * ira-color.c (assign_hard_reg, push_allocno_to_stack)
+ setup_allocno_left_conflicts_size, coalesced_allocno_conflict_p,
+ ira_reassign_conflict_allocnos, ira_reassign_pseudos): Likewise.
+ * ira-conflicts.c (print_allocno_conflicts): Likewise.
+
+2010-07-13 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR other/44874
+ * tree-dump.c (dump_options): Add enumerate_locals entry.
+ Add TDF_NOID exclusion to all entry.
+ * tree-dump.h (dump_enumerated_decls): Declare.
+ * tree-pretty-print.c (dump_generic_node): For TDF_NOID,
+ Don't display type uid.
+ (print_declaration): Don't crash on TREE_TYPE (t) == 0.
+ * tree-pass.h (TDF_ENUMERATE_LOCALS): Define.
+ * tree-ssa-live.c: Include gimple.h.
+ (numbered_tree_d): New struct.
+ (numbered_tree): New typedef.
+ (DEF_VEC_O (numbered_tree): New.
+ (DEF_VEC_ALLOC_O (numbered_tree, heap)): Likewise.
+ (compare_decls_by_uid, dump_enumerated_decls_push): New functions.
+ (dump_enumerated_decls): Likewise.
+ * tree-optimize.c (execute_cleanup_cfg_post_optimizing): If comparing
+ debug info and flag_dump_final_insns, call dump_enumerated_decls.
+ * tree-cfg.c (dump_function_to_file): Call dump_enumerated_decls.
+ * Makefile.in (tree-ssa-live.o): Depend on $(GIMPLE_H).
+
+2010-07-13 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expmed.h (MAX_BITS_PER_WORD): Move to...
+ * defaults.h (MAX_BITS_PER_WORD): ...here.
+
+2010-07-13 DJ Delorie <dj@redhat.com>
+
+ * config/h8300/h8300.c (h8300_init_once): Default to
+ -fstrict_volatile_bitfields.
+
+ * config/sh/sh.c (sh_override_options): Default to
+ -fstrict_volatile_bitfields.
+
+ * config/rx/rx.c (rx_option_override): New.
+
+ * config/m32c/m32c.c (m32c_override_options): Default to
+ -fstrict_volatile_bitfields.
+
+2010-07-13 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (build_function_call_expr): Delete.
+ (build_call_expr_loc_array): New function.
+ (build_call_expr_loc_vec): New function.
+ * tree-flow.h (struct omp_region): Change type of ws_args field
+ to a VEC.
+ * builtins.c (build_function_call_expr): Delete.
+ (build_call_expr_loc_array): New function.
+ (build_call_expr_loc): Call it. Use XALLOCAVEC.
+ (build_call_expr): Likewise.
+ (build_call_expr_loc_vec): New function.
+ * cgraphunit.c (build_cdtor): Call build_call_expr instead of
+ build_function_call_expr.
+ * expr.c (emutls_var_address): Likewise.
+ * varasm.c (emutls_common_1): Likewise.
+ * omp-low.c (expand_omp_atomic_mutex): Likewise.
+ (expand_omp_taskreg): Adjust for new type of region->ws_args.
+ (get_ws_args_for): Return a VEC instead of a tree.
+ (expand_parallel_call): Call build_call_expr_loc_vec instead of
+ build_function_call_expr.
+ * stor-layout.c (self_referential_size): Likewise.
+
+2010-07-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/44701
+ * recog.c (constrain_operands): Allow side-effects in memory
+ operands if either < or > constraint is used, rather than if
+ both < and > is used.
+
+2010-07-13 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44911
+ * tree-pretty-print.c (dump_generic_node): Use TDF_SLIM for
+ MEM_REF pointer type dumping. Avoid recursing for TYPE_DECLs
+ without name.
+
+2010-07-13 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/44761
+ * mode-switching.c (optimize_mode_switching): Add ATTRIBUTE_UNUSED
+ to variable emited.
+ * config/sh/sh.c (sh_expand_epilogue): Remove unused variable.
+ * config/sh/sh.md (symGOT_load): Likewise.
+ (symDTPOFF2reg): Likewise.
+ (symTPOFF2reg): Likewise.
+
+2010-07-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * expmed.c (MAX_BITS_PER_WORD): Moved to expmed.h.
+ * expmed.h (MAX_BITS_PER_WORD): Moved from expmed.c.
+
+2010-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
+ explanation.
+ Find ucontext_t * on Solaris 11.
+ (x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern.
+ Handle new Solaris 11 __sighndlr patterns.
+
+2010-07-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44901
+ * vec.h (VEC_block_remove): Fix comment.
+ * tree-ssa-live.c (remove_unused_locals): Don't use
+ VEC_unordered_remove on local_decls, instead replace a single
+ vector element in each iteration if at least one element had
+ to be removed and VEC_truncate at the end.
+ * omp-low.c (expand_omp_taskreg): Likewise.
+
+2010-07-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * c-decl.c (finish_function): Fix typo in comment.
+
+2010-07-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/44921
+ * postreload.c (move2add_use_add3_insn): Silence gcc warning
+ on min_regno.
+
+2010-07-12 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vrp.c (simplify_bit_ops_using_ranges): New function.
+ (simplify_stmt_using_ranges): Use it.
+
+2010-07-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.h (struct spu_builtin_description): Remove FNDECL
+ member. Do not mark as GTY(()).
+ * config/spu/spu.c (spu_builtins): Remove FNDECL initializer elements.
+ (spu_builtin_decls): New static variable.
+ (spu_builtin_decl): Use it instead of spu_builtins[].fndecl.
+ (spu_init_builtins): Likewise.
+ (spu_builtin_mul_widen_even): Likewise.
+ (spu_builtin_mul_widen_odd): Likewise.
+ (spu_builtin_mask_for_load): Likewise.
+ (spu_builtin_vec_perm): Likewise.
+ * config/spu/spu-c.c: Include "target.h".
+ (spu_resolve_overloaded_builtin): Call targetm.builtin_decl instead
+ of using spu_builtins[].fndecl.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_override_options): Make -mflip-mips16
+ imply -minterlink-mips16.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.h (mips16_globals): Declare.
+ (SWITCHABLE_TARGET): Define.
+ * config/mips/mips.c: Include target-globals.h.
+ (mips16_globals): New variable.
+ (mips_set_mips16_mode): Use save_target_globals and
+ restore_target_globals instead of target_reinit.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * reginfo.c (init_reg_sets): Don't zero globals here. Update comment
+ to say that the function can be called more than once.
+ * target-globals.c (save_target_globals): Call init_reg_sets.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (bb-reorder.o, target-globals.o): Depend on bb-reorder.h
+ * bb-reorder.h: New file.
+ * bb-reorder.c (default_target_bb_reorder): New variable.
+ (this_target_bb_reorder): New conditional variable.
+ (uncond_jump_length): Redefine as a macro.
+ * target-globals.h (this_target_bb_reorder): Declare.
+ (target_globals): Add a bb_reorder field.
+ (restore_target_globals): Copy the bb_reorder field to
+ this_target_bb-reorder.
+ * target-globals.c: Include bb-reorder.h.
+ (default_target_globals): Initialize the bb_reorder field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (gcse.o, target-globals.o): Depend on gcse.h..
+ * gcse.h: New file.
+ * gcse.c: Include gcse.h.
+ (default_target_gcse): New variable.
+ (this_target_gcse): New conditional variable.
+ (can_copy): Redefine as a macro.
+ (can_copy_init_p): New macro.
+ (can_copy_p): Remove can_copy_init_p.
+ * target-globals.h (this_target_gcse): Declare.
+ (target_globals): Add a gcse field.
+ (restore_target_globals): Copy the gcse field to this_target_gcse.
+ * target-globals.c: Include gcse.h.
+ (default_target_globals): Initialize the gcse field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira-int.h (target_ira_int): Add x_ira_prohibited_mode_move_regs
+ and x_ira_prohibited_mode_move_regs_initialized_p.
+ (ira_prohibited_mode_move_regs): Redefine as a macro.
+ * ira.c (ira_prohibited_mode_move_regs): Delete.
+ (ira_prohibited_mode_move_regs_initialized_p): Redefine as a macro.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * reload.h (target_reload): Add x_cached_reg_save_code and
+ x_cached_reg_restore_code.
+ * caller-save.c (cached_reg_save_code, cached_reg_restore_code):
+ Redefine as macros.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (target-globals.o): Depend on builtins.h.
+ * builtins.h: New file.
+ * builtins.c: Include builtins.h.
+ (default_target_builtins): New variable.
+ (this_target_builtins): New conditional variable.
+ (apply_args_mode, apply_result_mode): Redefine as macros.
+ * target-globals.h (this_target_builtins): Declare.
+ (target_globals): Add a builtins field.
+ (restore_target_globals): Copy the builtins field to
+ this_target_builtins.
+ * target-globals.c: Include builtins.h.
+ (default_target_globals): Initialize the builtins field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expmed.h (alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST)
+ (algorithm, alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved
+ from expmed.c.
+ (target_expmed): Add x_alg_hash and x_alg_hash_used_p.
+ (alg_hash, alg_hash_used_p): New macros.
+ * expmed.c (init_expmed): Clear alg_hash if reinitializing.
+ (alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST, algorithm)
+ (alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved to expmed.h.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira-int.h (target_ira_int): Add x_max_struct_costs_size, x_init_cost,
+ x_temp_costs, x_op_costs, x_this_op_costs and x_cost_classes.
+ * ira-costs.c (max_struct_costs_size, init_cost, temp_costs, op_costs)
+ (this_op_costs, costs_classes): Redefine as macros.
+ (record_reg_classes): Don't take op_costs as a parameter.
+ (record_operand_costs): Likewise. Update calls to record_reg_classes.
+ (scan_one_insn): Update call to record_operand_costs.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (target-globals.o): Depend on $(IRA_INT_H).
+ * ira-int.h (ira_max_nregs, ira_important_class_nums): Delete.
+ (target_ira_int): New structure.
+ (default_target_ira_int): Declare.
+ (this_target_ira_int): Declare as a variable or define as a macro.
+ (ira_reg_mode_hard_regset, ira_register_move_cost)
+ (ira_may_move_in_cost, ira_may_move_out_cost, ira_class_subset_p)
+ (ira_non_ordered_class_hard_regs, ira_class_hard_reg_index)
+ (prohibited_class_mode_regs, ira_important_classes_num)
+ (ira_important_classes, ira_reg_class_intersect)
+ (ira_reg_classes_intersect_p, ira_reg_class_super_classes)
+ (ira_reg_class_union): Redefine as macros.
+ * ira.h (target_ira): New structure.
+ (default_target_ira): Declare.
+ (this_target_ira): Declare as a variable or define as a macro.
+ (ira_available_class_regs, ira_hard_regno_cover_class)
+ (ira_reg_class_cover_size, ira_reg_class_cover, ira_class_translate)
+ (ira_reg_class_nregs, ira_memory_move_cost, ira_class_hard_regs)
+ (ira_class_hard_regs_num): Redefine as macros.
+ * ira.c (default_target_ira, default_target_ira_int): New variables.
+ (this_target_ira, this_target_ira_int): New conditional variables.
+ (ira_reg_mode_hard_regset, ira_memory_move_cost)
+ (ira_register_move_cost, ira_may_move_in_cost, ira_may_move_out_cost)
+ (ira_class_subset_p): Delete.
+ (no_unit_alloc_regs): Redefine as a macro.
+ (ira_class_hard_regs, ira_non_ordered_class_hard_regs)
+ (ira_class_hard_regs_num, ira_class_hard_reg_index)
+ (ira_available_class_regs): Delete.
+ (alloc_reg_class_subclasses): Redefine as a macro.
+ (ira_reg_class_cover_size, ira_reg_class_cover)
+ (ira_important_classes_num, ira_important_classes)
+ (ira_important_class_nums, ira_class_translate): Delete.
+ (cover_class_order): Document the variable's lifetime.
+ (reorder_important_classes): Don't set ira_important_class_nums.
+ (ira_reg_class_intersect, ira_reg_classes_intersect_p)
+ (ira_reg_class_super_classes, ira_reg_class_union)
+ (ira_hard_regno_cover_class, ira_reg_class_nregs, ira_max_nregs):
+ Delete.
+ (setup_reg_class_nregs): Don't set ira_max_regs.
+ (prohibited_class_mode_regs): Delete.
+ * target-globals.h (this_target_ira, this_target_ira_int): Declare.
+ (target_globals): Add ira and ira_int fields.
+ (restore_target_globals): Copy the ira field to this_target_ira
+ and the ira_int field to this_target_ira_int.
+ * target-globals.c: Include ira-int.h.
+ (default_target_globals): Initialize the ira and ira_int fields.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (target-globals.o): Depend on $(CFGLOOP_H).
+ * cfgloop.h (target_cfgloop): New structure.
+ (default_target_cfgloop): Declare.
+ (this_target_cfgloop): Declare as a variable or define as a macro.
+ (target_avail_regs, target_clobbered_regs, target_res_regs)
+ (target_reg_cost, target_spill_cost): Redefine as macros.
+ * cfgloopanal.c (default_target_cfgloop): New variable.
+ (this_target_cfgloop): New conditional variable.
+ (target_avail_regs, target_clobbered_regs, target_res_regs)
+ (target_reg_cost, target_spill_cost): Delete.
+ * target-globals.h (this_target_cfgloop): Declare.
+ (target_globals): Add a cfgloop field.
+ (restore_target_globals): Copy the cfgloop field to
+ this_target_cfgloop.
+ * target-globals.c: Include cfgloop.h.
+ (default_target_globals): Initialize the cfgloop field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * regs.h (target_regs): Add x_direct_load, x_direct_store and
+ x_float_extend_from_mem.
+ (direct_load, direct_store, float_extend_from_mem): New macros.
+ * expr.c (direct_load, direct_store, float_extend_from_mem): Delete.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H).
+ (target-globals.o): Depend on $(LIBFUNCS_H).
+ * libfuncs.h: Include hashtab.h.
+ (libfunc_entry): Moved from optabs.c.
+ (target_libfuncs): New structure.
+ (default_target_libfuncs): Declare.
+ (this_target_libfuncs): Declare as a variable or define as a macro.
+ (libfunc_table): Redefine as a macro.
+ * optabs.c (default_target_libfuncs): New variable.
+ (this_target_libfuncs): New conditional variable.
+ (libfunc_table): Delete.
+ (libfunc_entry): Moved to optabs.h.
+ (libfunc_hash): Redefine as a macro.
+ (hash_libfunc, eq_libfunc): Fix comments.
+ (init_optabs): Use libfunc_hash to detect cases where the function
+ has already been called. Clear the hash table instead of
+ recreating it.
+ * target-globals.h (this_target_libfuncs): Declare.
+ (target_globals): Add a libfuncs field.
+ (restore_target_globals): Copy the libfuncs field to
+ this_target_libfuncs.
+ * target-globals.c: Include libfuncs.h.
+ (default_target_globals): Initialize the libfuncs field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (LIBFUNCS_H): New variable. Use instead of libfuncs.h
+ in all dependency lists.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (target-globals.o): Depend on $(EXPR_H) and $(OPTABS_H).
+ * optabs.h (target_optabs): New structure.
+ (default_target_optabs): Declare.
+ (this_target_optabs): Declare as a variable or define as a macro.
+ (optab_table, convert_optab_table, direct_optab_table): Redefine
+ as macros.
+ * optabs.c (default_target_optabs): New variable.
+ (this_target_optabs): New conditional variable.
+ (optab_table, convert_optab_table, direct_optab_table): Delete.
+ * target-globals.h (this_target_optabs): Declare.
+ (target_globals): Add a optabs field.
+ (restore_target_globals): Copy the optabs field to
+ this_target_optabs.
+ * target-globals.c: Include expr.h and optabs.h.
+ (default_target_globals): Initialize the optabs field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * flags.h (target_flagstate): Add x_flag_excess_precision.
+ (flag_excess_precision): Redefine as a macro.
+ * toplev.c (flag_excess_precision): Delete.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * defaults.h (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Define if not defined.
+ * libgcc2.c (MIN_UNITS_PER_WORD): Delete.
+ * hard-reg-set.h (target_hard_regs): Add x_no_caller_save_reg_set.
+ (no_caller_save_reg_set): Redefine as a macro.
+ * reload.h (target_reload): Add x_caller_save_initialized_p and
+ x_regno_save_mode.
+ (caller_save_initialized_p): Redefine as a macro.
+ * caller-save.c (caller_save_initialized_p, no_caller_save_reg_set)
+ (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Delete.
+ (regno_save_mode): Redefine as a macro.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (expmed.o, target-globals.o): Depend on expmed.h.
+ * expmed.h: New file.
+ * expmed.c (default_target_costs): New variable.
+ (this_target_costs): New conditional variable.
+ (sdiv_pow2_cheap, smod_pow2_cheap, zero_cost, add_cost, neg_cost)
+ (shift_cost, shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost)
+ (sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete.
+ * target-globals.h (this_target_expmed): Declare.
+ (target_globals): Add a expmed field.
+ (restore_target_globals): Copy the expmed field to
+ this_target_expmed.
+ * target-globals.c: Include expmed.h.
+ (default_target_globals): Initialize the expmed field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (target-globals.o): Depend on reload.h.
+ * reload.h (target_reload): New structure.
+ (default_target_reload): Declare.
+ (this_target_reload): Declare as a variable or define as a macro.
+ (indirect_symref_ok, double_reg_address_ok): Redefine as macros.
+ * reload1.c (default_target_reload): New variable
+ (this_target_reload): New conditional variable.
+ (indirect_symref_ok, double_reg_address_ok): Delete.
+ (spill_indirect_levels): Redefine as a macro.
+ * target-globals.h (this_target_reload): Declare.
+ (target_globals): Add a reload field.
+ (restore_target_globals): Copy the reload field to
+ this_target_reload.
+ * target-globals.c: Include hard-reg-set.h.
+ (default_target_globals): Initialize the reload field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * rtl.h (target_rtl): Add x_static_reg_base_value.
+ * alias.c (static_reg_base_value): Redefine as a macro.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (reginfo.o): Don't depend on $(GGC_H) or gt-reginfo.h.
+ (GTFILES): Remove reginfo.c.
+ * rtl.h (target_rtl): Add x_top_of_stack.
+ (top_of_stack): New macro.
+ * reginfo.c: Don't include ggc.h or gt-reginfo.h.
+ (top_of_stack): Delete.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * regs.h (target_regs): Add x_hard_regs_of_mode,
+ x_contains_reg_of_mode, x_move_cost, x_may_move_in_cost,
+ x_may_move_out_cost and x_last_mode_for_init_move_cost.
+ (have_regs_of_mode, contains_reg_of_mode, move_cost)
+ (may_move_in_cost, may_move_out_cost): Redefine as macros.
+ * reginfo.c (have_regs_of_mode, contains_reg_of_mode, move_cost)
+ (may_move_in_cost, may_move_out_cost): Delete.
+ (last_mode_for_init_move_cost): Redefine as a macro.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * hard-reg-set.h (target_hard_regs): New structure.
+ (default_target_hard_regs): Declare.
+ (this_target_hard_regs): Declare as a variable or define as a macro.
+ (fixed_regs, fixed_reg_set, call_used_regs, call_really_used_regs)
+ (call_used_reg_set, call_fixed_reg_set, regs_invalidated_by_call)
+ (reg_alloc_order, inv_reg_alloc_order, reg_class_contents)
+ (reg_class_size, reg_class_subclasses, reg_class_subunion)
+ (reg_class_superunion, reg_names): Redefine as macros.
+ * reginfo.c (fixed_regs, fixed_reg_set, call_used_regs)
+ (call_used_reg_set, call_really_used_regs, call_fixed_reg_set)
+ (regs_invalidated_by_call, reg_alloc_order, inv_reg_alloc_order)
+ (reg_class_contents, reg_class_size, reg_class_subclasses)
+ (reg_class_subunion, reg_class_superunion, reg_names): Delete.
+ (default_target_hard_regs): New variable
+ (this_target_hard_regs, initial_call_really_used_regs)
+ (initial_reg_alloc_order): New conditional variables.
+ (initial_reg_names): New variable.
+ (init_reg_sets): Assert that initial_call_really_used_regs,
+ initial_reg_alloc_order and initial_reg_names
+ are all the same size as their variable counterparts. Use them to
+ initialize those counterparts.
+ * target-globals.h (this_target_hard_regs): Declare.
+ (target_globals): Add a hard_regs field.
+ (restore_target_globals): Copy the hard_regs field to
+ this_target_hard_regs.
+ * target-globals.c: Include hard-reg-set.h.
+ (default_target_globals): Initialize the hard_regs field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (target-globals.o): Depend on $(RTL_H).
+ * rtl.h (target_rtl): New structure.
+ (default_target_rtl): Declare.
+ (this_target_rtl): Declare as a variable or define as a macro.
+ (global_rtl, pic_offset_table_rtx, return_address_pointer_rtx):
+ Redefine as macros.
+ * emit-rtl.c (default_target_rtl): New variable.
+ (this_target_rtl): New conditional variable.
+ (global_rtl, static_regno_reg_rtx, pic_offset_table_rtx)
+ (return_address_pointer_rtx): Delete.
+ (initial_regno_reg_rtx): New macro.
+ (init_emit): Use initial_regno_reg_rtx instead of static_regno_reg_rtx.
+ (init_emit_regs): Likewise.
+ * target-globals.h (this_target_rtl): Declare.
+ (target_globals): Add a rtl field.
+ (restore_target_globals): Copy the rtl field to this_target_rtl.
+ * target-globals.c: Include rtl.h.
+ (default_target_globals): Initialize the rtl field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (target-globals.o): Depend on $(REGS_H).
+ * regs.h (target_reg_modes): New structure.
+ (default_target_reg_modes): Declare.
+ (this_target_reg_modes): Declare as a variable or define as a macro.
+ (hard_regno_nregs, reg_raw_mode): Redefine as macros.
+ * reginfo.c (default_target_reg_modes): New variable.
+ (this_target_reg_modes): New conditional variable.
+ (hard_regno_nregs, reg_raw_mode): Delete.
+ * target-globals.h (this_target_regs): Declare.
+ (target_globals): Add a regs field.
+ (restore_target_globals): Copy the regs field to this_target_regs.
+ * target-globals.c: Include regs.h.
+ (default_target_globals): Initialize the regs field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/tm.texi.in (SWITCHABLE_TARGET): Document.
+ * doc/tm.texi: Regenerate.
+ * Makefile.in (OBJS-common): Add target-globals.o.
+ (gtype-desc.o): Depend on $(IPA_PROP_H), $(LTO_STREAMER_H)
+ and target-globals.h.
+ (target-globals.o): New rule.
+ (GTFILES): Include $(srcdir)/target-globals.h.
+ * defaults.h (SWITCHABLE_TARGET): Define.
+ * gengtype.c (open_base_files): Add target-globals.h to the
+ list of includes.
+ * target-globals.h: New file.
+ * target-globals.c: Likewise.
+
+ * Makefile.in (target-globals.o): Depend on $(FLAGS_H).
+ * flags.h (target_flag_state): New structure.
+ (default_target_flag_state): Declare.
+ (this_target_flag_state): Declare as a variable or define as a macro.
+ (align_loops_log): Redefine as a macro.
+ (align_loops_max_skip, align_jumps_log): Likewise.
+ (align_jumps_max_skip, align_labels_log): Likewise.
+ (align_labels_max_skip, align_functions_log): Likewise.
+ * toplev.c (default_target_flag_state): New variable.
+ (this_target_flag_state): New conditional variable.
+ (align_loops_log): Delete.
+ (align_loops_max_skip, align_jumps_log): Likewise.
+ (align_jumps_max_skip, align_labels_log): Likewise.
+ (align_labels_max_skip, align_functions_log): Likewise.
+ * target-globals.h (this_target_flag_state): Declare.
+ (target_globals): Add a flag_state field.
+ (restore_target_globals): Copy the flag_state field to
+ this_target_flag_state.
+ * target-globals.c: Include flags.h.
+ (default_target_globals): Initialize the flag_state field.
+ (save_target_globals): Likewise.
+
+2010-07-12 Jie Zhang <jie@codesourcery.com>
+
+ * postreload.c (reg_symbol_ref[]): New.
+ (move2add_use_add2_insn): New.
+ (move2add_use_add3_insn): New.
+ (reload_cse_move2add): Handle SYMBOL + OFFSET case.
+ (move2add_note_store): Likewise.
+
+2010-07-12 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR rtl-optimization/44752
+ * genautomata.c (main): Don't emit an empty file even if there
+ is no automaton.
+
+2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/i386.c (ix86_sol10_return_in_memory): Rename to
+ ix86_solaris_return_in_memory.
+ * config/i386-protos.h: Reflect this.
+ * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
+ * config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
+ Move ...
+ * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here.
+
+2010-07-12 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to
+ align the stack when it's going to be saved.
+
+2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR pch/14940
+ * config/host-solaris.c (mmap_fixed): New function.
+ (sol_gt_pch_get_address): Use it.
+ (sol_gt_pch_use_address): Likewise.
+
+2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
+ pentiumpro on Solaris 8 and 9/x86.
+ * doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as.
+ Document SSE/SSE2 support.
+ * doc/sourcebuild.texi (Effective-Target Keywords): Document sse.
+
+2010-07-12 Andi Kleen <ak@linux.intel.com>
+
+ * lto-symtab.c (lto_symtab_merge_decls_1): Use fatal_error
+ instead of gcc_assert to print better error message for multiple
+ prevailing defs.
+
+2010-07-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_asm_output_function_label): Change format
+ string placeholder from 0x%x to %#x.
+ (ix86_code_end): Use putc to output '\n'.
+ (ix86_print_operand) <case ';'>: Use putc to output ';'.
+
+2010-07-11 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/winnt.c (i386_pe_file_end): Quote symbol name
+ in directive -export.
+
+2010-07-10 Anatoly Sokolov <aesok@post.ru>
+
+ * reginfo.h (reg_classes_intersect_p): Change arguments type to
+ reg_class_t.
+ * rtl.h (reg_classes_intersect_p): Adjust prototype.
+
+ * config/rs6000/rs6000.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
+ Remove macros.
+ * config/rs6000/rs6000-protos.h (rs6000_register_move_cost,
+ rs6000_memory_move_cost): Remove
+ * config/rs6000/rs6000.c (TARGET_REGISTER_MOVE_COST,
+ TARGET_MEMORY_MOVE_COST): Define.
+ (rs6000_register_move_cost): Make static. Change arguments type from
+ enum reg_class to reg_class_t. Adjust rs6000_memory_move_cost calls.
+ (rs6000_memory_move_cost): Make static. Change arguments type from
+ 'enum reg_class' to reg_class_t.
+
+2010-07-10 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR middle-end/42505
+ * tree-inline.c (estimate_num_insns): Refactor builtin complexity
+ lookup code into....
+ * builtins.c (is_simple_builtin, is_inexpensive_builtin): ...these
+ new functions.
+ * tree.h (is_simple_builtin, is_inexpensive_builtin): Declare.
+ * cfgloopanal.c (target_clobbered_regs): Define.
+ (init_set_costs): Initialize target_clobbered_regs.
+ (estimate_reg_pressure_cost): Add call_p argument. When true,
+ adjust the number of available registers to exclude the
+ call-clobbered registers.
+ * cfgloop.h (target_clobbered_regs): Declare.
+ (estimate_reg_pressure_cost): Adjust declaration.
+ * tree-ssa-loop-ivopts.c (struct ivopts_data): Add body_includes_call.
+ (ivopts_global_cost_for_size): Pass it to estimate_reg_pressure_cost.
+ (determine_set_costs): Dump target_clobbered_regs.
+ (loop_body_includes_call): New function.
+ (tree_ssa_iv_optimize_loop): Use it to initialize new field.
+ * loop-invariant.c (gain_for_invariant): Adjust arguments to pass
+ call_p flag through.
+ (best_gain_for_invariant): Likewise.
+ (find_invariants_to_move): Likewise.
+ (move_single_loop_invariants): Likewise, using already-computed
+ has_call field.
+
+2010-07-10 Richard Guenther <rguenther@suse.de>
+ Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR debug/44832
+ * tree-ssa-live.c (mark_all_vars_used_1): Set TREE_USED for LABEL_DECL.
+ (remove_unused_scope_block_p): Don't drop TREE_USED LABEL_DECLs
+ unless they have DECL_IGNORED_P set.
+
+2010-07-10 Richard Guenther <rguenther@suse.de>
+
+ PR lto/44889
+ * gimple.c (gimple_fixup_complete_and_incomplete_subtype_p): New
+ helper function.
+ (gimple_types_compatible_p): Similar to pointed-to
+ types allow and merge a mix of complete and incomplete aggregate.
+ Use gimple_fixup_complete_and_incomplete_subtype_p for that.
+ (iterative_hash_gimple_type): Adjust for that.
+
+2010-07-10 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * tree.h (DECL_REPLACEABLE_P): Strengthen check for weak symbols.
+
+2010-07-10 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR objc/44140
+ * config/darwin.c (output_objc_section_asm_op): Save and restore
+ section when outputting ObjC section list.
+
+2010-07-09 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer-out.c (produce_symtab): Do not write alias
+ cgraph/varpool nodes.
+
+2010-07-09 Jan Hubicka <jh@suse.cz>
+
+ * tree-inline.c (declare_return_variable): Fix ICE while
+ inlining DECL_BY_VALUE function not in SSA form
+
+2010-07-09 Changpeng Fang <changpeng.fang@amd.com>
+
+ PR tree-optimization/44576
+ * tree-ssa-loop-prefetch.c (trip_count_to_ahead_ratio_too_small_p):
+ New. Pull out from is_loop_prefetching_profitable to implement
+ the trip count to ahead ratio heuristic.
+ (mem_ref_count_reasonable_p): New. Pull out from
+ is_loop_prefetching_profitable to implement the instruction to
+ memory reference ratio heuristic. Also consider not reasonable if
+ the memory reference count is above a threshold (to avoid
+ explosive compilation time.
+ (insn_to_prefetch_ratio_too_small_p): New. Pull out from
+ is_loop_prefetching_profitable to implement the instruction to
+ prefetch ratio heuristic.
+ (is_loop_prefetching_profitable): Removed.
+ (loop_prefetch_arrays): Distribute the cost analysis across the
+ function to allow early exit of the prefetch analysis.
+ is_loop_prefetching_profitable is splitted into three functions,
+ with each one called as early as possible.
+ (PREFETCH_MAX_MEM_REFS_PER_LOOP): New. Threshold above which the
+ number of memory references in a loop is considered too many.
+
+2010-07-09 Bernd Schmidt <bernds@codesourcery.com>
+
+ * reload.c (find_reloads): Don't clear badop if we have a winreg
+ alternative, but not win, and the class only has fixed regs.
+ * hard-reg-set.h (class_only_fixed_regs): Declare.
+ * reginfo.c (class_only_fixed_regs): New array.
+ (init_reg_sets_1): Initialize it.
+ * config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn): Don't
+ discourage alternatives using the stack pointer.
+
+ * config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
+
+ * config/arm/arm.md (Thumb-1 ldrsb peephole): New.
+
+ * config/arm/arm.md (cbranchqi4): Fix array size.
+ (addsi3_cbranch): Also andle alternative 2 like alternative 3 when
+ calculating length.
+
+2010-07-09 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (struct type_fixup_s): New struct and VEC type.
+ (gimple_register_type_fixups): New static global.
+ (gimple_queue_type_fixup): New function.
+ (gimple_types_compatible_p): Queue type fixups instead of
+ applying them here.
+ (gimple_register_type): Apply queued fixups for the
+ canonical type. Empty the type fixup queue.
+
+2010-07-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
+ * configure: Regenerate.
+ * config.in: Ditto.
+
+2010-07-09 Jakub Jelinek <jakub@redhat.com>
+ Denys Vlasenko <dvlasenk@redhat.com>
+ Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ PR tree-optimization/28632
+ * tree-vrp.c (zero_nonzero_bits_from_vr): New function.
+ (extract_range_from_binary_expr): Further optimize
+ BIT_AND_EXPR and BIT_IOR_EXPR.
+
+2010-07-09 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (fold_or_predicates): New.
+ (add_to_predicate_list): Call it.
+
+2010-07-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44890
+ * tree-ssa-address.c (create_mem_ref_raw): Only build a MEM_REF
+ if base is a pointer.
+ * tree-cfg.c (verify_expr): Update MEM_REF checking.
+
+2010-07-08 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/44877
+ * config/rs6000/rs6000.c (rs6000_expand_builtin): Use
+ POINTER_TYPE_P instead of checking only for POINTER_TYPE for the
+ builtin mask for load/store builtins.
+
+2010-07-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check
+ for "lock addl".
+ * configure: Regenerate.
+ * config/i386/i386.c (ix86_print_operand) <case ';'>:
+ Remove TARGET_MACHO.
+
+2010-07-09 Peter Bergner <bergner@vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_override_options): Fix setting of
+ default ISA flags.
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mvsx.
+
+2010-07-09 Tom de Vries <tjvries@xs4all.nl>
+
+ * tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.
+
+2010-07-09 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.md (commsTestPort): Emit more
+ efficient sequence for tstport instruction.
+
+2010-07-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_veclib_handler): Make static.
+
+2010-07-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44852
+ * tree-ssa-alias.c: Include toplev.h for exact_log2.
+ (indirect_ref_may_alias_decl_p): Properly handle negative offsets
+ in MEM_REF.
+ (indirect_refs_may_alias_p): Likewise.
+ * Makefile.in (tree-ssa-alias.o): Add $(TOPLEV_H).
+
+2010-07-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44882
+ * tree-vect-stmts.c (vectorizable_store): Do not assert alias
+ sets do conflict.
+ (vectorizable_load): Likewise.
+
+2010-07-09 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/40657
+ * config/arm/arm.c (thumb1_extra_regs_pushed): New arg FOR_PROLOGUE.
+ All callers changed.
+ Handle the case when we're called for the epilogue.
+ (thumb_unexpanded_epilogue): Use it.
+ (thumb1_expand_epilogue): Likewise.
+
+2010-07-09 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vrp.c (extract_range_from_binary_expr) <BIT_AND_EXPR>: If
+ both ranges are range_int_cst_p with non-negative minimum,
+ try harder to derive smaller range.
+
+2010-07-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * genrecog.c: Include diagnostic-core.h before toplev.h.
+ * genoutput.c: Likewise.
+ * genextract.c: Likewise.
+ * genautomata.c: Likewise.
+ * genemit.c: Likewise.
+ * genpeep.c: Likewise.
+ * genattrtab.c: Likewise.
+ * genconditions.c: Likewise.
+ * genpreds.c: Likewise.
+
+2010-07-08 Andi Kleen <ak@linux.intel.com>
+
+ * lto-section-in.c (lto_section_name): Add missing comma.
+
+2010-07-08 Anatoly Sokolov <aesok@post.ru>
+
+ * config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
+ * config/ia64/ia64-protos.h (ia64_override_options): Remove.
+ * config/ia64/ia64.c (TARGET_OPTION_OVERRIDE): Define.
+ (ia64_override_options): Rename to...
+ (ia64_option_override): ... this one. Make static.
+
+2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/44843
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not rely on the
+ pointed-to type of the offset in a MEM_REF to compute the alignment.
+
+2010-07-08 Kai Tietz <kai.tietz@onevision.com>
+
+ * final.c (final_scan_insn): Replace
+ TARGET_UNWIND_INFO macro check by unwind_emit
+ hook NULL check.
+ * targhooks.c (default_unwind_emit): Removed.
+ * targhooks.h (default_unwind_emit): Likewise.
+ * target.def (unwind_emit): Set default value to NULL.
+
+ * config/i386/i386-protos.h (ix86_asm_output_function_label):
+ New prototype.
+ * config/i386/i386.c (ix86_function_ms_hook_prologue): Check
+ for NULL fntype argument and allow 64-bit targets.
+ (ix86_asm_output_function_label): New function.
+ (ix86_expand_prologue): Handle 64-bit ms hook prologue.
+ (ix86_handle_fndecl_attribute): Likewise.
+ * doc/extend.texi (ms_hook_prologue): Adjust documentation.
+ * doc/doc/tm.texi: Regenerated.
+ * doc/doc/doc/tm.texi.in (ASM_OUTPUT_FUNCTION_LABEL): New.
+ (ASM_DECLARE_FUNCTION_NAME): Adjust documentation.
+ * defaults.h (ASM_OUTPUT_FUNCTION_LABEL): New macro.
+ * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use
+ ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
+ * config/elfos.h: Likewise.
+ * config/i386/cygming.h: Likewise.
+ * config/netbsd-aout.h: Likewise.
+ * config/openbsd.h: Likewise.
+ * config/i386/i386.h (ASM_OUTPUT_FUNCTION_LABEL): Override
+ by ix86_asm_output_function_label function call.
+ * varasm.c (assemble_start_function): Use
+ ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
+
+2010-07-08 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
+ New function.
+ * cgraph.h (cgraph_will_be_removed_from_program_if_no_direct_calls):
+ Declare.
+ * ipa-cp.c (ipcp_estimate_growth): Use it.
+ * ipa-inline.c (cgraph_estimate_growth, cgraph_decide_inlining):
+ Likewise.
+
+2010-07-08 Jan Hubicka <jh@suse.cz>
+
+ * tree-inline.c (declare_return_variable): Allocate annotation for new
+ temporary.
+
+2010-07-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/44710
+ * tree-if-conv.c (parse_predicate): New.
+ (add_to_predicate_list): Call it, call maybe_fold_or_comparisons.
+ Make sure that the predicates are either SSA_NAMEs or gimple_condexpr.
+
+2010-07-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * common.opt (ftree-loop-if-convert): New flag.
+ * doc/invoke.texi (ftree-loop-if-convert): Documented.
+ * tree-if-conv.c (gate_tree_if_conversion): Enable if-conversion
+ when flag_tree_loop_if_convert is set.
+
+2010-07-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c: Use short syntax for function calls
+ through function pointers.
+ * config/i386/i386.md: Ditto.
+
+2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix formatting issues.
+
+2010-07-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix
+ stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.
+
+2010-07-08 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u
+ instead of DW_OP_addr for DW_OP_GNU_push_tls_address operand.
+ (loc_list_from_tree): Likewise.
+ (output_loc_operands): Handle outputting DW_OP_const[48]u
+ with loc->dtprel set.
+ (resolve_addr_in_expr): Handle loc->dtprel like DW_OP_addr.
+
+2010-07-08 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c: Include pointer-set.h
+ (cgraph_externally_visible_p): New attribute ALIASED;
+ when in LTO, hidden symbols are local unless they are aliased.
+ (function_and_variable_visibility): Compute aliased nodes;
+ handle LTO and hidden symbol on functions and vars.
+ * cgraph.c (cgraph_make_decl_local): Clear NAMED_SECTION
+ for COMDAT symbols; handle COMDAT_GROUPS also at vars.
+
+2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/i386/cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
+ * config/i386/freebsd.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/i386/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/i386/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/i386/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/i386/i386.c (ix86_gen_adjust_stack_and_probe): New variable.
+ (ix86_gen_probe_stack_range): Likewise.
+ (override_options): Set them.
+ (ix86_target_stack_probe): New function.
+ (ix86_compute_frame_layout): Force use of push instructions to
+ save registers if stack checking with probes is enabled.
+ (get_scratch_register_on_entry): New function.
+ (release_scratch_register_on_entry): Likewise.
+ (ix86_adjust_stack_and_probe): Likewise.
+ (output_adjust_stack_and_probe): Likewise.
+ (ix86_emit_probe_stack_range): Likewise.
+ (output_probe_stack_range): Likewise.
+ (ix86_expand_prologue): Emit stack checking code if static built-in
+ stack checking is enabled.
+ Test ix86_target_stack_probe instead of TARGET_STACK_PROBE.
+ * config/i386/i386-protos.h (ix86_target_stack_probe): Declare.
+ (output_adjust_stack_and_probe): Likewise.
+ (output_probe_stack_range): Likewise.
+ * config/i386/i386.md (UNSPECV_PROBE_STACK_RANGE): New constant.
+ (allocate_stack_worker_32): Test ix86_target_stack_probe instead of
+ TARGET_STACK_PROBE.
+ (allocate_stack_worker_64): Likewise.
+ (allocate_stack): Likewise.
+ (adjust_stack_and_probe): New insn.
+ (probe_stack_range): Likewise.
+
+2010-07-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44831
+ * tree-ssa-phiprop.c (phiprop_insert_phi): Properly build
+ a MEM_REF preserving TBAA info of the original dereference.
+ Dereference the original pointer if the address is not invariant.
+ (propagate_with_phi): Fixup type checks wrt MEM_REFs. Require
+ at least one invariant address that we are going to dereference.
+
+2010-07-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44861
+ * tree-vect-stmts.c (vectorizable_store): Preserve TBAA
+ information when building MEM_REFs.
+ (vectorizable_load): Likewise.
+ * tree-vect-data-refs.c (vect_setup_realignment): Likewise.
+
+2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sol2-c.c: Do not include diagnostic-core.h.
+
+2010-07-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR bootstrap/44768
+ * cfgexpand.c (estimated_stack_frame_size): Make self-contained
+ with respect to current_function_decl. Pass decl of the function.
+ * tree-inline.h (estimated_stack_frame_size): Adjust prototype.
+ * ipa-inline.c (compute_inline_parameters): Pass decl to
+ estimated_stack_frame_size.
+
+2010-07-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
+ New function.
+ (valueize_refs): Call it.
+
+2010-07-08 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/44838
+ * tree-ssa-alias.c (indirect_refs_may_alias_p): When not in
+ SSA form do not use pointer equivalence.
+
+2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (AT_linkage_name): Delete.
+ (add_linkage_attr): New function.
+ (add_linkage_name): Call it to emit the linkage attribute.
+ (dwarf2out_finish): Likewise.
+ (move_linkage_attr): Explicitly accept both attribute variants.
+
+2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * toplev.h: Do not include diagnostic-core.h.
+ Include diagnostic-core.h in every file that includes toplev.h.
+ * c-tree.h: Do not include toplev.h.
+ * pretty-print.h: Update comment.
+ * Makefile.in: Update dependencies.
+ * alias.c: Include diagnostic-core.h in every file that includes
+ toplev.h.
+ * attribs.c: Likewise.
+ * auto-inc-dec.c: Likewise.
+ * bb-reorder.c: Likewise.
+ * bt-load.c: Likewise.
+ * caller-save.c: Likewise.
+ * calls.c: Likewise.
+ * cfg.c: Likewise.
+ * cfganal.c: Likewise.
+ * cfgbuild.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * cfghooks.c: Likewise.
+ * cfgloop.c: Likewise.
+ * combine.c: Likewise.
+ * config/alpha/alpha.c: Likewise.
+ * config/arc/arc.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/arm/pe.c: Likewise.
+ * config/avr/avr.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/cris/cris.c: Likewise.
+ * config/crx/crx.c: Likewise.
+ * config/darwin-c.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/fr30/fr30.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/host-darwin.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/i386/netware.c: Likewise.
+ * config/i386/nwld.c: Likewise.
+ * config/i386/winnt-cxx.c: Likewise.
+ * config/i386/winnt-stubs.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/ia64/ia64-c.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/iq2000/iq2000.c: Likewise.
+ * config/lm32/lm32.c: Likewise.
+ * config/m32c/m32c-pragma.c: Likewise.
+ * config/m32c/m32c.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/m68hc11/m68hc11.c: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/mep/mep-pragma.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/mmix/mmix.c: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+ * config/moxie/moxie.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/pdp11/pdp11.c: Likewise.
+ * config/picochip/picochip.c: Likewise.
+ * config/rs6000/rs6000-c.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/score/score.c: Likewise.
+ * config/score/score3.c: Likewise.
+ * config/score/score7.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sh/symbian-base.c: Likewise.
+ * config/sh/symbian-c.c: Likewise.
+ * config/sh/symbian-cxx.c: Likewise.
+ * config/sol2-c.c: Likewise.
+ * config/sol2.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/v850/v850-c.c: Likewise.
+ * config/v850/v850.c: Likewise.
+ * config/vax/vax.c: Likewise.
+ * config/vxworks.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+ * convert.c: Likewise.
+ * cse.c: Likewise.
+ * cselib.c: Likewise.
+ * dbgcnt.c: Likewise.
+ * dbxout.c: Likewise.
+ * ddg.c: Likewise.
+ * dominance.c: Likewise.
+ * emit-rtl.c: Likewise.
+ * explow.c: Likewise.
+ * expmed.c: Likewise.
+ * fixed-value.c: Likewise.
+ * fold-const.c: Likewise.
+ * fwprop.c: Likewise.
+ * gcse.c: Likewise.
+ * ggc-common.c: Likewise.
+ * ggc-page.c: Likewise.
+ * ggc-zone.c: Likewise.
+ * gimple-low.c: Likewise.
+ * gimplify.c: Likewise.
+ * graph.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * ifcvt.c: Likewise.
+ * implicit-zee.c: Likewise.
+ * integrate.c: Likewise.
+ * ira-build.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-conflicts.c: Likewise.
+ * ira-costs.c: Likewise.
+ * ira-lives.c: Likewise.
+ * ira.c: Likewise.
+ * lists.c: Likewise.
+ * loop-doloop.c: Likewise.
+ * loop-iv.c: Likewise.
+ * lto-opts.c: Likewise.
+ * lto-symtab.c: Likewise.
+ * main.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * optabs.c: Likewise.
+ * params.c: Likewise.
+ * plugin.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * postreload.c: Likewise.
+ * predict.c: Likewise.
+ * profile.c: Likewise.
+ * real.c: Likewise.
+ * regcprop.c: Likewise.
+ * reginfo.c: Likewise.
+ * regmove.c: Likewise.
+ * reorg.c: Likewise.
+ * resource.c: Likewise.
+ * rtl.c: Likewise.
+ * rtlanal.c: Likewise.
+ * sched-deps.c: Likewise.
+ * sched-ebb.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * sdbout.c: Likewise.
+ * sel-sched-dump.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * stmt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * store-motion.c: Likewise.
+ * targhooks.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-dump.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-nomudflap.c: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-optimize.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-phinodes.c: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-coalesce.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-loop.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa-uninit.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * varasm.c: Likewise.
+ * vec.c: Likewise.
+ * web.c: Likewise.
+ * xcoffout.c: Likewise.
+
+2010-07-07 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gengtype.c (write_field_root): New function.
+ (write_root): Use it.
+
+2010-07-07 Wei Guozhi <carrot@google.com>
+
+ * config/arm/thumb2.md (peephole2 to convert zero_extract/compare
+ of lowest bits to lshift/compare): Add a missing line.
+
+2010-07-07 Wei Guozhi <carrot@google.com>
+
+ * config/arm/thumb2.md (peephole2 to convert zero_extract/compare
+ of lowest bits to lshift/compare): New.
+
+2010-07-07 Tom Tromey <tromey@redhat.com>
+
+ * doc/tm.texi: Update.
+ * doc/tm.texi.in (SDB and DWARF) <TARGET_WANT_DEBUG_PUB_SECTIONS>:
+ Add @hook.
+ * target.def (want_debug_pub_sections): New hook.
+ * config/darwin.h (TARGET_WANT_DEBUG_PUB_SECTIONS): Define.
+ * dwarf2out.c (add_pubname_string): Check
+ targetm.want_debug_pub_sections.
+ (add_pubname): Likewise.
+ (add_pubtype): Likewise.
+
+2010-07-07 Jie Zhang <jie@codesourcery.com>
+
+ * genautomata.c (output_automata_list_min_issue_delay_code):
+ Correctly decompress min_issue_delay.
+
+2010-07-07 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/44404
+ * auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
+ possible, use reg_overlap_mentioned_p instead.
+
+2010-07-07 Duncan Sands <baldrick@free.fr>
+
+ PR middle-end/41355
+ * tree.c (build_function_type_skip_args): Copy the original type using
+ build_distinct_type_copy rather than copy_node.
+
+2010-07-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44850
+ * config/i386/i386.c (ix86_function_ms_hook_prologue): Revert
+ revision 161876.
+ (ix86_expand_prologue): Likewise.
+ (ix86_handle_fndecl_attribute): Likewise.
+ (ix86_asm_declare_function_name): Likewise.
+ * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): Likewise.
+ * config/i386/i386-protos.h (ix86_asm_declare_function_name): Likewise.
+ * doc/extend.texi: Likewise.
+
+2010-07-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44844
+ * config/i386/i386.md (rdrand<mode>): Changed to expand to
+ retry if the carry flag isn't valid.
+ (rdrand<mode>_1): New.
+
+2010-07-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44790
+ * expr.c (expand_expr_real_1): Go the POINTER_PLUS_EXPR path
+ for expanding the constant offset for MEM_REFs.
+
+2010-07-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-propagate.h (valid_gimple_call_p): Remove.
+ * tree-ssa-propagate.c (valid_gimple_call_p): Make static. Fix.
+ * gimple.h (is_gimple_operand): Remove.
+ * gimple.c (is_gimple_operand): Likewise.
+ (walk_gimple_op): Fix wi->val_only setting for calls.
+ * tree-cfg.c (verify_gimple_call): Fix argument validation.
+ * tree-profile.c (tree_gen_ic_func_profiler): Do not create
+ invalid gimple calls.
+
+2010-07-06 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (output_cgraph): Add missing declaration.
+
+2010-07-06 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (output_cgraph): Output toplevel asms only into first
+ partition.
+
+2010-07-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * doc/gimple.texi (GIMPLE_DEBUG): Document.
+ * doc/rtl.texi (Debug Information): New node.
+ (NOTE_INSN_VAR_LOCATION): Document.
+ (debug_insn): Likewise.
+ * doc/generic.texi (DEBUG_EXPR_DECL): Document.
+
+2010-07-07 Jan Hubicka <jh@suse.cz>
+
+ With parts by Richard Guenther.
+
+ PR middle-end/44813
+ * tree-ssa-uninit.c (ssa_undefined_value_p): Result decl is defined
+ for functions passed by reference.
+ * tree.c (needs_to_live_in_memory): RESULT_DECL don't need to live
+ in memory when passed by reference.
+ * tree-ssa-ccp.c (get_default_value): Only VAR_DECL is undefined at
+ beggining.
+ * ipa-split.c (split_function): Cleanup way return value is passed;
+ handle SSA DECL_BY_REFERENCE retvals.
+ * tree-ssa.c (verify_def): Verify that RESULT_DECL is read only when
+ DECL_BY_REFERENCE is set.
+ * tree-ssa-structalias.c (get_constraint_for_ssa_var, get_fi_for_callee,
+ find_what_p_points_to): Handle RESULT_DECL.
+ * tree-inline.c (declare_return_variable): Get new entry_block argument;
+ when passing by reference ensure that RESULT_DECL is gimple_val.
+ (remap_gimple_op_r): Remap RESULT_DECL ssa name.
+ (remap_gimple_stmt): Handle SSA DECL_BY_REFERENCE returns.
+
+2010-07-07 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/44787
+ * config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
+ * config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.
+
+2010-07-06 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
+ (lto_symtab_resolve_can_prevail_p): Also alias of cgraph node
+ with body can prevail.
+ (lto_symtab_resolve_symbols): Use cgraph_get_node_or_alias.
+ (lto_symtab_merge_cgraph_nodes_1): Do not remove nodes from aliases.
+ * cgraph.c (cgraph_get_node_or_alias): New function.
+ * cgraph.h (cgraph_get_node_or_alias): Declare.
+
+2010-07-06 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/i386.c (ix86_function_ms_hook_prologue): Enable x64
+ support.
+ (ix86_expand_prologue): Likewise.
+ (ix86_handle_fndecl_attribute): Likewise.
+ (ix86_asm_declare_function_name): New function for
+ ASM_DECLARE_FUNCTION_NAME.
+ * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): New macro.
+ * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Removed.
+ (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New macro.
+ * config/i386/i386-protos.h (ix86_asm_declare_function_name): New.
+ * doc/extend.texi: Adjust documentation about ms_hook_prologue
+ attribute.
+
+2010-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (immediate_operand): New mode attribute.
+
+ (pro_epilogue_adjust_stack_<mode>_1): Macroize insn from
+ pro_epilogue_adjust_stack and pro_epilogue_adjust_stack_rex64
+ using P mode iterator.
+ (pro_epilogue_adjust_stack_di_2): Rename from
+ pro_epilogue_adjust_stack_rex64_2.
+
+ * config/i386/i386.c (pro_epilogue_adjust_stack): Update for rename.
+
+2010-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (insv): Call gen_movdi_insv1 or gen_movsi_insv1
+ through gen_mov_insv_1 function pointer.
+ (fmod<mode>3): Call gen_truncxf<mode>2_i387_noop_unspec or
+ gen_truncxf<mode>2 through gen_truncxf function pointer.
+ (remainder<mode>3): Ditto.
+ (cmpstrnsi): Rename cmp_insn function pointer to gen_cmp.
+ (allocate_stack): Call gen_allocate_stack_worker_64 or
+ gen_allocate_stack_worker_32 through gen_allocate_stack_worker
+ function pointer.
+ (probe_stack): Call gen_iordi3 or gen_iorsi3 through gen_ior3
+ function pointer.
+
+2010-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*add<mode>3_cconly_overflow): Use <g>
+ operand constraint instead of <r><i>m.
+
+2010-07-06 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44828
+ * convert.c (convert_to_integer): Watch out for overflowing
+ MULT_EXPR as well.
+
+2010-07-05 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer.c (write_symbol_vec): Rename to ...
+ (write_symbol) ... this one; write only symbol given and when
+ present in cache. Sanity check that what is defined is present
+ in cgraph/varpool with body/finalized decl.
+ (write_symbols_of_kind): Remove.
+ (produce_symtab): Take outputblock and sets; use cgraph/varpool/alias
+ pairs to produce symtab.
+ (produce_asm_for_decls): Update call of produce_symtab; don't do so
+ when doing WPA streaming.
+
+2010-07-05 Jan Hubicka <jh@suse.cz>
+
+ * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
+ function is still available to fold into.
+
+2010-07-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
+ * function.h (struct_function): Change type of local_decls field
+ to a VEC.
+ (add_local_decl): New function.
+ (FOR_EACH_LOCAL_DECL): New macro.
+ * cfgexpand.c (init_vars_expansion): Adjust for new type of
+ cfun->local_decls.
+ (estimated_stack_frame_size): Likewise.
+ (expand_used_vars): Likewise.
+ * cgraphbuild.c (build_cgraph_edges): Likewise.
+ * function.c (instantiate_decls_1): Likewise.
+ * ipa-struct-reorg.c (build_data_structure): Likewise.
+ * ipa-type-escape.c (analyze_function): Likewise.
+ * lto-streamer-in.c (input_function): Likewise.
+ * lto-streamer-out.c (output_function): Likewise.
+ * tree-ssa-live.c (remove_unused_locals): Likewise.
+ * tree.c (free_lang_data_in_decl): Likewise.
+ (find_decls_types_in_node): Likewise.
+ * omp-low.c (remove_exit_barrier): Likewise.
+ (expand_omp_taskreg): Likewise.
+ (list2chain): Rename to...
+ (vec2chain): ...this. Adjust.
+ * cgraphunit.c (assemble_thunk): Call add_local_decl.
+ * tree-cfg.c (replace_by_duplicate_decl): Likewise.
+ * gimple-low.c (record_vars_into): Likewise.
+ * tree-inline.c (remap_decls): Likewise.
+ (declare_return_variable): Likewise.
+ (declare_inline_vars): Likewise.
+ (copy_forbidden): Adjust for new type of cfun->local_decls.
+ (add_local_variables): New function.
+ (expand_call_inline): Call it.
+ (tree_function_versioning): Likewise.
+
+2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ AVX Programming Reference (June, 2010)
+ * config/i386/cpuid.h (bit_F16C): New.
+ (bit_RDRND): Likewise.
+ (bit_FSGSBASE): Likewise.
+
+ * config/i386/i386-builtin-types.def: Add
+ "DEF_FUNCTION_TYPE (UINT16)", function types for
+ float16 <-> float conversions and
+ "DEF_FUNCTION_TYPE (VOID, UINT64)".
+
+ * config/i386/i386-c.c (ix86_target_macros_internal): Support
+ OPTION_MASK_ISA_FSGSBASE, OPTION_MASK_ISA_RDRND and
+ OPTION_MASK_ISA_F16C.
+
+ * config/i386/i386.c (OPTION_MASK_ISA_FSGSBASE_SET): New.
+ (OPTION_MASK_ISA_RDRND_SET): Likewise.
+ (OPTION_MASK_ISA_F16C_SET): Likewise.
+ (OPTION_MASK_ISA_FSGSBASE_UNSET): Likewise.
+ (OPTION_MASK_ISA_RDRND_UNSET): Likewise.
+ (OPTION_MASK_ISA_F16C_UNSET): Likewise.
+ (OPTION_MASK_ISA_AVX_UNSET): Add OPTION_MASK_ISA_F16C_UNSET.
+ (ix86_handle_option): Handle OPT_mfsgsbase, OPT_mrdrnd and OPT_mf16c.
+ (ix86_target_string): Support -mfsgsbase, -mrdrnd and -mf16c.
+ (pta_flags): Add PTA_FSGSBASE, PTA_RDRND and PTA_F16C.
+ (override_options): Handle them.
+ (ix86_valid_target_attribute_inner_p): Handle fsgsbase, rdrnd and f16c.
+ (ix86_builtins): Add IX86_BUILTIN_RDFSBASE32,
+ IX86_BUILTIN_RDFSBASE64, IX86_BUILTIN_RDGSBASE32,
+ IX86_BUILTIN_RDGSBASE64, IX86_BUILTIN_WRFSBASE32,
+ IX86_BUILTIN_WRFSBASE64, IX86_BUILTIN_WRGSBASE32,
+ IX86_BUILTIN_WRGSBASE64, IX86_BUILTIN_RDRAND16,
+ IX86_BUILTIN_RDRAND32, IX86_BUILTIN_RDRAND64,
+ IX86_BUILTIN_CVTPH2PS, IX86_BUILTIN_CVTPH2PS256,
+ IX86_BUILTIN_CVTPS2PH and IX86_BUILTIN_CVTPS2PH256.
+ (bdesc_args): Likewise.
+ (ix86_expand_args_builtin): Handle V8SF_FTYPE_V8HI,
+ V4SF_FTYPE_V8HI, V8HI_FTYPE_V8SF_INT and V8HI_FTYPE_V4SF_INT.
+ (ix86_expand_special_args_builtin): Handle VOID_FTYPE_UINT64,
+ VOID_FTYPE_UNSIGNED, UNSIGNED_FTYPE_VOID and UINT16_FTYPE_VOID.
+ Handle non-memory store.
+
+ * config/i386/i386.h (TARGET_FSGSBASE): New.
+ (TARGET_RDRND): Likewise.
+ (TARGET_F12C): Likewise.
+
+ * config/i386/i386.md (UNSPEC_VCVTPH2PS): New.
+ (UNSPEC_VCVTPS2PH): Likewise.
+ (UNSPECV_RDFSBASE): Likewise.
+ (UNSPECV_RDGSBASE): Likewise.
+ (UNSPECV_WRFSBASE): Likewise.
+ (UNSPECV_WRGSBASE): Likewise.
+ (UNSPECV_RDRAND): Likewise.
+ (rdfsbase<mode>): Likewise.
+ (rdgsbase<mode>): Likewise.
+ (wrfsbase<mode>): Likewise.
+ (wrgsbase<mode>): Likewise.
+ (rdrand<mode>): Likewise.
+
+ * config/i386/i386.opt: Add -mfsgsbase, -mrdrnd and -mf16c.
+
+ * config/i386/immintrin.h (_rdrand_u16): New.
+ (_rdrand_u32): Likewise.
+ (_readfsbase_u32): Likewise.
+ (_readfsbase_u64): Likewise.
+ (_readgsbase_u32): Likewise.
+ (_readgsbase_u64): Likewise.
+ (_writefsbase_u32): Likewise.
+ (_writefsbase_u64): Likewise.
+ (_writegsbase_u32): Likewise.
+ (_writegsbase_u64): Likewise.
+ (_rdrand_u64): Likewise.
+ (_cvtsh_ss): Likewise.
+ (_mm_cvtph_ps): Likewise.
+ (_mm256_cvtph_ps): Likewise.
+ (_cvtss_sh): Likewise.
+ (_mm_cvtps_ph): Likewise.
+ (_mm256_cvtps_ph): Likewise.
+
+ * config/i386/sse.md (vcvtph2ps): New.
+ (*vcvtph2ps_load): Likewise.
+ (vcvtph2ps256): Likewise.
+ (vcvtps2ph): Likewise.
+ (*vcvtps2ph): Likewise.
+ (*vcvtps2ph_store): Likewise.
+ (vcvtps2ph256): Likewise.
+
+ * doc/extend.texi: Document FSGSBASE and RDRND built-in functions.
+
+ * doc/invoke.texi: Document -mfsgsbase, -mrdrnd and -mf16c.
+
+2010-07-05 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR bootstrap/44512
+ * genenums.c (main): Output include of insn-constants.h
+ * Makefile.in (insn-enums.o): Depend on insn-constants.h.
+
+2010-07-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_gen_allocate_stack_worker): New.
+ (override_options): Initialize it.
+ (ix86_expand_prologue): Use it.
+
+2010-07-05 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
+
+2010-07-05 Anatoly Sokolov <aesok@post.ru>
+
+ * double-int.h (fit_double_type): Remove declaration.
+ * double-int.c (fit_double_type): Remove function.
+ * tree.h (int_fits_type_p): Adjust prototype.
+ * tree.c (int_fits_type_p): Return bool. Use double_int_fits_to_tree_p
+ instead of fit_double_type.
+ (build_int_cst_type): Use double_int_to_tree and shwi_to_double_int
+ instead of fit_double_type and build_int_cst_wide.
+ * builtins.c (): Use double_int_fits_to_tree_p and double_int_to_tree
+ instead of fit_double_type and build_int_cst_wide.
+ (fold_builtin_object_size): Use double_int_fits_to_tree_p instead
+ of fit_double_type.
+
+2010-07-05 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (cgraph_node, cgraph_varpool_node): Update docmentation of
+ in_other_partition.
+ * lto-cgraph.c (referenced_from_other_partition_p,
+ reachable_from_other_partition_p): Use in_other_partition flags.
+ (output_node, output_varpool_node): COMDAT nodes always have private
+ copies and thus are never used from other partition.
+
+2010-07-05 Anatoly Sokolov <aesok@post.ru>
+
+ * config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
+ * config/ia64/t-ia64 (ia64.o): Depend on reload.h.
+ * config/ia64/ia64.c Include reload.h.
+ (ia64_memory_move_cost): New function.
+ (TARGET_MEMORY_MOVE_COST): Define.
+ (ia64_register_move_cost): Replace MEMORY_MOVE_COST with
+ memory_move_cost.
+
+2010-07-05 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR middle-end/42505
+ * tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete
+ comments about cost model.
+ (try_add_cand_for): Add second strategy for choosing initial set
+ based on original IVs, controlled by ORIGINALP argument.
+ (get_initial_solution): Add ORIGINALP argument.
+ (find_optimal_iv_set_1): New function, split from find_optimal_iv_set.
+ (find_optimal_iv_set): Try two different strategies for choosing
+ the IV set, and return the one with lower cost.
+
+2010-07-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info.
+
+2010-07-05 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (reference_alias_ptr_type): New function.
+ * tree.h (reference_alias_ptr_type): Declare.
+ * tree-ssa-loop-ivopts.c (copy_ref_info): Restructure to
+ allow non-TARGET_MEM_REF new refs.
+ (rewrite_use_address): Pass old alias pointer type to create_mem_ref.
+ * tree-ssa-address.c (create_mem_ref_raw): Get alias pointer type.
+ Build a MEM_REF instead of a TARGET_MEM_REF if possible.
+ (create_mem_ref): Get alias pointer type. Adjust calls to
+ create_mem_ref_raw.
+ (maybe_fold_tmr): Likewise.
+ * tree-flow.h (create_mem_ref): Adjust prototype.
+
+2010-07-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/44808
+ * gimplify.c (gimplify_modify_expr): Only SET_DECL_DEBUG_EXPR if
+ *from_p is VAR_DECL.
+
+2010-07-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (build_call_list): Remove.
+ * tree.c (build_call_list): Remove.
+
+2010-07-05 Richard Guenther <rguenther@suse.de>
+
+ * double-int.h (double_int_sub): Declare.
+ * double-int.c (double_int_sub): New function.
+ * dwarf2out.c (field_byte_offset): Use it.
+ * fixed-value.c (do_fixed_add): Likewise.
+ (do_fixed_multiply): Likewise.
+ (do_fixed_divide): Likewise.
+ * tree-predcom.c (add_ref_to_chain): Likewise.
+ (determine_roots_comp): Likewise.
+ * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
+
+2010-07-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * vec.h (VEC_splice, VEC_safe_splice): New macros. Add function
+ implementations.
+
+2010-07-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
+ * arm-modes.def (CC_NOTB): Don't define.
+ * config/arm/arm.md (arm_adddi3): Generate canonical RTL.
+ (adddi_sesidi_di, adddi_zesidi_di): Likewise.
+ (LTUGEU): New code_iterator.
+ (cnb, optab): New corresponding code_attrs.
+ (addsi3_carryin_<optab>): Renamed from addsi3_carryin. Change pattern
+ to canonical form. Operands 1 and 2 are commutative. Parametrize
+ using LTUGEU.
+ (addsi3_carryin_shift_<optab>): Likewise.
+ (addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2.
+ Operands 1 and 2 are commutative. Parametrize using LTUGEU.
+ (addsi3_carryin_alt1, addsi3_carryin_alt3): Remove.
+ (subsi3_compare): Renamed from subsi3_compare0_c.
+ Change CC_NOTB to CC.
+ (arm_subsi3_insn): Allow constants for operand 0.
+ (compare_scc peephole for eq case): New.
+ (compare_scc splitters): Change CC_NOTB to CC.
+
+2010-07-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-loop-im.c (for_each_index): Do not handle
+ ALIGN_INDIRECT_REF.
+ (gen_lsm_tmp_name): Likewise.
+ * tree-dump.c (dequeue_and_dump): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Likewise.
+ (op_code_prio): Likewise.
+ (op_symbol_code): Likewise.
+ * tree.c (staticp): Likewise.
+ (build1_stat): Likewise.
+ * tree.h (INDIRECT_REF_P): Likewise.
+ * fold-const.c (maybe_lvalue_p): Likewise.
+ (operand_equal_p): Likewise.
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
+ (ao_ref_init_from_vn_reference): Likewise.
+ * tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
+ (find_interesting_uses_address): Likewise.
+ * dwarf2out.c (loc_list_from_tree): Likewise.
+ * gimplify.c (gimplify_expr): Likewise.
+ * tree-eh.c (tree_could_trap_p): Likewise.
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+ * cfgexpand.c (expand_debug_expr): Likewise.
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
+ * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
+ * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
+ * config/rs6000/rs6000 (rs6000_check_sdmode): Likewise.
+ * tree-ssa-operands.c (get_expr_operands): Likewise.
+ * expr.c (safe_from_p): Likewise.
+ (expand_expr_real_1): Likewise. TER BIT_AND_EXPRs into MEM_REFs.
+ * tree-vect-data-refs.c (vect_setup_realignment): Build
+ BIT_AND_EXPR and MEM_REF instead of ALIGN_INDIRECT_REF.
+ * tree-vect-stmts.c (vectorizable_load): Likewise.
+ * tree.def (ALIGN_INDIRECT_REF): Remove.
+
+2010-07-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44784
+ * tree-ssa-pre.c (bitmap_find_leader): Fix dominance check
+ for inserted stmts.
+ (find_or_generate_expression): Fix SCCVN insertion check.
+
+2010-07-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/rs6000/e500crtsavg64gprctr.asm: Correct done label name.
+ * config/rs6000/e500crtsav64gprctr.asm: Likewise.
+ * config/rs6000/e500crtres64gprctr.asm: Likewise. Add FUNC_END
+ directives.
+
+2010-07-05 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip
+ statements that are not vectorized.
+ * tree-vect-stmts.c (vect_get_load_cost): Update the value stored
+ in INSIDE_COST.
+
+2010-07-05 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR bootstrap/44820
+ * config/arm/arm.c (arm_attr_length_move_neon): Delete regno.
+
+2010-07-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE
+ RESULT_DECLs properly.
+
+2010-07-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/44695
+ * config/i386/i386.md (extract_code): Removed.
+ (<u>divmodqi4): Likewise.
+ (divmodqi4): New.
+ (udivmodqi4): Likewise.
+ (divmodhiqi3): Change div/mod to HImode and extend operand 2 to HImode.
+ (udivmodhiqi3): Likewise.
+
+2010-07-04 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (input_edge): Do not care about resolution decisions.
+
+2010-07-04 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (init_cgraph): Only initialize dump file if it
+ is not already initialized.
+
+2010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * optabs.h (reload_in_optab, reload_out_optab, code_to_optab)
+ (vcond_gen_code, vcondu_gen_code, movmem_optab, setmem_optab)
+ (cmpstr_optab, cmpstrn_optab, cmpmem_optab, sync_add_optab)
+ (sync_sub_optab, sync_ior_optab, sync_and_optab, sync_xor_optab)
+ (sync_nand_optab, sync_old_add_optab, sync_old_sub_optab)
+ (sync_old_ior_optab, sync_old_and_optab, sync_old_xor_optab)
+ (sync_old_nand_optab, sync_new_add_optab, sync_new_sub_optab)
+ (sync_new_ior_optab, sync_new_and_optab, sync_new_xor_optab)
+ (sync_new_nand_optab): Redefine as macros.
+ (sync_compare_and_swap, sync_lock_test_and_set, sync_lock_release):
+ Delete.
+ (direct_optab_index): New enum.
+ (direct_optab_d): New structure.
+ (direct_optab): New typedef.
+ (direct_optab_table): Declare.
+ (direct_optab_handler, set_direct_optab_handler): New functions.
+ (sync_compare_and_swap_optab, sync_lock_test_and_set_optab)
+ (sync_lock_release_optab): New macros.
+ * optabs.c (direct_optab_table): New variable.
+ (movcc_gen_code, vcond_gen_code, vcondu_gen_code): Delete.
+ (prepare_cmp_insn): Use direct_optab_handler for cmpmem_optab,
+ cmpstr_optab and cmpstrn_optab.
+ (emit_conditional_move): Likewise for movcc_optab.
+ (can_conditionally_move_p): Likewise for movcc_gen_code.
+ (init_insn_codes): Clear direct_optab_table.
+ (init_optabs): Don't initialize the new "direct optabs" here.
+ (get_vcond_icode): Use direct_optab_handler for vcondu_gen_code and
+ vcond_gen_code.
+ (expand_val_compare_and_swap): Likewise sync_compare_and_swap_optab.
+ (expand_bool_compare_and_swap): Likewise sync_compare_and_swap_optab.
+ (expand_compare_and_swap_loop): Likewise sync_compare_and_swap_optab.
+ (expand_sync_operation): Likewise other sync_*_optabs.
+ (expand_sync_fetch_operation): Likewise. Rename sync_compare_and_swap
+ to sync_compare_and_swap_optab.
+ (expand_sync_lock_test_and_set): Use direct_optab_handler for
+ sync_lock_test_and_set and sync_compare_and_swap, adding "_optab"
+ to the names of both.
+ * builtins.c (expand_builtin_strcmp): Use direct_optab_handler for
+ cmpstr_optab and cmpstrn_optab.
+ (expand_builtin_lock_release): Likewise sync_lock_release.
+ * expr.c (movmem_optab, setmem_optab, cmpstr_optab, cmpstrn_optab)
+ (cmpmem_optab, sync_add_optab, sync_sub_optab, sync_ior_optab)
+ (sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab)
+ (sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab)
+ (sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab)
+ (sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab)
+ (sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap)
+ (sync_lock_test_and_set, sync_lock_release): Delete.
+ (emit_block_move_via_movmem): Use direct_optab_handler for movmem_optab.
+ (emit_block_move_via_setmem): Use direct_optab_handler for setmem_optab.
+ * genopinit.c (optabs): Use set_direct_optab_handler for the new
+ macro optabs.
+ * omp-low.c (expand_omp_atomic_fetch_op): Update the type of
+ the "optab" local variable. Use direct_optab_handler for optab and
+ sync_compare_and_swap_optab.
+ * reload1.c (reload_in_optab, reload_out_optab): Delete.
+ * targhooks.c (default_secondary_reload): Use direct_optab_handler for
+ reload_in_optab and reload_out_optab.
+ * config/alpha/alpha.c (alpha_secondary_reload): Likewise.
+ * config/frv/frv.c (frv_alloc_temp_reg): Likewise.
+ * config/pa/pa.c (pa_secondary_reload): Likewise.
+ * java/builtins.c (compareAndSwapInt_builtin): Use direct_optab_handler
+ for sync_compare_and_swap, renaming it to sync_compare_and_swap_optab.
+ (compareAndSwapLong_builtin, compareAndSwapObject_builtin): Likewise.
+ (VMSupportsCS8_builtin): Likewise.
+
+2010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * optabs.h (optab_handlers): Change type of insn_code to int.
+ (optab_handler, set_optab_handler, convert_optab_handler)
+ (set_convert_optab_handler): Treat the insn_code field as "insn_code -
+ CODE_FOR_nothing".
+ * optabs.c (optab_table, convert_optab_table): Always zero-initialize.
+ (init_insn_codes): Zero both the above arrays.
+ (init_optabs): Never call init_insn_codes first time around.
+
+2010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * optabs.h (optab_handler, convert_optab_handler): Turn into
+ inline functions that return an insn code.
+ (set_optab_handler, set_convert_optab_handler): New functions.
+ * builtins.c: Replace optab_handler(X)->insn_code with
+ optab_handler or set_optab_handler thoughout. Likewise
+ convert_optab_handler(X)->insn_code with convert_optab_handler
+ and set_convert_optab_handler.
+ * expmed.c, expr.c, genopinit.c, ifcvt.c, optabs.c, reload.c,
+ reload1.c, stmt.c, targhooks.c, tree-ssa-loop-prefetch.c,
+ tree-ssa-math-opts.c, tree-vect-data-refs.c, tree-vect-generic.c,
+ tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
+ tree-vect-stmts.c, config/m32c/m32c.c, config/rs6000/rs6000.c,
+ config/spu/spu.c: Likewise.
+
+2010-07-04 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/44531
+ * config.gcc (sh*-*-*): Use regular expressions instead of
+ the 'i' modifier for sed substitutions.
+
+2010-07-04 Jeremie Salvucci <jeremie.salvucci@free.fr>
+
+ * gimple.c (gimple_body): Comments added.
+
+2010-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44809
+ * gimplify.c (gimplify_expr): Properly build a MEM_REF instead
+ of an INDIRECT_REF.
+
+2010-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44479
+ * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Avoid
+ extra SSA name copy statements which preserves points-to
+ information.
+ * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
+ Copy points-to information for all pointers. Properly handle
+ MEM_REFs.
+ (vect_create_data_ref_ptr): Likewise. Avoid extra SSA name
+ copy statements.
+ * Makefile.in (tree-ssa-loop-ivopts.o): Add tree-ssa-propagate.h
+ dependency.
+
+2010-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44785
+ * tree-inline.c (initialize_inlined_parameters): Do not
+ re-use pointer-map slot over remap_type call.
+
+2010-07-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit.
+
+2010-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44656
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Try disambiguation
+ again after value-replacing in the defintions lhs.
+
+2010-07-04 Ira Rosen <irar@il.ibm.com>
+ Revital Eres <eres@il.ibm.com>
+
+ * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST):
+ Document new arguments.
+ * doc/tm.texi: Regenerate.
+ * targhooks.c (default_builtin_vectorization_cost): Add new arguments.
+ Handle unaligned store.
+ * targhooks.h (default_builtin_vectorization_cost): Add new arguments.
+ * target.def (builtin_vectorization_cost): Add new arguments.
+ * target.h (enum vect_cost_for_stmt): Add unaligned_store.
+ * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Take number
+ of iterations of prolog loop directly from LOOP_PEELING_FOR_ALIGNMENT.
+ (vect_vfa_segment_size): Fix indentation.
+ * tree-vectorizer.h (struct _vect_peel_info): New.
+ (struct _vect_peel_extended_info): New.
+ (struct _loop_vec_info): Add new field for peeling hash table and a
+ macro for its access.
+ (VECT_MAX_COST): Define.
+ (vect_get_load_cost): Declare.
+ (vect_get_store_cost, vect_get_known_peeling_cost,
+ vect_get_single_scalar_iteraion_cost): Likewise.
+ (vect_supportable_dr_alignment): Add new argument.
+ * tree-vect-loop.c (new_loop_vec_info): Initialize peeling hash table
+ field.
+ (destroy_loop_vec_info): Free peeling hash table.
+ (vect_analyze_loop_form): Update call to builtin_vectorization_cost.
+ (vect_analyze_loop): Move vect_enhance_data_refs_alignment before
+ vect_analyze_slp. Fix indentation.
+ (vect_get_single_scalar_iteraion_cost): New function.
+ (vect_get_known_peeling_cost): Likewise.
+ (vect_estimate_min_profitable_iters): Rename byte_misalign to npeel.
+ Call vect_get_single_scalar_iteraion_cost instead of cost_for_stmt per
+ statement. Move outside cost calculation inside unknown peeling case.
+ Call vect_get_known_peeling_cost for known amount of peeling.
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Add data
+ reference to the print message of forced alignment.
+ (vect_verify_datarefs_alignment): Update call to
+ vect_supportable_dr_alignment.
+ (vect_get_data_access_cost): New function.
+ (vect_peeling_hash, vect_peeling_hash_eq, vect_peeling_hash_insert,
+ vect_peeling_hash_get_most_frequent, vect_peeling_hash_get_lowest_cost,
+ vect_peeling_hash_choose_best_peeling): Likewise.
+ (vect_enhance_data_refs_alignment): Fix documentation. Use hash table
+ to store all the accesses in the loop and find best possible access to
+ align using peeling for known alignment case. For unknown alignment
+ check if stores are preferred or if peeling is worthy.
+ (vect_find_same_alignment_drs): Analyze pairs of loads too.
+ (vect_supportable_dr_alignment): Add new argument and check aligned
+ accesses according to it.
+ * tree-vect-stmts.c (vect_get_stmt_cost): New function.
+ (cost_for_stmt): Call vect_get_stmt_cost.
+ (vect_model_simple_cost): Likewise.
+ (vect_model_store_cost): Call vect_get_stmt_cost. Call
+ vect_get_store_cost to calculate the cost of the statement.
+ (vect_get_store_cost): New function.
+ (vect_model_load_cost): Call vect_get_stmt_cost. Call
+ vect_get_load_cost to calculate the cost of the statement.
+ (vect_get_load_cost): New function.
+ (vectorizable_store): Update call to vect_supportable_dr_alignment.
+ (vectorizable_load): Likewise.
+ * config/spu/spu.c (spu_builtin_vectorization_cost): Add new arguments.
+ * config/i386/i386.c (ix86_builtin_vectorization_cost): Add new
+ arguments. Handle unaligned store.
+ * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): New.
+ (rs6000_builtin_support_vector_misalignment): Return true for word and
+ double word alignments for VSX.
+ * tree-vect-slp.c (vect_build_slp_tree): Update calls to
+ vect_supportable_dr_alignment and builtin_vectorization_cost.
+
+2010-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/44597
+ * config/pa/predicates.md (prefetch_cc_operand): Remove.
+ (prefetch_nocc_operand): Likewise.
+ * config/pa/pa.md (prefetch): Revise expander to use prefetch_20.
+ (prefetch_20): New insn.
+ (prefetch_cc): Remove.
+ (prefetch_nocc): Likewise.
+
+2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * expr.c (vector_mode_valid_p): Move to c-common.c.
+ * expr.h (vector_mode_valid_p): Do not declare here.
+ * system.h: Poison GCC_EXPR_H in front-ends.
+ * Makefile.in: Update dependencies.
+
+2010-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/44705
+ * config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF.
+
+2010-07-03 Jan Hubicka <jh@suse.cz>
+
+ * timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,
+ TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars.
+ * cfgexpand.c (gimple_expand_cfg): Use new timevars.
+ * var-tracking.c (vt_find_locations, variable_tracking_main_1):
+ Likewise.
+
+ * lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out):
+ Update timevars.V
+ * timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove.
+ (TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN,
+ TV_IPA_LTO_DECL_OUT): New.
+ * lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars.
+
+2010-07-03 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (update_edge_key): Break out from ...
+ update_callers_keys): ... here;
+ (update_callee_keys): Update only the edges from caller to callee.
+ (update_all_calle_keys): Do what update_calle_keys did.
+ (decide_inlining_of_small_functions): Avoid recomputing of all
+ callees when badness increase.
+
+2010-07-03 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/arm.c (arm_attr_length_move_neon): New.
+ * config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
+ * config/arm/neon.md (define_mode_attr V_slen): Remove.
+ (neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon
+ to compute length attribute.
+
+2010-07-03 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
+ as predicate for operand 1 and remove its constraint.
+ * config/arm/predicates.md (vfp_register_operand): New.
+ * config/arm/arm.md (*push_multi): Remove the constraint of operand 1.
+ (*push_fp_multi): Likewise.
+
+2010-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.
+
+2010-07-03 Jan Hubicka <jh@suse.cz>
+
+ * config/i386/i386.c (override_options): Revert accidental commit.
+
+2010-07-02 Le-Chun Wu <lcwu@google.com>
+
+ PR c++/44128
+ * doc/invoke.texi: Update documentation of -Wshadow.
+
+2010-07-02 Daniel Jacobowitz <dan@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode
+ comparisons. Adjust to take both operands.
+ (arm_select_cc_mode): Handle DImode comparisons.
+ (arm_gen_compare_reg): Generate a scratch register for DImode
+ comparisons which require one. Use xor for Thumb equality checks.
+ (arm_const_double_by_immediates): New.
+ (arm_print_operand): Allow 'Q' and 'R' for constants.
+ (get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode.
+ * config/arm/arm.h (CANONICALIZE_COMPARISON): Always use
+ arm_canonicalize_comparison.
+ * config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode.
+ * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
+ prototype.
+ (arm_const_double_by_immediates): Declare.
+ * config/arm/constraints.md (Di): New constraint.
+ * config/arm/predicates.md (arm_immediate_di_operand)
+ (arm_di_operand, cmpdi_operand): New.
+ * config/arm/arm.md (cbranchdi4): Handle non-Cirrus also.
+ (*arm_cmpdi_insn, *arm_cmpdi_unsigned)
+ (*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns.
+ (cstoredi4): Handle non-Cirrus also.
+
+2010-07-02 Julian Brown <julian@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ PR target/43703
+ * config/arm/vec-common.md (add<mode>3, sub<mode>3, smin<mode>3)
+ (smax<mode>3): Disable for NEON float modes when
+ flag_unsafe_math_optimizations is false.
+ * config/arm/neon.md (*add<mode>3_neon, *sub<mode>3_neon)
+ (*mul<mode>3_neon)
+ (mul<mode>3add<mode>_neon, mul<mode>3neg<mode>add<mode>_neon)
+ (reduc_splus_<mode>, reduc_smin_<mode>, reduc_smax_<mode>): Disable
+ for NEON float modes when flag_unsafe_math_optimizations is false.
+ (quad_halves_<code>v4sf): Only enable if
+ flag_unsafe_math_optimizations is true.
+ * doc/invoke.texi (ARM Options): Add note about floating point
+ vectorization requiring -funsafe-math-optimizations.
+
+2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * config/arm/neon.md (UNSPEC_VABA): Delete.
+ (UNSPEC_VABAL): Delete.
+ (UNSPEC_VABS): Delete.
+ (UNSPEC_VMUL_N): Delete.
+ (adddi3_neon): New.
+ (subdi3_neon): New.
+ (mul<mode>3add<mode>_neon): Make the pattern named.
+ (mul<mode>3neg<mode>add<mode>_neon): Likewise.
+ (neon_vadd<mode>): Replace with define_expand, and move the remaining
+ unspec parts...
+ (neon_vadd<mode>_unspec): ...to this.
+ (neon_vmla<mode>, neon_vmla<mode>_unspec): Likewise.
+ (neon_vlms<mode>, neon_vmls<mode>_unspec): Likewise.
+ (neon_vsub<mode>, neon_vsub<mode>_unspec): Likewise.
+ (neon_vaba<mode>): Rewrite in terms of vabd.
+ (neon_vabal<mode>): Rewrite in terms of vabdl.
+ (neon_vabs<mode>): Rewrite without unspec.
+ * config/arm/arm.md (*arm_adddi3): Disable for TARGET_NEON.
+ (*arm_subdi3): Likewise.
+ * config/arm/neon.ml (Vadd, Vsub): Split out 64-bit variants and add
+ No_op attribute to disable assembly output checks.
+ * config/arm/arm_neon.h: Regenerated.
+ * doc/arm-neon-intrinsics.texi: Regenerated.
+
+2010-07-02 Jan Hubicka <jh@suse.cz>
+
+ * ipa-split.c (split_function): For aggregate values, set the return
+ slot optimization bit. When passing DECL_BY_REFERENCE, produce
+ *<retval> = fncall.part ().
+ (execute_split_functions): Do not care about DECL_BY_REFERENCE.
+
+2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/arm/neon.md (UNSPEC_VAND): Delete.
+ (UNSPEC_VBIC): Delete.
+ (UNSPEC_VCLZ): Delete.
+ (UNSPEC_VCNT): Delete.
+ (UNSPEC_VEOR): Delete.
+ (UNSPEC_VORN): Delete.
+ (UNSPEC_VORR): Delete.
+ (iordi3_neon): Rewrite RTL without unspec. Add alternatives to handle
+ core registers too.
+ (anddi3_neon): Likewise.
+ (orndi3_neon): Likewise.
+ (bicdi3_neon): Likewise.
+ (xordi3_neon): Likewise.
+ (neon_vclz<mode>): Rewrite as define_expand and clz<mode>2 to get
+ rid of unspec and handle unused operand.
+ (neon_vcnt<mode>): Similarly, with popcount<mode>2.
+ * config/arm/predicates.md (imm_for_neon_logic_operand):
+ Require TARGET_NEON.
+ (imm_for_neon_inv_logic_operand): Likewise.
+ * config/arm/arm.md (define_split for logical_binary_operator):
+ Disable for NEON registers.
+ (anddi3): Add new define_expand, and rename the insn. Disable
+ this insn for NEON, where anddi3_neon now applies.
+ (*anddi_notdi_di): Disable for TARGET_NEON, where bicdi3_neon applies.
+ (iordi3): As for anddi3.
+ (xordi3): Likewise.
+ * config/arm/neon.ml (Vand): Split DImode variants and mark them
+ as No_op to disable testing for exact instruction match.
+ (Vorr): Likewise.
+ (Veor): Likewise.
+ (Vbic): Likewise.
+ (Vorn): Likewise.
+ * config/arm/arm_neon.h: Regenerated.
+ * doc/arm-neon-intrinsics.texi: Regenerated.
+
+2010-07-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.h (emit_stack_probe): Declare.
+ * explow.c (emit_stack_probe): Make global.
+ (anti_adjust_stack_and_probe): Fix comments.
+ * config/sparc/linux.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
+ * config/sparc/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/sparc/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/sparc/sparc.c: Include except.h.
+ (sparc_emit_probe_stack_range): New function.
+ (output_probe_stack_range): Likewise.
+ (sparc_expand_prologue): Invoke sparc_emit_probe_stack_range if static
+ built-in stack checking is enabled.
+ * config/sparc/sparc-protos.h (output_probe_stack_range): Declare.
+ * config/sparc/sparc.md (UNSPECV_PROBE_STACK_RANGE): New constant.
+ (probe_stack_range): New insn.
+
+2010-07-02 Richard Guenther <rguenther@suse.de>
+
+ PR target/43958
+ * config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic
+ for argument alignment.
+
+2010-07-02 Jan Hubicka <jh@suse.cz>
+
+ * ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS
+ walk backwards from entry_bb to check only those basic block of header
+ that might lead to execution of split part.
+ (consider_split) ... here.
+ (find_return_bb): Allow assignment in return BB.
+ (find_retval): New.
+ (split_function): Fix name of cloned function; take care of updating
+ return value in return_bb containing move.
+
+2010-07-02 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR target/44771
+ * config/m68k/m68k.c (m68k_expand_prologue): Remove set but not
+ used variable insn.
+
+2010-07-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * implicit-zee.c (combine_reaching_defs): Fix long lines.
+ (is_set_with_extension_DI): Delete.
+ (struct zero_extend_info): New structure.
+ (add_removable_zero_extend): New function.
+ (find_removable_zero_extends): Use note_stores to find SETs.
+ (find_and_remove_ze): Fix long line, remove superfluous parentheses.
+
+2010-07-02 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-ssa-loop-prefetch.c (compute_miss_rate): Rename to
+ is_miss_rate_acceptable. Pull total_positions computation
+ out of the loops. Early return if miss_positions exceeds
+ the acceptable threshold.
+ * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Call
+ is_miss_rate_acceptable after renaming of compute_miss_rate.
+
+2010-07-02 Changpeng Fang <changpeng.fang@amd.com>
+
+ PR middle-end/44576
+ * tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out
+ of 1000) for miss rate if the address diference is greater than or
+ equal to the cache line size (the two reference will never hit the
+ same cache line).
+
+2010-07-02 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/42835
+ * config/arm/arm-modes.def (CC_NOTB): New mode.
+ * config/arm/arm.c (get_arm_condition_code): Handle it.
+ * config/arm/thumb2.md (thumb2_compare_scc): Delete pattern.
+ * config/arm/arm.md (subsi3_compare0_c): New pattern.
+ (compare_scc): Now a define_and_split. Add a number of extra
+ splitters before it.
+
+ PR target/42172
+ * config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND
+ and ZERO_EXTEND.
+ (arm_rtx_costs_1): Likewise.
+ (arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes.
+ * config/arm/arm.md (is_arch6): New attribute.
+ (zero_extendhisi2, zero_extendqisi2, extendhisi2,
+ extendqisi2): Tighten the code somewhat, avoiding invalid
+ RTL to occur in the expander patterns.
+ (thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6.
+ (thumb1_zero_extendhisi2_v6): Delete.
+ (thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6.
+ (thumb1_extendhisi2_v6): Delete.
+ (thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6.
+ (thumb1_extendqisi2_v6): Delete.
+ (zero_extendhisi2 for register input splitter): New.
+ (zero_extendqisi2 for register input splitter): New.
+ (thumb1_extendhisi2 for register input splitter): New.
+ (extendhisi2 for register input splitter): New.
+ (extendqisi2 for register input splitter): New.
+ (TARGET_THUMB1 extendqisi2 for memory input splitter): New.
+ (arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1,
+ and add support for a register alternative requiring a split.
+ (thumb1_zero_extendqisi2): Likewise.
+ (arm_zero_extendqisi2): Likewise.
+ (arm_extendhisi2): Likewise.
+ (arm_extendqisi2): Likewise.
+
+2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/arm/arm.c (neon_vdup_constant): Expand into canonical RTL
+ instead of an unspec.
+ (neon_expand_vector_init): Likewise.
+ * config/arm/neon.md (UNSPEC_VCOMBINE): Delete.
+ (UNSPEC_VDUP_LANE): Delete.
+ (UNSPEC VDUP_N): Delete.
+ (UNSPEC_VGET_HIGH): Delete.
+ (UNSPEC_VGET_LANE): Delete.
+ (UNSPEC_VGET_LOW): Delete.
+ (UNSPEC_VMVN): Delete.
+ (UNSPEC_VSET_LANE): Delete.
+ (V_double_vector_mode): New.
+ (vec_set<mode>_internal): Make code emitted match that for the
+ corresponding intrinsics.
+ (vec_setv2di_internal): Likewise.
+ (neon_vget_lanedi): Rewrite to expand into emit_move_insn.
+ (neon_vget_lanev2di): Rewrite to expand into vec_extractv2di.
+ (neon_vset_lane<mode>): Combine double and quad patterns and
+ expand into vec_set<mode>_internal instead of UNSPEC_VSET_LANE.
+ (neon_vset_lanedi): Rewrite to expand into emit_move_insn.
+ (neon_vdup_n<mode>): Rewrite RTL without unspec.
+ (neon_vdup_ndi): Rewrite as define_expand and use emit_move_insn.
+ (neon_vdup_nv2di): Rewrite RTL without unspec and merge with
+ with neon_vdup_lanev2di, adjusting the pattern from the latter
+ to be predicable for consistency.
+ (neon_vdup_lane<mode>_internal): New.
+ (neon_vdup_lane<mode>): Turn into a define_expand and rewrite
+ to avoid using an unspec.
+ (neon_vdup_lanedi): Rewrite RTL pattern to avoid unspec.
+ (neon_vdup_lanev2di): Turn into a define_expand.
+ (neon_vcombine): Rewrite pattern to eliminate UNPSEC_VCOMBINE.
+ (neon_vget_high<mode>): Replace with....
+ (neon_vget_highv16qi): New pattern using canonical RTL.
+ (neon_vget_highv8hi): Likewise.
+ (neon_vget_highv4si): Likewise.
+ (neon_vget_highv4sf): Likewise.
+ (neon_vget_highv2di): Likewise.
+ (neon_vget_low<mode>): Replace with....
+ (neon_vget_lowv16qi): New pattern using canonical RTL.
+ (neon_vget_lowv8hi): Likewise.
+ (neon_vget_lowv4si): Likewise.
+ (neon_vget_lowv4sf): Likewise.
+ (neon_vget_lowv2di): Likewise.
+
+ * config/arm/neon.ml (Vget_lane): Add No_op attribute to suppress
+ test for this emitting vmov.
+ (Vset_lane): Likewise.
+ (Vdup_n): Likewise.
+ (Vmov_n): Likewise.
+
+ * doc/arm-neon-intrinsics.texi: Regenerated.
+
+2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/arm/neon.md (vec_extractv2di): Correct error in register
+ numbering to reconcile with neon_vget_lanev2di.
+
+2010-07-02 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (pt_solution_set_var): New function.
+ * tree-ssa-alias.h (pt_solution_set_var): Declare.
+ * tree-ssa-loop-ivopts.c (copy_ref_info): Also copy or create
+ points-to information.
+
+2010-07-02 Christian Borntraeger <borntraeger@de.ibm.com>
+
+ * config/s390/s390.c (override_options): Adopt prefetching
+ at -O3 to handle flag_prefetch_loop_arrays as a tristate.
+
+2010-07-02 Jan Hubicka <jh@suse.cz>
+
+ * df-problems.c (df_kill_notes): Do not collect dead notes.
+ (df_set_note): Just call add_reg_note.
+ (df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
+ df_create_unused_note): Do not deal with lists of old notes.
+ (df_note_bb_compute): Likewise.
+
+2010-07-02 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (find_func_aliases): Handle
+ pointer alignment via BIT_AND_EXPR.
+ * tree-vrp.c (extract_range_from_binary_expr): Likewise.
+
+2010-07-02 Richard Guenther <rguenther@suse.de>
+
+ * tree-data-ref.c (initialize_data_dependence_relation): Handle
+ mismatching number of dimensions properly.
+
+2010-07-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ PR target/44707
+ * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Recognize
+ (lo_sum (high ...) ...) patterns generated by earlier passes.
+
+2010-07-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Prerequisites): Document Perl requirement on
+ Solaris 2.
+ (Specific, *-*-solaris2*): Document GNU c++filt requirement.
+
+2010-07-02 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44777
+ * tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.
+
+2010-07-02 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44706
+ * predict.c (predict_paths_for_bb): Handle case when control dependence
+ BB has only abnormal edges.
+
+2010-07-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44748
+ * tree-ssa-ccp.c (fold_const_aggregate_ref): Properly handle
+ the embedded conversion in MEM_REFs.
+
+2010-07-01 López-Ibáñez <manu@gcc.gnu.org>
+
+ * reload.c: Include toplev.h.
+ * recog.c: Likewise.
+ * Makefile.in: Adjust dependencies.
+
+2010-07-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44694
+ * dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx
+ or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value.
+
+2010-07-01 Richard Guenther <rguenther@suse.de>
+
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned
+ types for offsets.
+
+2010-07-01 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR target/44732
+ * config/ia64/ia64.c (ia64_register_move_cost): Remove stray '{'.
+ Fix argument types.
+
+2010-07-01 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/44727
+ * config/i386/i386.md (peephole2 for arithmetic ops with memory):
+ Make sure operand 0 dies.
+
+2010-07-01 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42834
+ PR middle-end/44468
+ * doc/gimple.texi (is_gimple_mem_ref_addr): Document.
+ * doc/generic.texi (References to storage): Document MEM_REF.
+ * tree-pretty-print.c (dump_generic_node): Handle MEM_REF.
+ (print_call_name): Likewise.
+ * tree.c (recompute_tree_invariant_for_addr_expr): Handle MEM_REF.
+ (build_simple_mem_ref_loc): New function.
+ (mem_ref_offset): Likewise.
+ * tree.h (build_simple_mem_ref_loc): Declare.
+ (build_simple_mem_ref): Define.
+ (mem_ref_offset): Declare.
+ * fold-const.c: Include tree-flow.h.
+ (operand_equal_p): Handle MEM_REF.
+ (build_fold_addr_expr_with_type_loc): Likewise.
+ (fold_comparison): Likewise.
+ (fold_unary_loc): Fold
+ VIEW_CONVERT_EXPR <T1, MEM_REF <T2, ...>> to MEM_REF <T1, ...>.
+ (fold_binary_loc): Fold MEM[&MEM[p, CST1], CST2] to MEM[p, CST1 + CST2],
+ fold MEM[&a.b, CST2] to MEM[&a, offsetof (a, b) + CST2].
+ * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle MEM_REF.
+ (ptr_deref_may_alias_ref_p_1): Likewise.
+ (ao_ref_base_alias_set): Properly differentiate base object for
+ offset and TBAA.
+ (ao_ref_init_from_ptr_and_size): Use MEM_REF.
+ (indirect_ref_may_alias_decl_p): Handle MEM_REFs properly.
+ (indirect_refs_may_alias_p): Likewise.
+ (refs_may_alias_p_1): Likewise. Remove pointer SSA name def
+ chasing code.
+ (ref_maybe_used_by_call_p_1): Handle MEM_REF.
+ (call_may_clobber_ref_p_1): Likewise.
+ * dwarf2out.c (loc_list_from_tree): Handle MEM_REF.
+ * expr.c (expand_assignment): Handle MEM_REF.
+ (store_expr): Handle MEM_REFs from STRING_CSTs.
+ (store_field): If expanding a MEM_REF of a non-addressable
+ decl use bitfield operations.
+ (get_inner_reference): Handle MEM_REF.
+ (expand_expr_addr_expr_1): Likewise.
+ (expand_expr_real_1): Likewise.
+ * tree-eh.c (tree_could_trap_p): Handle MEM_REF.
+ * alias.c (ao_ref_from_mem): Handle MEM_REF.
+ (get_alias_set): Likewise. Properly handle VIEW_CONVERT_EXPRs.
+ * tree-data-ref.c (dr_analyze_innermost): Handle MEM_REF.
+ (dr_analyze_indices): Likewise.
+ (dr_analyze_alias): Likewise.
+ (object_address_invariant_in_loop_p): Likewise.
+ * gimplify.c (mark_addressable): Handle MEM_REF.
+ (gimplify_cond_expr): Build MEM_REFs.
+ (gimplify_modify_expr_to_memcpy): Likewise.
+ (gimplify_init_ctor_preeval_1): Handle MEM_REF.
+ (gimple_fold_indirect_ref): Adjust.
+ (gimplify_expr): Handle MEM_REF. Gimplify INDIRECT_REF to MEM_REF.
+ * tree.def (MEM_REF): New tree code.
+ * tree-dfa.c: Include toplev.h.
+ (get_ref_base_and_extent): Handle MEM_REF.
+ (get_addr_base_and_unit_offset): New function.
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle MEM_REF.
+ * gimple-fold.c (may_propagate_address_into_dereference): Handle
+ MEM_REF.
+ (maybe_fold_offset_to_array_ref): Allow possibly out-of bounds
+ accesses if the array has just one dimension. Remove always true
+ parameter. Do not require type compatibility here.
+ (maybe_fold_offset_to_component_ref): Remove.
+ (maybe_fold_stmt_indirect): Remove.
+ (maybe_fold_reference): Remove INDIRECT_REF handling.
+ Fold back to non-MEM_REF.
+ (maybe_fold_offset_to_address): Simplify. Deal with type
+ mismatches here.
+ (maybe_fold_reference): Likewise.
+ (maybe_fold_stmt_addition): Likewise. Also handle
+ &ARRAY + I in addition to &ARRAY[0] + I.
+ (fold_gimple_assign): Handle ADDR_EXPR of MEM_REFs.
+ (gimple_get_relevant_ref_binfo): Handle MEM_REF.
+ * cfgexpand.c (expand_debug_expr): Handle MEM_REF.
+ * tree-ssa.c (useless_type_conversion_p): Make most pointer
+ conversions useless.
+ (warn_uninitialized_var): Handle MEM_REF.
+ (maybe_rewrite_mem_ref_base): New function.
+ (execute_update_addresses_taken): Implement re-writing of MEM_REFs
+ to SSA form.
+ * tree-inline.c (remap_gimple_op_r): Handle MEM_REF, remove
+ INDIRECT_REF handling.
+ (copy_tree_body_r): Handle MEM_REF.
+ * gimple.c (is_gimple_addressable): Adjust.
+ (is_gimple_address): Likewise.
+ (is_gimple_invariant_address): ADDR_EXPRs of MEM_REFs with
+ invariant base are invariant.
+ (is_gimple_min_lval): Adjust.
+ (is_gimple_mem_ref_addr): New function.
+ (get_base_address): Handle MEM_REF.
+ (count_ptr_derefs): Likewise.
+ (get_base_loadstore): Likewise.
+ * gimple.h (is_gimple_mem_ref_addr): Declare.
+ (gimple_call_fndecl): Handle invariant MEM_REF addresses.
+ * tree-cfg.c (verify_address): New function, split out from ...
+ (verify_expr): ... here. Use for verifying ADDR_EXPRs and
+ the address operand of MEM_REFs. Verify MEM_REFs. Reject
+ INDIRECT_REFs.
+ (verify_types_in_gimple_min_lval): Handle MEM_REF. Disallow
+ INDIRECT_REF. Allow conversions.
+ (verify_types_in_gimple_reference): Verify VIEW_CONVERT_EXPR of
+ a register does not change its size.
+ (verify_types_in_gimple_reference): Verify MEM_REF.
+ (verify_gimple_assign_single): Disallow INDIRECT_REF.
+ Handle MEM_REF.
+ * tree-ssa-operands.c (opf_non_addressable, opf_not_non_addressable):
+ New.
+ (mark_address_taken): Handle MEM_REF.
+ (get_indirect_ref_operands): Pass through opf_not_non_addressable.
+ (get_asm_expr_operands): Pass opf_not_non_addressable.
+ (get_expr_operands): Handle opf_[not_]non_addressable.
+ Handle MEM_REF. Remove INDIRECT_REF handling.
+ * tree-vrp.c (check_array_ref): Handle MEM_REF.
+ (search_for_addr_array): Likewise.
+ (check_array_bounds): Likewise.
+ (vrp_stmt_computes_nonzero): Adjust for MEM_REF.
+ * tree-ssa-loop-im.c (for_each_index): Handle MEM_REF.
+ (ref_always_accessed_p): Likewise.
+ (gen_lsm_tmp_name): Likewise. Handle ADDR_EXPR.
+ * tree-complex.c (extract_component): Do not handle INDIRECT_REF.
+ Handle MEM_REF.
+ * cgraphbuild.c (mark_load): Properly check for NULL result
+ from get_base_address.
+ (mark_store): Likewise.
+ * tree-ssa-loop-niter.c (array_at_struct_end_p): Handle MEM_REF.
+ * tree-loop-distribution.c (generate_builtin): Exchange INDIRECT_REF
+ handling for MEM_REF.
+ * tree-scalar-evolution.c (follow_ssa_edge_expr): Handle
+ &MEM[ptr + CST] similar to POINTER_PLUS_EXPR.
+ * builtins.c (stabilize_va_list_loc): Use the function ABI
+ valist type if we couldn't canonicalize the argument type.
+ Always dereference with the canonical va-list type.
+ (maybe_emit_free_warning): Handle MEM_REF.
+ (fold_builtin_memory_op): Simplify and handle MEM_REFs in folding
+ memmove to memcpy.
+ * builtins.c (fold_builtin_memory_op): Use ref-all types
+ for all memcpy foldings.
+ * omp-low.c (build_receiver_ref): Adjust for MEM_REF.
+ (build_outer_var_ref): Likewise.
+ (scan_omp_1_op): Likewise.
+ (lower_rec_input_clauses): Likewise.
+ (lower_lastprivate_clauses): Likewise.
+ (lower_reduction_clauses): Likewise.
+ (lower_copyprivate_clauses): Likewise.
+ (expand_omp_atomic_pipeline): Likewise.
+ (expand_omp_atomic_mutex): Likewise.
+ (create_task_copyfn): Likewise.
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MEM_REF.
+ Remove old union trick. Initialize constant offsets.
+ (ao_ref_init_from_vn_reference): Likewise. Do not handle
+ INDIRECT_REF. Init base_alias_set properly.
+ (vn_reference_lookup_3): Replace INDIRECT_REF handling with MEM_REF.
+ (vn_reference_fold_indirect): Adjust for MEM_REFs.
+ (valueize_refs): Fold MEM_REFs. Re-evaluate constant offset
+ for ARRAY_REFs.
+ (may_insert): Remove.
+ (visit_reference_op_load): Do not test may_insert.
+ (run_scc_vn): Remove parameter, do not fiddle with may_insert.
+ * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
+ a field to store the constant offset this op applies.
+ (run_scc_vn): Adjust prototype.
+ * cgraphunit.c (thunk_adjust): Adjust for MEM_REF.
+ * tree-ssa-ccp.c (ccp_fold): Replace INDIRECT_REF folding with
+ MEM_REF. Propagate &foo + CST as &MEM[&foo, CST]. Do not
+ bother about volatile qualifiers on pointers.
+ (fold_const_aggregate_ref): Handle MEM_REF, do not handle INDIRECT_REF.
+ * tree-ssa-loop-ivopts.c
+ * tree-ssa-loop-ivopts.c (determine_base_object): Adjust for MEM_REF.
+ (strip_offset_1): Likewise.
+ (find_interesting_uses_address): Replace INDIRECT_REF handling with
+ MEM_REF handling.
+ (get_computation_cost_at): Likewise.
+ * ipa-pure-const.c (check_op): Handle MEM_REF.
+ * tree-stdarg.c (check_all_va_list_escapes): Adjust for MEM_REF.
+ * tree-ssa-sink.c (is_hidden_global_store): Handle MEM_REF
+ and constants.
+ * ipa-inline.c (likely_eliminated_by_inlining_p): Handle MEM_REF.
+ * tree-parloops.c (take_address_of): Adjust for MEM_REF.
+ (eliminate_local_variables_1): Likewise.
+ (create_call_for_reduction_1): Likewise.
+ (create_loads_for_reductions): Likewise.
+ (create_loads_and_stores_for_name): Likewise.
+ * matrix-reorg.c (may_flatten_matrices_1): Sanitize.
+ (ssa_accessed_in_tree): Handle MEM_REF.
+ (ssa_accessed_in_assign_rhs): Likewise.
+ (update_type_size): Likewise.
+ (analyze_accesses_for_call_stmt): Likewise.
+ (analyze_accesses_for_assign_stmt): Likewise.
+ (transform_access_sites): Likewise.
+ (transform_allocation_sites): Likewise.
+ * tree-affine.c (tree_to_aff_combination): Handle MEM_REF.
+ * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
+ not handle INDIRECT_REF.
+ * tree-ssa-phiopt.c (add_or_mark_expr): Handle MEM_REF.
+ (cond_store_replacement): Likewise.
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
+ MEM_REF, no not handle INDIRECT_REFs.
+ (insert_into_preds_of_block): Properly initialize avail.
+ (phi_translate_1): Fold MEM_REFs. Re-evaluate constant offset
+ for ARRAY_REFs. Properly handle reference lookups that
+ require a bit re-interpretation.
+ (can_PRE_operation): Do not handle INDIRECT_REF. Handle MEM_REF.
+ * tree-sra.c (build_access_from_expr_1): Handle MEM_REF.
+ (build_ref_for_offset_1): Remove.
+ (build_ref_for_offset): Build MEM_REFs.
+ (gate_intra_sra): Disable for now.
+ (sra_ipa_modify_expr): Handle MEM_REF.
+ (ipa_early_sra_gate): Disable for now.
+ * tree-sra.c (create_access): Swap INDIRECT_REF handling for
+ MEM_REF handling.
+ (disqualify_base_of_expr): Likewise.
+ (ptr_parm_has_direct_uses): Swap INDIRECT_REF handling for
+ MEM_REF handling.
+ (sra_ipa_modify_expr): Remove INDIRECT_REF handling.
+ Use mem_ref_offset. Remove bogus folding.
+ (build_access_from_expr_1): Properly handle MEM_REF for non IPA-SRA.
+ (make_fancy_name_1): Add support for MEM_REF.
+ * tree-predcom.c (ref_at_iteration): Handle MEM_REFs.
+ * tree-mudflap.c (mf_xform_derefs_1): Adjust for MEM_REF.
+ * ipa-prop.c (compute_complex_assign_jump_func): Handle MEM_REF.
+ (compute_complex_ancestor_jump_func): Likewise.
+ (ipa_analyze_virtual_call_uses): Likewise.
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Replace
+ INDIRECT_REF folding with more generalized MEM_REF folding.
+ (tree_ssa_forward_propagate_single_use_vars): Adjust accordingly.
+ (forward_propagate_addr_into_variable_array_index): Also handle
+ &ARRAY + I in addition to &ARRAY[0] + I.
+ * tree-ssa-dce.c (ref_may_be_aliased): Handle MEM_REF.
+ * tree-ssa-ter.c (find_replaceable_in_bb): Avoid TER if that
+ creates assignments with overlap.
+ * tree-nested.c (get_static_chain): Adjust for MEM_REF.
+ (get_frame_field): Likewise.
+ (get_nonlocal_debug_decl): Likewise.
+ (convert_nonlocal_reference_op): Likewise.
+ (struct nesting_info): Add mem_refs pointer-set.
+ (create_nesting_tree): Allocate it.
+ (convert_local_reference_op): Insert to be folded mem-refs.
+ (fold_mem_refs): New function.
+ (finalize_nesting_tree_1): Perform defered folding of mem-refs
+ (free_nesting_tree): Free the pointer-set.
+ * tree-vect-stmts.c (vectorizable_store): Adjust for MEM_REF.
+ (vectorizable_load): Likewise.
+ * tree-ssa-phiprop.c (phiprop_insert_phi): Adjust for MEM_REF.
+ (propagate_with_phi): Likewise.
+ * tree-object-size.c (addr_object_size): Handle MEM_REFs
+ instead of INDIRECT_REFs.
+ (compute_object_offset): Handle MEM_REF.
+ (plus_stmt_object_size): Handle MEM_REF.
+ (collect_object_sizes_for): Dispatch to plus_stmt_object_size
+ for &MEM_REF.
+ * tree-flow.h (get_addr_base_and_unit_offset): Declare.
+ (symbol_marked_for_renaming): Likewise.
+ * Makefile.in (tree-dfa.o): Add $(TOPLEV_H).
+ (fold-const.o): Add $(TREE_FLOW_H).
+ * tree-ssa-structalias.c (get_constraint_for_1): Handle MEM_REF.
+ (find_func_clobbers): Likewise.
+ * ipa-struct-reorg.c (decompose_indirect_ref_acc): Handle MEM_REF.
+ (decompose_access): Likewise.
+ (replace_field_acc): Likewise.
+ (replace_field_access_stmt): Likewise.
+ (insert_new_var_in_stmt): Likewise.
+ (get_stmt_accesses): Likewise.
+ (reorg_structs_drive): Disable.
+ * config/i386/i386.c (ix86_va_start): Adjust for MEM_REF.
+ (ix86_canonical_va_list_type): Likewise.
+
+2010-06-30 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR other/44566
+ * coretypes.h [!USED_FOR_TARGET] (reg_class_t): Define.
+ * target.def (struct gcc_target): Replace enum reg_class with
+ reg_class_t in hook argument / return types.
+ * doc/tm.texi.in (TARGET_SECONDARY_RELOAD): Likewise.
+ (TARGET_IRA_COVER_CLASSES, TARGET_MEMORY_MOVE_COST): Likewise.
+ (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
+ * targhooks.h (default_branch_target_register_class): Likewise.
+ (default_ira_cover_classes, default_secondary_reload): Likewise.
+ (default_memory_move_cost, default_register_move_cost): Likewise.
+ * targhooks.c (default_branch_target_register_class): Likewise.
+ (default_ira_cover_classes, default_secondary_reload): Likewise.
+ (default_memory_move_cost, default_register_move_cost): Likewise.
+ * reload.c (push_secondary_reload, secondary_reload_class): Likewise.
+ * bt-load.c (branch_target_load_optimize): Likewise.
+ * ira.c (setup_cover_and_important_classes): Likewise.
+ * ira-costs.c (copy_cost): Likewise.
+ * reload1.c (emit_input_reload_insns): Likewise.
+ * config/alpha/alpha.c (alpha_secondary_reload): Likewise.
+ * config/frv/frv.c (frv_secondary_reload): Likewise.
+ * config/s390/s390.c (s390_secondary_reload): Likewise.
+ * config/i386/i386.c (i386_ira_cover_classes): Likewise.
+ (ix86_secondary_reload, ix86_memory_move_cost): Likewise.
+ (ix86_register_move_cost): Likewise.
+ * config/sh/sh-protos.h (sh_secondary_reload): Likewise.
+ * config/sh/sh.c (sh_target_reg_class, sh_secondary_reload): Likewise.
+ * config/xtensa/xtensa.c (xtensa_secondary_reload): Likewise.
+ * config/xtensa/xtensa-protos.h (xtensa_secondary_reload): Likewise.
+ * config/rs6000/rs6000.c (rs6000_secondary_reload): Likewise.
+ (rs6000_ira_cover_classes): Likewise.
+ * config/picochip/picochip.c (picochip_secondary_reload): Likewise.
+ * config/picochip/picochip-protos.h (picochip_secondary_reload):
+ Likewise.
+ * config/pa/pa.c (pa_secondary_reload): Likewise.
+ * config/mips/mips.c (mips_ira_cover_classes): Likewise.
+ * config/bfin/bfin.c (bfin_secondary_reload): Likewise.
+ * config/ia64/ia64.c (ia64_register_move_cost): Likewise.
+ * doc/tm.texi: Regenerate.
+
+2010-06-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR bootstrrap/44726
+ * graphite-sese-to-poly.c (build_poly_dr): Avoid uninitialized
+ use.
+ (build_alias_set_optimal_p): Likewise.
+ (build_base_obj_set_for_drs): Likewise.
+
+2010-06-30 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * target.def: Remove comment about licensing problems of function
+ declarations.
+
+ * target.def (declare_constant_name): Change exp to expr. Use DEFHOOK.
+ * doc/tm.texi.in (TARGET_ASM_DECLARE_CONSTANT_NAME): Use @hook.
+ * doc/tm.texi: Regenerate.
+
+ * target.def (builtin_reciprocal): Change tm_fn to md_fn. Use DEFHOOK.
+ * doc/tm.texi.in (TARGET_BUILTIN_RECIPROCAL): Use @hook.
+
+ * target.def (enum_va_list_p): Use DEFHOOK.
+ * doc/tm.texi.in (TARGET_ENUM_VA_LIST_P): Use @hook.
+ Rename ptype to ptree.
+ * doc/tm.texi: Regenerate.
+
+ * target.def (fold_builtin): Rename nargs to n_args. Use DEFHOOK.
+ * doc/tm.texi.in (TARGET_FOLD_BUILTIN): Use @hook.
+ * doc/tm.texi: Regenerate.
+
+ * target.def (memory_move_cost): Use DEFHOOK.
+ * doc/tm.texi.in (TARGET_MEMORY_MOVE_COST): Use @hook.
+ Rename regclass AKA class to rclass.
+ * doc/tm.texi: Regenerate.
+
+ * target.def (pragma_parse): Use DEFHOOK.
+ * doc/tm.texi.in (TARGET_OPTION_PRAGMA_PARSE): Use @hook.
+ s/TARGET_VALID_OPTION_ATTRIBUTE_P/TARGET_OPTION_VALID_ATRIBUTE_P/ .
+ * doc/tm.texi: Regenerate.
+
+ * target.def (pass_by_reference): Use DEFHOOK.
+ * doc/tm.texi.in (TARGET_PASS_BY_REFERENCE): Use @hook.
+ * doc/tm.texi: Regenerate.
+
+ * target.def (resolve_overloaded_builtin): Rename params to arglist.
+ Use DEFHOOK.
+ * doc/tm.texi.in (TARGET_RESOLVE_OVERLOADED_BUILTIN): Use @hook.
+ * doc/tm.texi: Regenerate.
+
+ * target.def (return_pops_args): Use DEFHOOK.
+ * doc/tm.texi.in (TARGET_RETURN_POPS_ARGS): Use @hook.
+ Rename stack-size to size.
+ * doc/tm.texi: Regenerate.
+
+ * target.def (dfa_new_cycle): Use DEFHOOK. Rename dump_file to dump,
+ last-sched_cycle to last_clock, cur_cycle to clock.
+ * doc/tm.texi.in: Use @hook.
+ * doc/tm.texi: Regenerate.
+
+ * target.def (print_operand, print_operand_address): Update comment.
+ (print_operand_punct_valid_p): Likewise.
+
+2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations
+ to rtl.h.
+ (error_for_asm, warning_for_asm): Move declarations to rtl-error.h.
+ * rtl.h (_fatal_insn_not_found, _fatal_insn): Move declarations here.
+ * rtl-error.h: New.
+ * regrename.c: Do not include toplev.h. Include rtl-error.h.
+ * rtl-error.c: Likewise.
+ * reload.c: Likewise.
+ * recog.c: Likewise.
+ * sel-sched.c: Likewise.
+ * function.c: Likewise.
+ * reg-stack.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * reload1.c: Likewise.
+ * final.c: Include rtl-error.
+ * Makefile.in: Adjust dependencies.
+
+2010-06-30 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/PR44706
+ * ipa-split (split_function): Refine conditions when to use DECL_RESULT
+ to return the value.
+
+2010-06-30 Michael Matz <matz@suse.de>
+
+ PR bootstrap/44699
+ * tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names.
+ * gimple-fold.c (gimplify_and_update_call_from_tree): If LHS is
+ a gimple reg, attach the original VDEF to the last store in the
+ sequence.
+
+2010-06-30 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR other/44034
+ * config/darwin.c (darwin_override_options): Use renamed
+ targetm.asm_out.emit_unwind_label.
+
+2010-06-30 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR tree-optimization/39799
+ * tree-inline.c (remap_ssa_name): Initialize variable only if
+ SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+
+2010-06-30 Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-parser.c (c_parser_omp_for_loop): Use a VEC for for_block.
+
+2010-06-30 Richard Guenther <rguenther@suse.de>
+
+ PR target/44722
+ * config/i386/i386.md (peephole2 for fix:SSEMODEI24): Guard
+ against oscillation with reverse peephole2.
+
+2010-06-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44721
+ * config/i386/i386.md (peephole2 for arithmetic ops with memory):
+ Fix last commit.
+
+2010-06-30 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx-modes.def: New file.
+ * config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17.
+ (CC_REGNUM): Define.
+ (FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc
+ register.
+ (CC_NO_CARRY, NOTICE_UPDATE_CC): Delete.
+ (SELECT_CC_MODE): Define.
+ * config/rx/rx.md (CC_REG): Define. Update all patterns to use
+ (reg:CC CC_REG) instead of (cc0).
+ (attr "cc"): Delete.
+ (cbranchsi4): Do not split compare and branch here. Instead move
+ it to...
+ (cbranchsi4_<code>): ... here. New patterns.
+ (cmpsi): Call rx-compare_redundant to find out if it is necessary
+ to emit the compare instruction.
+ * config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of
+ cc_status flags.
+ (rx_get_stack_layout): Iterate up to before CC_REGNUM not
+ FIRST_PSEUDO_REGNUM.
+ (rx_expand_prologue, rx_expand_epilogue): Likewise.
+ (rx_notice_update_cc): Delete.
+ (rx_cc_modes_compatible): New function.
+ (flags_needed_for_conditional): New function.
+ (flags_from_mode): New function.
+ (rx_compare_redundant): New function - scans backwards through
+ insn list to find out if condition flags are already set correctly.
+ (TARGET_CC_MODES_COMPATIBLE): Define.
+ * config/rx/rx-protos.h (rx_compare_redundant): Prototype.
+
+ * config/rx/rx.h (BRANCH_COST): Define.
+ (REGISTER_MOVE_COST): Define.
+ * config/rx/predicates (rx_source_operand): Allow all constant types.
+ * config/rx/rx.md (addsi3): Add alternative for swapped operands.
+ (tstsi4): New pattern.
+ * config/rx/rx.c (rx_memory_move_cost): Define.
+ (TARGET_MEMORY_MOVE_COST): Define.
+
+2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * tree.h (block_may_fallthru): Declare here.
+ * tree-flow.h (block_may_fallthru): Do not declare here.
+ * c-typeck.c: Do not include tree-flow.h. Include gimple.h and
+ bitmap.h
+ * Makefile.in (c-typeck.o): Update dependencies.
+
+2010-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44694
+ * cselib.h (cselib_preserve_cfa_base_value): Add regno argument.
+ * cselib.c (cfa_base_preserved_regno): New static variable.
+ (cselib_reset_table): Don't reset cfa_base_preserved_regno instead
+ of REGNO (cfa_base_preserved_val->locs->loc).
+ (cselib_preserve_cfa_base_value): Add regno argument, set
+ cfa_base_preserved_regno to it.
+ (cselib_invalidate_regno): Allow removal of registers other than
+ cfa_base_preserved_regno from cfa_base_preserved_val.
+ (cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM.
+ * var-tracking.c (adjust_mems): Replace sp or hfp even outside
+ of MEM addresses, if not on LHS.
+ (reverse_op): Don't add reverse ops for cfa_base_rtx.
+ (vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller.
+
+2010-06-30 Bernd Schmidt <bernds@codesourcery.com>
+
+ * recog.c (peep2_do_rebuild_jump_labels, peep2_do_cleanup_cfg): New
+ static variables.
+ (peep2_buf_position): New static function.
+ (peep2_regno_dead_p, peep2_reg_dead_p, peep2_find_free_register,
+ peephole2_optimize): Use it.
+ (peep2_attempt, peep2_update_life): New static functions, broken out
+ of peephole2_optimize.
+ (peep2_fill_buffer): New static function.
+ (peephole2_optimize): Change the main loop to try to fill the buffer
+ with the maximum number of insns before matching them against
+ peepholes. Use a forward scan. Remove special case for targets with
+ conditional execution.
+ * genrecog.c (change_state): Delete dead code.
+ * config/i386/i386.md (peephole2 for arithmetic ops with memory):
+ Rewrite so as not to expect the second insn to have had a peephole
+ applied yet.
+
+2010-06-29 Nathan Froyd <froydnj@codesourcery.com>
+
+ * genhooks.c (emit_findices): Cast field precision to int.
+ (emit_documentation): Likewise.
+
+2010-06-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/43801
+ * cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME
+ if old_decl was DECL_ONE_ONLY.
+
+ PR debug/44668
+ * dwarf2out.c (add_accessibility_attribute): New function.
+ (gen_subprogram_die, gen_variable_die, gen_field_die): Use it
+ instead of adding DW_AT_accessibility manually.
+ (gen_enumeration_type_die, gen_struct_or_union_type_die,
+ gen_typedef_die): Use it.
+
+2010-06-29 Douglas B Rupp <rupp@gnat.com>
+
+ * vmsdbgout.c (full_name): Just output the file name if not native.
+
+2010-06-29 Douglas B Rupp <rupp@gnat.com>
+
+ * vmsdbgout.c (func_table): Replace with VEC func{nam,num}_tables.
+ (funcnam_table): New static table.
+ (funcnum_table): New static table.
+ (write_rtnbeg): Write value saved in funcnum_table.
+ (write_rtnend): Write value saved in funcnum_table.
+ (vmsdbgout_begin_function): Save current function info in
+ (vmsdbgout_init): Initialize func{nam,num}_tables. Minor reformatting.
+ (vmsdbgout_finish): Iterate over funcnum_table.
+
+2010-06-29 Douglas B Rupp <rupp@gnat.com>
+
+ * vmsdbgout.c (vmsdbgout_begin_epilogue): Declare
+ (vmsdbgout_type_decl): Declare
+ (vmsdbg_debug_hooks): Add entry for type_decl and begin_epilogue.
+ (FUNC_EPILOGUE_LABEL): New macro
+ (vmsdbgout_begin_epilogue): New function.
+ (vmsdbgout_type_decl): New function.
+
+2010-06-29 Douglas B Rupp <rupp@gnat.com>
+
+ * vmsdbg.h: Update copyright.
+
+2010-06-29 Douglas B Rupp <rupp@gnat.com>
+
+ * vmsdbg.h (DST_K_TBG): New DST constant.
+ * vmsdbgout.c (addr_const_to_string): Removed, not referenced.
+ (write_modbeg): Cast module_language to avoid warning.
+ (write_rtnbeg): Use DST_K_TBG vice magic mystery number.
+
+2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR other/44034
+ * target.def, doc/tm.texi.in, genhooks.c: New files.
+ * target.h: Instead of defining individual hook members,
+ define DEFHOOKPOD / DEFHOOK / DEFHOOK_UNDOC / HOOKSTRUCT and
+ include target.def.
+ * target-def.h: Instead of defining individual hook initializers,
+ include target-hooks-def.h.
+ * df-scan.c, haifa-sched.c, sel-sched.c: Rename targetm members:
+ targetm.live_on_entry -> targetm.extra_live_on_entry
+ targetm.sched.md_finish ->targetm.sched.finish
+ targetm.sched.md_init -> targetm.sched.init
+ targetm.sched.md_init_global -> targetm.sched.init_global
+ targetm.asm_out.unwind_label -> targetm.asm_out.emit_unwind_label
+ targetm.asm_out.except_table_label ->
+ targetm.asm_out.emit_except_table_label
+ targetm.asm_out.visibility -> targetm.asm_out.assemble_visibility
+ targetm.target_help -> targetm.help
+ targetm.vectorize.builtin_support_vector_misalignment ->
+ targetm.vectorize.support_vector_misalignment
+ targetm.file_start_app_off -> targetm.asm_file_start_app_off
+ targetm.file_start_file_directive ->
+ targetm.asm_file_start_file_directive
+ * dwarf2out.c, opts.c, tree-vect-data-refs.c, except.c: Likewise.
+ * varasm.c, config/alpha/alpha.c, config/cris/cris.c: Likewise.
+ * config/spu/spu.c, config/ia64/ia64.c: Rename target macros:
+ TARGET_VECTOR_ALIGNMENT_REACHABLE ->
+ TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE
+ TARGET_SUPPORT_VECTOR_MISALIGNMENT ->
+ TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT
+ TARGET_UNWIND_EMIT -> TARGET_ASM_UNWIND_EMIT
+ * config/rs6000/rs6000.c, config/arm/arm.c: Likewise.
+ * Makefile.in (TARGET_H): Depend on target.def.
+ (TARGET_DEF_H): Depend on target-hooks-def.h.
+ (target-hooks-def.h, tm.texi, s-target-hooks-def-h): New rules.
+ (s-tm-texi, build/genhooks.o, build/genhooks): Likewise.
+ * doc/tm.texi: Regenerate.
+
+ * Makefile.in (s-tm-texi): Remove stray tab / rule.
+
+ * config/m68k/m68k.c (targetm.sched.init_global): Update comment.
+ (targetm.sched.init): Likewise.
+
+2010-06-29 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR bootstrap/44713
+ * config/i386/i386.c (type_natural_mode): Const-ify CUM parameter.
+ (function_arg_advance_32): Const-ify TYPE parameter.
+ (function_arg_advance_64): Likewise. Change type of NAMED to bool.
+ (ix86_function_arg_advance): Change type of NAMED to bool.
+ (function_arg_32): Const-ify CUM and TYPE parameters.
+ (function_arg_64): Likewise. Change type of NAMED to bool.
+ (function_arg_ms_64): Const-ify CUM parameter. Change type of NAMED
+ to bool.
+ (ix86_function_arg): Change type of NAMED to bool.
+ (ix86_setup_incoming_varargs): Call ix86_function_arg_advance. Pass
+ last argument as a bool.
+
+2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * doc/tm.texi (TARGET_OPTION_OVERRIDE): Document.
+ (OVERRIDE_OPTIONS): Add note of obsolescence.
+ Replace references with references to TARGET_OPTION_OVERRIDE.
+ (Except for C_COMMON_OVERRIDE_OPTIONS, which remains similar to
+ the macro).
+ * targhooks.c (default_target_option_override): New function.
+ * targhooks.h (default_target_option_override): Declare.
+ * target.h (struct gcc_target): Add override member to
+ target_option member.
+ * toplev.c (process_options): Replace OVERRIDE_OPTIONS use with
+ targetm.target_option.override call.
+ * target-def.h (TARGET_OPTION_OVERRIDE): Define.
+ (TARGET_OPTION_HOOKS): Add TARGET_OPTION_OVERRIDE.
+
+2010-06-29 Jan Hubicka <jh@suse.cz>
+
+ * tree-inline.c: Replace incomming by incomin and clonning by cloning.
+
+2010-06-29 Jan Hubicka <jh@suse.cz>
+
+ * predict.c (propagate_freq): Clear EXIT_BLOCK_PTR frequency if it is
+ unreachable.
+ (rebuild_frequencies): New function.
+ * predict.h (rebuild_frequencies): Declare.
+ * tree-inline.c (copy_cfg_body): Compute properly count & frequency of
+ entry block and edge reaching new_entry.
+ (tree_function_versioning): When doing partial cloning, rebuild
+ frequencies when done.
+ * passes.c (execute_function_todo): Use rebild_frequencies.
+
+2010-06-29 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (dump_variable): Remove noalias_state dumping.
+ * tree-flow.h (enum noalias_state): Remove.
+ (struct var_ann_d): Remove noalias_state member.
+
+2010-06-29 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/43902
+ * config/arm/arm.md (maddsidi4, umaddsidi4): New expanders.
+ (maddhisi4): Renamed from mulhisi3addsi. Operands renumbered.
+ (maddhidi4): Likewise.
+
+ Revert parts of the change for PR25130.
+ * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
+ MEM_ALIAS_SET.
+
+2010-06-29 Nathan Froyd <froydnj@codesourcery.com>
+
+ * calls.c, dse.c, expr.c, function.c: Call targetm.calls.function_arg,
+ targetm.calls.function_incoming_arg, and
+ targetm.calls.function_arg_advance instead of FUNCTION_ARG,
+ FUNCTION_INCOMING_ARG, and FUNCTION_ARG_ADVANCE, respectively.
+ * target.h (struct gcc_target): Add function_arg_advance,
+ function_arg, and function_incoming_arg fields.
+ * target-def.h (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG):
+ (TARGET_FUNCTION_INCOMING_ARG): Define.
+ (TARGET_CALLS): Add TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG,
+ and TARGET_FUNCTION_INCOMING_ARG.
+ * targhooks.h (default_function_arg_advance): Declare.
+ (default_function_arg, default_function_incoming_arg): Declare.
+ * targhooks.c (default_function_arg_advance): New function.
+ (default_function_arg, default_function_incoming_arg): New function.
+ * config/i386/i386.c (function_arg_advance): Rename to...
+ (ix86_function_arg_advance): ...this. Make static.
+ (function_arg): Rename to...
+ (ix86_function_arg): ...this. Make static.
+ (TARGET_FUNCTION_ARG_ADVANCE): Define.
+ (TARGET_FUNCTION_ARG): Define.
+ * config/i386/i386.h (FUNCTION_ARG_ADVANCE): Delete.
+ (FUNCTION_ARG): Delete.
+ * config/i386/i386-protos.h (function_arg_advance): Delete prototype.
+ (function_arg): Delete prototype.
+
+2010-06-29 Nathan Froyd <froydnj@codesourcery.com>
+
+ * reginfo.c (init_reg_sets_1): Adjust comments.
+ * combine-stack-adj.c (rest_of_handle_stack_adjustments): Likewise.
+ * calls.c (prepare_call_address): Likewise.
+ (emit_call_1): Use targetm.calls.return_pops_args.
+ (expand_call): Likewise.
+ * function.c (assign_parms): Likewise.
+ * system.h (RETURN_POPS_ARGS): Add to #pragma poison list.
+ * target.h (struct gcc_target) [struct calls]: Add
+ return_pops_args field.
+ * targhooks.h (default_return_pops_args): Declare.
+ * targhooks.c (default_return_pops_args): Define.
+ * target-def.h (TARGET_RETURN_POPS_ARGS): Define.
+ (TARGET_CALLS): Add TARGET_RETURN_POPS_ARGS.
+ * doc/tm.texi (RETURN_POPS_ARGS): Rename to...
+ (TARGET_RETURN_POPS_ARGS): ...this. Use deftypefn. Adjust
+ documentation.
+ * config/alpha/alpha.h (RETURN_POPS_ARGS): Delete.
+ * config/arc/arc.h (RETURN_POPS_ARGS): Likewise.
+ * config/arm/arm.h (RETURN_POPS_ARGS): Likewise.
+ * config/avr/avr.h (RETURN_POPS_ARGS): Likewise.
+ * config/bfin/bfin.h (RETURN_POPS_ARGS): Likewise.
+ * config/cris/cris.h (RETURN_POPS_ARGS): Likewise.
+ * config/crx/crx.h (RETURN_POPS_ARGS): Likewise.
+ * config/fr30/fr30.h (RETURN_POPS_ARGS): Likewise.
+ * config/frv/frv.h (RETURN_POPS_ARGS): Likewise.
+ * config/h8300/h8300.h (RETURN_POPS_ARGS): Likewise.
+ * config/ia64/ia64.h (RETURN_POPS_ARGS): Likewise.
+ * config/iq2000/iq2000.h (RETURN_POPS_ARGS): Likewise.
+ * config/lm32/lm32.h (RETURN_POPS_ARGS): Likewise.
+ * config/m32c/m32c.h (RETURN_POPS_ARGS): Likewise.
+ * config/m32r/m32r.h (RETURN_POPS_ARGS): Likewise.
+ * config/m68hc11/m68hc11.h (RETURN_POPS_ARGS): Likewise.
+ * config/mcore/mcore.h (RETURN_POPS_ARGS): Likewise.
+ * config/mep/mep.h (RETURN_POPS_ARGS): Likewise.
+ * config/mips/mips.h (RETURN_POPS_ARGS): Likewise.
+ * config/mmix/mmix.h (RETURN_POPS_ARGS): Likewise.
+ * config/mn10300/mn10300.h (RETURN_POPS_ARGS): Likewise.
+ * config/moxie/moxie.h (RETURN_POPS_ARGS): Likewise.
+ * config/pa/pa.h (RETURN_POPS_ARGS): Likewise.
+ * config/pdp11/pdp11.h (RETURN_POPS_ARGS): Likewise.
+ * config/picochip/picochip.h (RETURN_POPS_ARGS): Likewise.
+ * config/rs6000/rs6000.h (RETURN_POPS_ARGS): Likewise.
+ * config/rx/rx.h (RETURN_POPS_ARGS): Likewise.
+ * config/s390/s390.h (RETURN_POPS_ARGS): Likewise.
+ * config/score/score.h (RETURN_POPS_ARGS): Likewise.
+ * config/sh/sh.h (RETURN_POPS_ARGS): Likewise.
+ * config/sparc/sparc.h (RETURN_POPS_ARGS): Likewise.
+ * config/spu/spu.h (RETURN_POPS_ARGS): Likewise.
+ * config/stormy16/stormy16.h (RETURN_POPS_ARGS): Likewise.
+ * config/v850/v850.h (RETURN_POPS_ARGS): Likewise.
+ * config/xtensa/xtensa.h (RETURN_POPS_ARGS): Likewise.
+ * config/i386/i386-protos.h (ix86_return_pops_args): Delete.
+ * config/i386/i386.h (RETURN_POPS_ARGS): Delete.
+ * config/i386/i386.c (ix86_return_pops_args): Make static.
+ Constify arguments.
+ (TARGET_RETURN_POPS_ARGS): Define.
+ * config/m68k/m68k.h (RETURN_POPS_ARGS): Move to...
+ * config/m68k/m68k.c (m68k_return_pops_args): ...here. New function.
+ (TARGET_RETURN_POPS_ARGS): Define.
+ * config/vax/vax.h (RETURN_POPS_ARGS): Move to...
+ * config/vax/vax.c (vax_return_pops_args): ...here. New function.
+ (TARGET_RETURN_POPS_ARGS): Define.
+
+2010-06-29 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44667
+ * tree-inline.c (initialize_inlined_parameters): Make sure
+ to remap the inlined parameter variable substitutions types.
+
+2010-06-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/44659
+ * combine.c (make_compound_operation) <SUBREG>: Do not return the
+ result of force_to_mode if it partially re-expanded the compound.
+
+2010-06-28 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44671
+ * ipa-split.c (test_nonssa_use, mark_nonssa_use): Check also uses of
+ RESULT_DECL.
+
+2010-06-28 Anatoly Sokolov <aesok@post.ru>
+
+ * double-int.h (force_fit_type_double): Remove declaration.
+ * double-int.c (force_fit_type_double): Move to tree.c.
+ * tree.h (force_fit_type_double): Declare.
+ * tree.h (force_fit_type_double): Moved from double-int.c. Use
+ double_int type for 'cst' argument. Use double_int_fits_to_tree_p and
+ double_int_to_tree instead of fit_double_type and build_int_cst_wide.
+ * convert.c (convert_to_pointer): Adjust call to
+ force_fit_type_double.
+ * tree-vrp.c (extract_range_from_assert,
+ extract_range_from_unary_expr): Adjust call to force_fit_type_double.
+ * fold-const.c: Update comment.
+ (int_const_binop, fold_convert_const_int_from_int,
+ fold_convert_const_int_from_real, fold_convert_const_int_from_fixed,
+ extract_muldiv_1, fold_div_compare, fold_sign_changed_comparison,
+ fold_unary_loc, fold_negate_const, fold_abs_const, fold_not_const,
+ round_up_loc): Adjust call to force_fit_type_double.
+
+2010-06-28 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
+
+ * config/rs6000/rs6000.h (PROCESSOR_TITAN): Declare.
+
+2010-06-28 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (convert_callers): New parameter, change fndecls of
+ recursive calls.
+ (modify_function): Pass the old decl to convert_callers.
+
+2010-06-28 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-cp.c (ipcp_init_cloned_node): Replace calls to
+ ipa_check_create_node_params and ipa_initialize_node_params with
+ checking asserts they are not necessary.
+
+2010-06-28 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/44687
+ * ipa-split.c (split_function): Use DECL_RESULT to store return value.
+
+2010-06-28 Martin Jambor <mjambor@suse.cz>
+
+ PR c++/44535
+ * gimple-fold.c (get_first_base_binfo_with_virtuals): New function.
+ (gimple_get_relevant_ref_binfo): Use get_first_base_binfo_with_virtuals
+ instead of BINFO_BASE_BINFO.
+
+2010-06-28 Michael Matz <matz@suse.de>
+
+ PR middle-end/44592
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Maintain
+ proper VDEF chain for intermediate stores in the sequence.
+
+2010-06-28 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/44357
+ * ipa-inline.c (add_new_edges_to_heap): Do not add edges to
+ uninlinable functions.
+
+2010-06-28 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
+
+ * config.gcc (powerpc*-*-*): Handle titan.
+ * config/rs6000/rs6000.c (titan_cost): New costs.
+ (rs6000_override_options): Add "titan" to processor_target_table.
+ Add Titan to branch alignment logic.
+ Correctly set rs6000_cost for titan.
+ * config/rs6000/rs6000.md (cpu): Add titan. Include "titan.md".
+ * config/rs6000/titan.md: New file.
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=titan.
+
+2010-06-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree-browser.c (TB_history_stack): Convert to a VEC.
+ (TB_SET_HEAD): Adjust for new type of TB_history_stack.
+ (TB_history_prev): Likewise.
+
+2010-06-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * vec.h (vec_heap_free): Add parentheses around free.
+
+2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h: Poison GCC_EXCEPT_H for front-end files.
+
+ * langhooks.h (struct lang_hooks): Add eh_protect_cleanup_actions
+ langhook.
+ * langhooks-def.h (LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS) New.
+ Define to NULL by default.
+ * except.h: Define GCC_EXCEPT_H.
+ (doing_eh): Remove prototype.
+ (init_eh, init_eh_for_function): Move prototypes to toplev.h.
+ (lang_protect_cleanup_actions): Remove.
+ * except.c (lang_protect_cleanup_actions): Remove.
+ (doing_eh): Remove.
+ (gen_eh_region): Don't check doing_eh here.
+ * toplev.h (init_eh, init_eh_for_function_): Moved from except.h.
+ * tree-eh.c (honor_protect_cleanup_actions): Use new langhook
+ instead of lang_protect_cleanup_actions.
+ * omp-low.c (maybe_catch_exception): Likewise.
+ * Makefile.in: Update dependencies.
+
+2010-06-28 Bingfeng Mei <bmei@broadcom.com>
+
+ * cgraph.h (struct varpool_node): new used_from_object_file flag.
+ (struct cgraph_local_info): new used_from_object_file flag.
+ * cgraph.c (dump_cgraph_node): dump used_from_object_file flag.
+ (cgraph_clone_node): initialize used_from_object_file.
+ (cgraph_create_virtual_clone): initialize used_from_object_file.
+ * lto-symbtab.c (lto_symtab_merge_decls_1): Set
+ used_from_object_file flags for symbols of LDPR_PREVAILING_DEF
+ when compiling with -fwhole-program.
+ (lto_symtab_resolve_symbols) Use LDPR_PREVAILING_DEF_IRONLY for
+ internal resolver.
+ * ipa.c (function_and_variable_visibility): Set externally_visible
+ flag of varpool_node if used_from_object_file flag is set.
+ (cgraph_externally_visible_p): check used_from_object_file flag.
+ * doc/invoke.texi (-fwhole-program option): Change description of
+ externally_visible attribute accordingly.
+ * doc/extend.texi (externally_visible): Ditto.
+
+2010-06-27 Jan Hubicka <jh@suse.cz>
+
+ * params.def (max-inline-insns-auto): Default to 40.
+ * doc/invoke.texi (max-inline-insns-auto): Document the change.
+
+2010-06-27 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44671
+ PR middle-end/44686
+ * tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on
+ signature change.
+ * ipa-split.c (split_function): Always clear DECL_BUILT_IN.
+ * ipa-prop.c (ipa_modify_formal_parameters): Likewise.
+
+2010-06-27 Anatoly Sokolov <aesok@post.ru>
+
+ * target.h (struct gcc_target): Add register_move_cost field.
+ * target-def.h (TARGET_REGISTER_MOVE_COST): New.
+ (TARGET_INITIALIZER): Use TARGET_REGISTER_MOVE_COST.
+ * targhooks.c (default_register_move_cost): New function.
+ * targhooks.h (default_register_move_cost): Declare function.
+ * defaults.h (REGISTER_MOVE_COST): Delete.
+ * ira-int.h (ira_register_move_cost): Update comment.
+ * ira.c (ira_register_move_cost): Update comment.
+ * reload.h (register_move_cost): Declare.
+ * reginfo.c (register_move_cost): New function.
+ (move_cost): Update comment.
+ (init_move_cost, memory_move_secondary_cost): Replace
+ REGISTER_MOVE_COST with register_move_cost.
+ * postreload.c (reload_cse_simplify_set): (Ditto.).
+ * reload.c (find_valid_class, find_reloads): (Ditto.).
+ * reload1.c (choose_reload_regs): (Ditto.).
+ * doc/tm.texi (TARGET_REGISTER_MOVE_COST): New.
+ (REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Update documentation.
+ * doc/md.texi (can_create_pseudo_p): Update documentation.
+
+ * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
+ * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
+ * config/i386/i386.h (ix86_memory_move_cost): Make static.
+ (TARGET_MEMORY_MOVE_COST): Define.
+
+ * config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
+ * config/ia64/ia64-protos.h (int ia64_memory_move_cost): Remove.
+ * config/ia64/ia64.h (ia64_memory_move_cost): Make static.
+ (TARGET_MEMORY_MOVE_COST): Define.
+
+2010-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44683
+ * tree-ssa-dom.c (record_edge_info): Record equivalences for the
+ false edge from the inverted condition.
+
+2010-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44684
+ * tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs.
+ (stmt_may_clobber_ref_p_1): Do not bother to call the oracle
+ for register LHS. Or non-store assignments.
+
+2010-06-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (sparc_emit_set_const32): Make static.
+ (sparc_emit_set_const64): Likewise. Remove disabled code.
+ * config/sparc/sparc-protos.h (sparc_emit_set_const32): Delete.
+ (sparc_emit_set_const64): Likewise.
+
+2010-06-26 Catherine Moore <clm@codesourcery.com>
+
+ * config/mips/mips.md (alu_type): New attribute.
+ (type): Infer type from alu_type.
+ (*add<mode>3, *add<mode>3_mips16, *addsi3_extended,
+ *baddu_si_eb, *baddu_si_el, *baddu_di, sub<mode>3,
+ *subsi3_extended, negsi2, negdi2, *low<mode>,
+ *low<mode>_mips16, *ior<mode>3, *ior<mode>3_mips16,
+ xor<mode>3, *nor<mode>3,
+ *zero_extend<GPR:mode>_trunc<SHORT:mode>,
+ *zero_extendhi_truncqi): Set alu_type instead of type.
+
+2010-06-26 Douglas B Rupp <rupp@gnat.com>
+
+ * config/alpha/alpha.c (alpha_need_linkage): Adjust
+ splay_tree_new_ggc call.
+ (alpha_use_linkage): Likewise.
+
+2010-06-26 Joseph Myers <joseph@codesourcery.com>
+
+ * collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.
+ * doc/tm.texi (SWITCHES_NEED_SPACES): Don't document.
+ * gcc.c (SWITCHES_NEED_SPACES, switches_need_spaces): Remove.
+ (static_specs): Remove switches_need_spaces.
+ (process_command, do_self_spec): Hardcode handling "-o" instead of
+ checking switches_need_spaces.
+ * system.h (SWITCHES_NEED_SPACES): Poison.
+
+2010-06-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44393
+ * tree-loop-distribution.c (generate_loops_for_partition): Fix
+ stmt removal and VOP renaming.
+ (generate_memset_zero): Remove redundant stmt updating.
+ * tree-flow.h (mark_virtual_ops_in_bb): Remove.
+ * tree-cfg.c (mark_virtual_ops_in_bb): Likewise.
+
+2010-06-26 Jan Hubicka <jh@suse.cz>
+
+ * ipa-split.c (consider_split): PHI in entry block is OK as long as all
+ edges comming from header are equivalent.
+ (visit_bb): Handle PHIs correctly.
+ * tree-inline.c (copy_phis_for_bb): Be able to copy
+ PHI from entry edge.
+ (copy_cfg_body): Produce edge from entry BB before copying PHIs.
+
+2010-06-26 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44674
+ * tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of
+ decls. Handle LABEL_DECLs like FUNCTION_DECLs.
+
+2010-06-26 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (n_switches_alloc, n_infiles_alloc, alloc_infile,
+ add_infile, alloc_switch): New.
+ (process_command): Remove variable lang_n_infiles. Process
+ options in a single pass. Use new functions for allocating
+ infiles and switches arrays. Properly skip operands of
+ -Xpreprocessor and -Xassembler.
+
+2010-06-26 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44671
+ * cgraphunit.c (cgraph_function_versioning): Remove wrong
+ cgraph_make_decl_local call; fix typo copying RTL data.
+
+2010-06-25 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c-protos.h (m32c_note_pragma_address): Declare.
+ (m32c_output_aligned_common): Likewise.
+ * config/m32c/m32c.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
+ (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
+ * config/m32c/m32c-pragma.c (m32c_pragma_address): New.
+ (m32c_register_pragmas): Register it.
+ * config/m32c/m32c.c (m32c_get_pragma_address): New.
+ (m32c_insert_attributes): Set #pragma address decls volatile.
+ (pragma_entry_eq): New.
+ (pragma_entry_hash): New.
+ (m32c_note_pragma_address): New.
+ (m32c_get_pragma_address): New.
+ (m32c_output_aligned_common): New.
+ * doc/extend.texi: Document the new pragma.
+
+ * config/m32c/m32c.c (m32c_illegal_subreg_p): Reject illegal MEMs
+ also.
+ * config/m32c/predicates.md (m32c_any_operand): Check the code
+ instead of memory_operand so as to allow matching volatile MEMs.
+ (m32c_nonimmediate_operand): Likewise.
+ (mra_operand): Allow volatiles.
+
+2010-06-25 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/44610
+ * simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
+ address if the offset is unknown.
+
+2010-06-25 Douglas B Rupp <rupp@gnat.com>
+
+ * dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
+ * dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function.
+ * config/ia64/ia64-protos.h (ia64_start_function): Declare.
+ * config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents
+ to ia64_start_function. Invoke it.
+ * config/ia64/ia64.c (ia64_start_function): Call new function
+ dwarf2out_vms_debug_main_pointer.
+
+2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (insert_gimplified_predicates): Do not insert
+ statements computing the true predicate.
+
+2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (init_bb_predicate): Initialize the predicate
+ to boolean_true_node.
+ (reset_bb_predicate): New.
+ (predicate_bbs): Call reset_bb_predicate.
+
+2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (combine_blocks): Remove FIXME comment.
+ (tree_if_conversion): Returns true when something has been changed.
+ (main_tree_if_conversion): Return TODO_cleanup_cfg when if-conversion
+ changed something.
+
+2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * Makefile.in (tree-if-conv.o): Depends on DBGCNT_H.
+ * dbgcnt.def (if_conversion_tree): New DEBUG_COUNTER.
+ * tree-if-conv.c: Include dbgcnt.h.
+ (tree_if_conversion): Use if_conversion_tree to count the number of
+ if-convertible loops.
+
+2010-06-25 Changpeng Fang <changpeng.fang@amd.com>
+
+ * common.opt (fprefetch-loop-arrays): Re-define
+ -fprefetch-loop-arrays as a tri-state option with the initial
+ value of -1.
+ * tree-ssa-loop.c (gate_tree_ssa_loop_prefetch): Invoke prefetch
+ pass only when flag_prefetch_loop_arrays > 0.
+ * toplev.c (process_options): Note that, with tri-states,
+ flag_prefetch_loop_arrays>0 means prefetching is enabled.
+ * config/i386/i386.c (override_options): Enable prefetching at -O3
+ for a set of CPUs that sw prefetching is helpful.
+ (software_prefetching_beneficial_p): New. Return TRUE if software
+ prefetching is beneficial for the given CPU.
+
+2010-06-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/44326
+ * implicit-zee.c (find_removable_zero_extends): Replace
+ INSN_P with NONDEBUG_INSN_P.
+
+2010-06-25 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
+ (struct ipa_node_params): Removed the modification_analysis_done flag.
+ (ipa_is_param_modified): Removed.
+ (ipa_analyze_node): Declare.
+ (ipa_compute_jump_functions): Remove declaration.
+ (ipa_count_arguments): Likewise.
+ (ipa_detect_param_modifications): Likewise.
+ (ipa_analyze_params_uses): Likewise.
+ * ipa-prop.c (struct param_analysis_info): New type.
+ (visit_store_addr_for_mod_analysis): Removed.
+ (visit_load_for_mod_analysis): Renamed to visit_ref_for_mod_analysis,
+ moved down in the file.
+ (ipa_detect_param_modifications): Merged into ipa_analyze_params_uses.
+ (ipa_count_arguments): Made static.
+ (mark_modified): New function.
+ (is_parm_modified_before_call): New function.
+ (compute_pass_through_member_ptrs): New parameter parms_info, call
+ is_parm_modified_before_call instead of ipa_is_param_modified.
+ (ipa_compute_jump_functions_for_edge): New parameter parms_info, pass
+ it to compute_pass_through_member_ptrs.
+ (ipa_compute_jump_functions): New parameter parms_info, pass it to
+ ipa_compute_jump_functions_for_edge. Call ipa_initialize_node_params
+ on the callee if it is analyzed. Made static.
+ (ipa_analyze_indirect_call_uses): New parameter parms_info, call
+ is_parm_modified_before_call instead of ipa_is_param_modified.
+ (ipa_analyze_call_uses): New parameter parms_info, pass it to
+ ipa_analyze_indirect_call_uses.
+ (ipa_analyze_stmt_uses): New parameter parms_info, pass it to
+ ipa_analyze_call_uses.
+ (ipa_analyze_params_uses): New parameter parms_info, pass it to
+ ipa_analyze_stmt_uses. Also perform the used analysis. Made static.
+ (ipa_analyze_node): New function.
+ (ipa_print_node_params): Do not dump the modified flag.
+ (ipa_write_node_info): Assert uses_analysis_done rather than streaming
+ it. Do not stream the modified parameter flag.
+ (ipa_read_node_info): Set uses_analysis_done to 1 instead of streaming
+ it. Do not stream the modified parameter flag.
+ * ipa-cp.c (ipcp_analyze_node): Removed.
+ (ipcp_init_stage): Iterate only once over the nodes, analyze each one
+ with only a call to ipa_analyze_node.
+ * ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the
+ node with only a call to ipa_analyze_node.
+
+2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn.
+
+2010-06-25 Jan Hubicka <jh@suse.cz>
+
+ * tree-pass.h (pass_split_functions): Declare.
+ * opts.c (decode_options): Enable function splitting at -O2
+ * timevar.def (TV_IPA_FNSPLIT): New macro.
+ * ipa-split.c: New file.
+ * common.opt (-fpartial-inlining): New flag.
+ * Makefile.in (ipa-split.o): New object file.
+ * passes.c (init_optimization_passes): Add ipa-split.
+ * params.def (partial-inlining-entry-probability): New parameters.
+ * doc/invoke.texi (-fpartial-inlining): New.
+
+2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 44665
+ * tree-inline.c (gimple_expand_calls_inline): Fix typo in comment.
+ * gimplify.c (is_gimple_reg_rhs_or_call): Likewise.
+ (gimplify_expr): Likewise.
+
+2010-06-25 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering
+ statements instead of bailing out on them.
+ (ipa_analyze_indirect_call_uses): Do not require that loads from the
+ parameter are in the same BB as the condition. Update comments.
+
+2010-06-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/43866
+ * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
+ true or always false, return NULL_TREE.
+ (tree_unswitch_single_loop): Optimize conditions even when reaching
+ max-unswitch-level parameter. If num > 0, optimize first all conditions
+ using entry checks, then do still reachable block discovery and consider
+ only conditions in still reachable basic blocks in the loop.
+
+ PR tree-optimization/44539
+ * tree-cfgcleanup.c (fixup_noreturn_call): Call update_stmt even when
+ the call doesn't have LHS, but has VDEF.
+
+2010-06-25 Joseph Myers <joseph@codesourcery.com>
+
+ * config/pa/pa.h (MODIFY_TARGET_NAME): Remove.
+ * doc/tm.texi (MODIFY_TARGET_NAME): Don't document.
+ * gcc.c (enum add_del, struct modify_target, modify_target): Remove.
+ (process_command): Remove code conditional on MODIFY_TARGET_NAME.
+ * system.h (MODIFY_TARGET_NAME): Poison.
+
+2010-06-25 Alan Modra <amodra@gmail.com>
+
+ * doc/invoke.texi: Delete mcmodel=medium from powerpc options.
+ * config/rs6000/rs6000.h (enum rs6000_cmodel): Delete CMODEL_MEDIUM.
+ * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
+ CMODEL_LARGE as default.
+ * config/rs6000/rs6000.c (rs6000_handle_option): Remove mcmodel=medium.
+ (offsettable_ok_by_alignment): Delete.
+ (rs6000_emit_move): Remove mcmodel=medium optimization.
+
+2010-06-25 Bernd Schmidt <bernds@codesourcery.com>
+
+ With large parts from Jim Wilson:
+ PR target/43902
+ * tree-pretty-print.c (dump_generic_node, op_code_prio): Add
+ WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
+ * optabs.c (optab_for_tree_code): Likewise.
+ (expand_widen_pattern_expr): Likewise.
+ * tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken
+ out of execute_optimize_widening_mul.
+ (convert_plusminus_to_widen): New function.
+ (execute_optimize_widening_mul): Use the two new functions.
+ * expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS.
+ Remove code to generate widening multiply-accumulate. Add support
+ for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
+ * gimple-pretty-print.c (dump_ternary_rhs): New function.
+ (dump_gimple_assign): Call it when appropriate.
+ * tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes.
+ * cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
+ (expand_gimple_stmt_1): Likewise.
+ (expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and
+ WIDEN_MULT_MINUS_EXPR.
+ * tree-ssa-operands.c (get_expr_operands): Likewise.
+ * tree-inline.c (estimate_operator_cost): Likewise.
+ * gimple.c (extract_ops_from_tree_1): Renamed from
+ extract_ops_from_tree. Add new arg for a third operand; fill it.
+ (gimple_build_assign_stat): Support operations with three operands.
+ (gimple_build_assign_with_ops_stat): Likewise.
+ (gimple_assign_set_rhs_from_tree): Likewise.
+ (gimple_assign_set_rhs_with_ops_1): Renamed from
+ gimple_assign_set_rhs_with_ops. Add new arg for a third operand.
+ (get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS.
+ (get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and
+ WIDEN_MULT_MINUS_EXPR.
+ * gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS.
+ (extract_ops_from_tree_1): Adjust declaration.
+ (gimple_assign_set_rhs_with_ops_1): Likewise.
+ (gimple_build_assign_with_ops): Pass NULL for last operand.
+ (gimple_build_assign_with_ops3): New macro.
+ (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3,
+ gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline
+ functions.
+ * tree-cfg.c (verify_gimple_assign_ternary): New static function.
+ (verify_gimple_assign): Call it.
+ * doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS.
+ (Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new
+ functions for dealing with three-operand statements.
+ * tree.c (commutative_ternary_tree_code): New function.
+ * tree.h (commutative_ternary_tree_code): Declare it.
+ * tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for
+ ternary statements.
+ (gimple_assign_nonzero_warnv_p): Likewise.
+ * tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS.
+ * tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function.
+ (ccp_fold): Use it. Handle GIMPLE_TERNARY_RHS.
+ * tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY.
+ (struct hashtable_expr): New member ternary in the union.
+ (initialize_hash_element): Handle GIMPLE_TERNARY_RHS.
+ (hashable_expr_equal_p): Fix indentation. Handle EXPR_TERNARY.
+ (iterative_hash_hashable_expr): Likewise.
+ (print_expr_hash_elt): Handle EXPR_TERNARY.
+ * gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS.
+ * tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break
+ statements. Handle GIMPLE_TERNARY_RHS.
+
+2010-06-25 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (-Wsuggest-attribute): Add noreturn.
+
+2010-06-25 Shujing Zhao <pearly.zhao@oracle.com>
+
+ PR c/44517
+ * c-parser.c (c_parser_parms_list_declarator): Return NULL if one of
+ parameters are not good.
+ (c_parser_parameter_declaration): Error unknown type name if the type
+ name can't start declaration specifiers.
+
+2010-06-25 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (translate_options): Don't mention +e in comment.
+ (process_command): Don't handle +e specially.
+
+2010-06-25 Bernd Schmidt <bernds@codesourcery.com>
+
+ * ira.c (allocno_pool, copy_pool, allocno_live_range_pool): Delete.
+
+ * ira-build.c (merge_hard_reg_conflicts): New function.
+ (create_cap_allocno, copy_info_to_removed_store_destinations,
+ propagate_some_info_from_allocno, propagate_allocno_info): Use it.
+ (move_allocno_live_ranges, copy_allocno_live_ranges): New functions.
+ (remove_unnecessary_allocnos, remove_low_level_allocnos)
+ copy_nifo_to_removed_store_destination): Use them.
+ * ira-lives.c (make_hard_regno_born): New function, split out of
+ make_regno_born.
+ (make_allocno_born): Likewise.
+ (make_hard_regno_dead): New function, split out of make_regno_dead.
+ (make_allocno_dead): Likewise.
+ (inc_register_pressure): New function, split out of set_allocno_live.
+ (dec_register_pressure): New function, split out of clear_allocno_live.
+ (mark_pseudo_regno_live): New function, split out of mark_reg_live.
+ (mark_hard_reg_live): Likewise. Use inc_register_pressure.
+ (mark_pseudo_regno_dead): New function, split out of mark_reg_dead.
+ (mark_hard_reg_dead): Likewise. Use dec_register_pressure.
+ (make_pseudo_conflict): Use mark_pseudo_regno_dead and
+ mark_pseudo_regno_live.
+ (process_bb_node_lives): Use mark_pseudo_regno_live,
+ make_hard_regno_born and make_allocno_dead.
+ (make_regno_born, make_regno_dead, mark_reg_live, mark_reg_dead,
+ set_allocno_live, clear_allocno_live): Delete functions.
+
+ * ira-int.h (ira_parent_allocno, ira_parent_or_cap_allocno): Declare.
+ * ira-build.c (ira_parent_allocno, ira_parent_or_cap_allocno): New
+ functions.
+ (ira_flattening): Use ira_parent_allocno.
+ * ira-conflicts.c (process_regs_for_copy, propagate_copies)
+ build_allocno_conflicts): Use ira_parent_or_cap_allocno.
+
+ * ira-color.c (assign_hard_reg): Improve formatting of multi-line for
+ statement.
+
+ * ira-int.h (SET_MINMAX_SET_BIT, CLEAR_MINMAX_SET_BIT,
+ TEST_MINMAX_SET_BIT, minmax_set_iterator, minmax_set_iter_init,
+ minmax_set_iter_cond, minmax_set_iter_next,
+ FOR_EACH_BIT_IN_MINMAX_SET): Renamed from SET_ALLOCNO_SET_BIT,
+ CLEAR_ALLOCNO_SET_BIT, TEST_ALLOCNO_SET_BIT, ira_allocno_set_iterator,
+ ira_allocno_set_iter_init, ira_allocno_set_iter_cond,
+ ira_allocno_set_iter_Next and FOR_EACH_ALLOCNO_IN_ALLOCNO_SET. All
+ uses changed.
+
+ * ira-int.h (struct live_range, live_range_t): Renamed from struct
+ ira_allocno_live_range and allocno_live_range_t; all uses changed.
+ * ira-build.c (live_range_pool): Renamed from allocno_live_range_pool.
+ All uses changed.
+
+2010-06-24 Richard Earnshaw <rearnsha@arm.com>
+
+ * thumb2.md (thumb2_tlobits_cbranch): Delete.
+ (peephole2 to convert zero_extract/compare of single bit to
+ lshift/compare): New.
+
+2010-06-24 Anatoly Sokolov <aesok@post.ru>
+
+ * fold-const.c (const_binop): Remove 'notrunc' argement. Adjust
+ recursive call and call to 'int_const_binop'.
+ (build_range_check, fold_cond_expr_with_comparison, unextend,
+ fold_truthop, extract_muldiv_1, fold_comparison, fold_binary_loc,
+ multiple_of_p): Adjust call to const_binop.
+
+2010-06-24 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (XFmode push splitter): Use GET_MODE_SIZE to
+ determine size of XFmode operand.
+ (XFmode extended DFmode push splitter): Ditto.
+ (XFmode extended SFmode push splitter): Ditto.
+
+2010-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44588
+ * config/i386/i386.md (extract_code): New.
+ (<u>divmodqi4): Likewise.
+ (divmodhiqi3): Likewise.
+ (udivmodhiqi3): Likewise.
+ (<u>divqi3): Remvoved.
+
+2010-06-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/44492
+ * recog.h (struct recog_data): Add is_asm field.
+ * recog.c (asm_operand_ok, constrain_operands): If neither < nor > is
+ present in constraints of inline-asm operand and memory operand
+ contains {PRE,POST}_{INC,DEC,MODIFY}, return 0.
+ (extract_insn): Initialize recog_data.is_asm.
+ * doc/md.texi (Constraints): Document operand side-effect rules.
+
+2010-06-24 Andi Kleen <ak@linux.intel.com>
+
+ * c-parser.c (c_parser_conditional_expression): Call
+ warn_for_omitted_condop.
+ * doc/invoke.texi: Document omitted condop warning.
+
+2010-06-24 Nick Clifton<nickc@redhat.com>
+
+ * loop-unswitch.c (compare_and_jump_seq): Assert that the last
+ insn in the sequence is a jump insn before setting its label.
+
+2010-06-24 Alan Modra <amodra@gmail.com>
+
+ * collect2.c (main): Match exactly --version and --help.
+
+2010-06-24 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c-pragma.c: Don't include rtl.h.
+
+2010-06-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (mov<mode>): Macroize expander from mov{sf,df,xf}
+ using X87MODEF mode iterator.
+ (pushsf splitter): Macroize splitter using P mode iterator.
+ (*swap<mode>): Macroize insn from *swap{sf,df} using MODEF
+ mode iterator.
+
+ (*movxf_internal): Rename from *movxf_integer.
+ (*movxf_internal_nointeger): Rename from *movxf_nointeger.
+ (*movdf_internal_rex64): Rename from *movdf_integer_rex64.
+ (*movdf_internal): Rename from *movdf_integer.
+ (*movdf_internal_nointeger): Rename from *movdf_nointeger.
+ (*movsf_internal): Rename from *movdf_1.
+
+2010-06-23 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * coretypes.h (gimple_seq_node_d, gimple_seq_node)
+ (const_gimple_seq_node): Removed typedefs.
+
+ * gimple.h (gimple_seq_node_d, gimple_seq_node)
+ (const_gimple_seq_node): Added typedefs moved from coretypes.h.
+
+2010-06-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (bdesc_args): Replace CODE_FOR_avx_si_si256,
+ CODE_FOR_avx_ps_ps256 and CODE_FOR_avx_pd_pd256 with
+ CODE_FOR_vec_extract_lo_v8si, CODE_FOR_vec_extract_lo_v8sf
+ and CODE_FOR_vec_extract_lo_v4df.
+
+ * config/i386/sse.md (vec_extract_lo_<AVX256MODE4P:mode>):
+ Changed to define_insn_and_split.
+ (vec_extract_lo_<AVX256MODE8P:mode>): Likewise.
+ (vec_extract_lo_v16hi): Likewise.
+ (vec_extract_lo_v32qi): Likewise.
+ (avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>): Likewise.
+ (avx_<avxmodesuffixp>_<avxmodesuffixp><avxmodesuffix>): Removed.
+
+2010-06-23 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR target/44640
+ * config/spu/spu-protos.h (spu_expand_epilogue) Use bool.
+ * config/spu/spu.c (spu_scalar_mode_supported_p): Declare with bool.
+ (spu_vector_mode_supported_p, spu_handle_fndecl_attribute): Likewise.
+ (spu_handle_vector_attribute, spu_pass_by_reference): Likewise.
+ (spu_rtx_costs, spu_function_ok_for_sibcall): Likewise.
+
+ PR target/44640
+ * config/spu/spu.c (ea_load_store_inline): Use add_reg_note.
+
+ PR other/44644
+ * df-core.c (struct df): Rename to df_d.
+ * df.h (struct df): Likewise.
+ * dse.h (struct df): Remove forward declaration.
+ * recog.h (struct insn_data): Rename to:
+ (struct_insn_data_d). Adjusted all users.
+
+2010-06-23 Arnaud Charlet <charlet@adacore.com
+
+ PR ada/22220
+ * doc/install.texi: Update requirements to build GNAT.
+
+2010-06-22 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/m68k/m68k.c (m68k_output_addr_const_extra): Add cast to
+ enum type.
+ (m68k_sched_attr_opx_type): Remove unreachable return.
+ (m68k_sched_attr_opy_type): Likewise.
+ (m68k_sched_attr_size): Likewise.
+ (sched_get_opxy_mem_type): Likewise.
+ (m68k_sched_attr_op_mem): Likewise.
+
+2010-06-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the
+ new statement and adjust VDEF only if necessary. Remove superfluous
+ call to maybe_clean_or_replace_eh_stmt.
+ * gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to
+ copy the flags.
+ * gimple-iterator.c (gsi_replace): Clear BB of old statement here...
+ * tree-inline.c (copy_bb): ...and not there.
+
+2010-06-22 Cary Coutant <ccoutant@google.com>
+
+ * dwarf2out.c (is_nested_in_subprogram): New function.
+ (should_move_die_to_comdat): Use it.
+ (copy_ancestor_tree): Don't mark DIEs here.
+ (copy_decls_walk): Start walk from root of newly-added tree;
+ mark DIEs here instead.
+
+2010-06-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (unit): Also check sseishft1.
+
+2010-06-22 Jan Hubicka <jh@suse.cz>
+
+ * gimple.h (gimple_expr_code): Do checking on when gimple checking is
+ enabled.
+
+2010-06-22 Jan Hubicka <jh@suse.cz>
+
+ * df-problems.c (df_rd_confluence_n, df_lr_confluence_n,
+ df_live_confluence_n, df_byte_lr_confluence_n, df_md_confluence_n):
+ Return true if something changed.
+ * df.h (df_confluence_function_n): Return bool.
+ * df-core.c (df_worklist_propagate_forward,
+ df_worklist_propagate_backward): Track changes and ages.
+ (df_worklist_dataflow_doublequeue): Use bitmap iterator for main walk;
+ track ages.
+ * dse.c (dse_confluence_n): Return always true.
+
+2010-06-22 Jan Hubicka <jh@suse.cz>
+
+ * bitmap.c (bitmap_clear_bit): Micro optimize.
+
+2010-06-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (SWI1248x): New mode iterator.
+ (SWI48x): Ditto.
+ (SWI12): Ditto.
+ (SWI24): Ditto.
+
+ (mov<mode>): Macroize expander from mov{qi,hi,si,di} using
+ SWI1248x mode iterator.
+ (*push<mode>2_rex64): Macroize insn from *push{qi,hi,si}_rex64
+ using SWI124 mode iterator.
+ (*push<mode>2): Macroize insn from *push{qi,hi} using SWI12
+ mode iterator.
+ (*push<mode>2_prologue): Macroize insn from *pushsi2_prologue and
+ *pushdi2_prologue_rex64 using P mode iterator.
+ (*mov<mode>_xor): Macroize insn from *movsi_xor and *movdi_xor_rex64
+ using SWI48 mode iterator.
+ (*mov<mode>_or): Ditto from *movsi_or and *movdi_or_rex64.
+ (*movabs<mode>_1): Macroize insn from *movabs{qi,hi,si,di}_1_rex64
+ using SWI1248x mode iterator.
+ (*movabs<mode>_2): Ditto from *movabs{qi,hi,si,di}_1_rex64.
+ (*swap<mode>): Macroize insn from *swapsi and *swapdi_rex64 using
+ SWI48 mode iterator.
+ (*swap<mode>_1): Macroize insn from *swap{qi,hi}_1 using SWI12 mode
+ iterator.
+ (*swap<mode>_2): Ditto from *swap{qi,hi}_2.
+ (movstrict<mode>): Macroize expander from movstrict{qi,hi} using
+ SWI12 mode iterator.
+ (*movstrict<mode>_1): Macroize insn from *movstrict{qi,hi}_1 using
+ SWI12 mode iterator.
+ (*movstrict<mode>_xor): Ditto from *movstrict{qi,hi}_xor.
+ (*mov<mode>_extv_1): Macroize insn from *mov{hi,si}_extv_1 using
+ SWI24 mode iterator.
+ (*mov<mode>_extzv_1): Macroize insn from *mov{si,di}_extzv_1 using
+ SWI48 mode iterator.
+ (mov<mode>_insn_1): New expander.
+ (*mov<mode>_insv_1_rex64): Macroize insn from *mov{si,di}_insv_1_rex64
+ using SWI48x mode iterator.
+
+ (*movoi_internal_avx): Rename from *movoi_internal.
+ (*movti_internal_rex64): Rename from *movti_rex64.
+ (*movti_internal_sse): Rename from *movti_sse.
+ (*movdi_internal_rex64): Rename from *movdi_1_rex64.
+ (*movdi_internal): Rename from *movdi_2.
+ (*movsi_internal): Rename from *movsi_1.
+ (*movhi_internal): Rename from *movhi_1.
+ (*movqi_internal): Rename from *movqi_1.
+
+ (insv): Update the call to gen_movsi_insv_1 for rename.
+ * config/i386/i386.c (promote_duplicated_reg): Ditto.
+
+2010-06-22 Jan Hubicka <jh@suse.cz>
+
+ * passes.c (execute_function_todo): Move call of statistics_fini_pass
+ to ...
+ (execute_todo) ... this one.
+
+2010-06-22 Alan Modra <amodra@gmail.com>
+
+ PR target/44364
+ * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
+ * caller-save.c (insert_restore, insert_save): Use non-validate
+ form of adjust_address.
+
+2010-06-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/39690
+ * config/pa/pa.c (override_options): Disable
+ -freorder-blocks-and-partition.
+
+2010-06-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44615
+ * config/i386/atom.md (atom_sseishft_2): Also check sseishft1.
+
+ * config/i386/i386.md (type): Add sseishft1
+
+ * config/i386/ppro_insn (ppro_insn): Also check sseishft1.
+ (ppro_insn_load): Likewise.
+ (ppro_insn_store): Likewise.
+ (ppro_insn_both): Likewise.
+
+ * config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit.
+ (*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1
+ for type.
+ (*vec_extractv2di_1_avx): Likewise.
+ (*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
+ type. Remove atom_unit.
+ (*vec_extractv2di_1_sse2): Likewise.
+
+2010-06-21 DJ Delorie <dj@redhat.com>
+
+ * diagnostic.h (diagnostic_classification_change_t): New.
+ (diagnostic_context): Add history and push/pop list.
+ (diagnostic_push_diagnostics): Declare.
+ (diagnostic_pop_diagnostics): Declare.
+ * diagnostic.c (diagnostic_classify_diagnostic): Store changes
+ from pragmas in a history chain instead of the global table.
+ (diagnostic_push_diagnostics): New.
+ (diagnostic_pop_diagnostics): New.
+ (diagnostic_report_diagnostic): Scan history chain to find state
+ of diagnostics as of the diagnostic location.
+ * opts.c (set_option): Pass UNKNOWN_LOCATION to
+ diagnostic_classify_diagnostic.
+ (enable_warning_as_error): Likewise.
+ * diagnostic-core.h (DK_POP): Add after "real" diagnostics, for
+ use in the history chain.
+ * doc/extend.texi: Document pragma GCC diagnostic changes.
+
+2010-06-21 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (add_linkage_name): New function. Don't add
+ anything to DW_TAG_member DIEs.
+ (add_name_and_src_coords_attributes): Use it.
+ (gen_variable_die): Call it for C++ static data members if
+ specification is DW_TAG_member.
+
+ * dwarf2out.c (base_type_die): Use DW_ATE_UTF for
+ C++ char16_t and char32_t.
+
+ * Makefile.in (build/genattrtab.o): Depend on vecprim.h.
+ * genattrtab.c: Include vecprim.h.
+ (cached_attrs, cached_attr_count, attrs_seen_once,
+ attrs_seen_more_than_once, attrs_to_cache, attrs_cached_inside,
+ attrs_cached_after): New variables.
+ (find_attrs_to_cache): New function.
+ (FLG_BITWISE, FLG_AFTER, FLG_INSIDE, FLG_OUTSIDE_AND): Define.
+ (write_test_expr): Add attrs_cached argument, return it too,
+ attempt to cache non-const attributes used more than once in
+ a single case handling.
+ (write_attr_get): Use find_attrs_to_cache, for caching candidates
+ emit cached_* variables. Adjust write_attr_set callers.
+ (write_attr_set): Add attrs_cached attribute, use find_attrs_to_cache
+ to find attributes that should be cached in this block. Adjust
+ write_test_expr callers.
+ (write_attr_case): Clear attrs_to_cache. Adjust write_attr_set
+ callers.
+ (make_automaton_attrs): Adjust write_test_expr caller.
+
+ * Makefile.in (cfgexpand.o): Depend on $(INSN_ATTR_H).
+ * genattrtab.c (check_tune_attr, find_tune_attr): New functions.
+ (make_automaton_attrs): If find_tune_attr returns non-NULL,
+ write separate internal_dfa_insn_code_* and insn_default_latency_*
+ functions for each attribute's value and emit init_sched_attrs
+ function and function pointers.
+ * genattr.c (const_attrs, reservations): New variables.
+ (gen_attr): Add const attributes to const_attrs vector.
+ (check_tune_attr, find_tune_attr): New functions.
+ (main): Add reservations to reservations vector. If find_tune_attr
+ returns true, add prototype for init_sched_attrs and make
+ internal_dfa_insn_code and insn_default_latency function pointers,
+ otherwise define init_sched_attrs as dummy macro.
+ * cfgexpand.c: Include insn-attr.h.
+ (gimple_expand_cfg): Call init_sched_attrs.
+
+ * stmt.c (resolve_asm_operand_names): Fix handling of %%.
+
+ PR target/44575
+ * config/i386/i386.c (ix86_gimplify_va_arg): When copying
+ va_arg from a set of register save slots into a temporary,
+ if the container is bigger than type size, do the copying
+ using smaller mode or using memcpy.
+
+ PR bootstrap/44426
+ * sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove
+ prototype.
+ (sel_print_to_dot): Remove macro.
+ (sel_print): Likewise. New prototype.
+ * sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static.
+ (sel_print): New function.
+
+2010-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define
+ __STDC_VERSION__=199901L, _XOPEN_SOURCE=600 for C++.
+
+2010-06-21 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.h (PTRDIFF_TYPE): Define.
+ (SMALL_REGISTER_CLASS): Define (to zero).
+ (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_ADDRESS): Delete.
+ * config/rx/rx-protos.h (rx_print_operand): Delete prototype.
+ (rx_print_operand_address): Delete prototype.
+ * config/rx/rx.c (rx_print_operand): Make static.
+ Allow %H and %L to handle CONST_DOUBLEs.
+ (rx_print_operand_address): Make static.
+ (rx_gen_move_template): Rename local variable 'template' to
+ out_template.
+ (rx_function_arg): Do not pass unknown sized objects in registers.
+ (TARGET_PRINT_OPERAND): Define.
+ (TARGET_PRINT_OPERAND_ADDRESS): Define.
+
+2010-06-21 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * Makefile.in (POD2MAN): Provide --date from $(DATESTAMP).
+
+2010-06-21 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/i386.c (ix86_compute_frame_layout): Avoid
+ stack-alignment for simple leaf-functions.
+
+2010-06-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * doc/install.texi: Document bootstrap-lto.
+
+2010-06-20 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/44248
+ * lto-streamer-in.c (input_bb): Leave debug stmts alone.
+ (input_function): Drop them here, if VTA is disabled.
+
+2010-06-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/44546
+ * config/i386/predicates.md (ix86_swapped_fp_comparsion_operator):
+ New predicate.
+ * config/i386/i386.md (*fp_jcc_8<mode>_387 and splitters): Use
+ ix86_swapped_fp_comparsion_operator instead of
+ ix86_fp_comparison_operator.
+
+ (*fp_jcc_1_387): Rename from *fp_jcc_3_387.
+ (*fp_jcc_1r_387): Rename from *fp_jcc_4_387.
+ (*fp_jcc_2_387): Rename from *fp_jcc_5_387.
+ (*fp_jcc_2r_387): Rename from *fp_jcc_6_387.
+ (*fp_jcc_3_387): Rename from *fp_jcc_7_387.
+ (*fp_jcc_4_<mode>_387): Rename from *fp_jcc_8<mode>_387.
+
+2010-06-20 Joseph Myers <joseph@codesourcery.com>
+
+ PR other/32998
+ * opth-gen.awk: Generate definitions of OPT_SPECIAL_unknown,
+ OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
+ * opts-common.c (find_opt): Return OPT_SPECIAL_unknown on failure.
+ (decode_cmdline_option): Update for this return value. Set
+ orig_option_with_args_text field. Set arg field for unknown
+ options. Make static.
+ (decode_cmdline_options_to_array): New.
+ (prune_options): Update handling of find_opt return value.
+ * opts.c (read_cmdline_option): Take decoded option. Return void.
+ (read_cmdline_options): Take decoded options.
+ (decode_options): Add parameters for decoded options. Use
+ decode_cmdline_options_to_array. Use decoded options for -O
+ scan. Use integral_argument for -O parameters. Update call to
+ read_cmdline_options.
+ (enable_warning_as_error): Update handling of find_opt return value.
+ * opts.h: Update comment on unknown options.
+ (struct cl_decoded_option): Update comments on opt_index and arg.
+ Add orig_option_with_args_text.
+ (decode_cmdline_option): Remove.
+ (decode_cmdline_options_to_array): Declare.
+ (decode_options): Update prototype.
+ * toplev.c (save_argv): Remove.
+ (save_decoded_options, save_decoded_options_count): New.
+ (read_integral_parameter): Remove.
+ (print_switch_values): Use decoded options.
+ (toplev_main): Don't set save_argv. Update call to decode_options.
+ * toplev.h (read_integral_parameter): Remove.
+ * varasm.c (elf_record_gcc_switches): Don't handle holding back names.
+
+2010-06-19 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/44072
+ * arm.md (cmpsi2_addneg): Prefer emitting adds to subs with a negative
+ immediate.
+ * constraints.md (Pw, Px): New constraints.
+ * thumb2.md (cmpsi2_addneg peephole2): New peepholes.
+
+2010-06-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/sse.md (fma4modesuffixf4): Removed.
+ (ssemodesuffixf2s): Likewise.
+ (ssemodesuffixf4): Likewise.
+ (ssemodesuffixf2c): Likewise.
+ (ssescalarmodesuffix2s): Likewise.
+ (avxmodesuffixf2c): Likewise.
+ (ssemodesuffix): New.
+ (ssescalarmodesuffix): Likewise.
+ Update patterns with ssemodesuffix and ssescalarmodesuffix.
+
+2010-06-19 Philip Herron <herron.philip@googlemail.com>
+
+ * c-decl.c (c_write_global_declarations): Don't check flag_syntax_only.
+
+2010-06-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * stor-layout.c (debug_rli): Remove unused local variables.
+
+2010-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/40900
+ * expr.c (expand_expr_real_1) <SSA_NAME>: Fix long line. Save the
+ original expression for later reuse.
+ <expand_decl_rtl>: Use promote_function_mode to compute the signedness
+ of the promoted RTL for a SSA_NAME on the LHS of a call statement.
+
+2010-06-18 Anatoly Sokolov <aesok@post.ru>
+
+ * double-int.h (double_int_to_shwi, double_int_to_uhwi,
+ double_int_fits_in_uhwi_p): Implement as static inline.
+ (double_int_xor): New inline function.
+ (double_int_lrotate, double_int_rrotate, double_int_max,
+ double_int_umax, double_int_smax, double_int_min, double_int_umin,
+ double_int_smin): Declare.
+ (lrotate_double, rrotate_double): Remove declaration.
+ * double-int.c (double_int_fits_in_uhwi_p, double_int_to_shwi,
+ double_int_to_uhwi, lrotate_double, rrotate_double): Remove function.
+ (double_int_lrotate, double_int_rrotate, double_int_max,
+ double_int_umax, double_int_smax, double_int_min, double_int_umin,
+ double_int_smin): New function.
+ * fold-const.c (int_const_binop): Clean up, use double_int_*
+ functions.
+ * simplify-rtx.c (simplify_const_binary_operation): Clean up, use
+ double_int_* and immed_double_int_const functions.
+
+2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
+
+ * function.h (types_used_by_cur_var_decl): Change type to a VEC.
+ * function.c (types_used_by_cur_var_decl): Likewise.
+ (used_types_insert): Adjust for new type of types_used_by_cur_var_decl.
+
+2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (record_layout_info): Change type of pending_statics field
+ to a VEC.
+ * stor-layout.c (start_record_layout): Store NULL into
+ pending_statics.
+ (debug_rli): Call debug_vec_tree instead of debug_tree.
+ (place_field): Likewise.
+ (finish_record_layout): Likewise.
+
+2010-06-18 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/linux64.h (SET_CMODEL): Don't expand to empty.
+
+2010-06-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/43740
+ * config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag
+ for SET source operand from SET destination operand.
+
+2010-06-17 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/39871
+ * reload1.c (init_eliminable_invariants): For flag_pic, disable
+ equivalences only for constants that aren't LEGITIMATE_PIC_OPERAND_P.
+ (function_invariant_p): Rule out a plus of frame or arg pointer with
+ a SYMBOL_REF.
+ * ira.c (find_reg_equiv_invariant_const): Likewise.
+
+2010-06-17 Gunther Nikl <gnikl@users.sourceforge.net>
+
+ * config/rs6000/rs6000.c (print_operand) <'K'>: Also use
+ print_operand_address and puts to output the operand for CONST.
+
+2010-06-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44572
+ * dwarf2out.c (dwarf2out_debug_hooks): Add entry for begin_epilogue
+ hook.
+
+2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
+
+ * v850-protos.h (print_operand): Delete.
+ (print_operand_address): Delete.
+ * v850.h (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_PUNCT_VALID_P): Delete.
+ (PRINT_OPERAND_ADDRESS): Delete.
+ * v850.c (print_operand_address): Rename to...
+ (v850_print_operand_address): ...this. Make static. Call
+ v850_print_operand.
+ (print_operand): Rename to...
+ (v850_print_operand): ...this. Make static. Call
+ v850_print_operand_address.
+ (v850_print_operand_punct_valid_p): New function.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
+
+2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/sh/sh-protos.h (print_operand): Delete.
+ (print_operand_address): Delete.
+ * config/sh/sh.h (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_PUNCT_VALID_P): Delete.
+ (PRINT_OPERAND_ADDRESS): Delete.
+ * config/sh/sh.c (sh_print_operand_address): Make static.
+ (sh_print_operand): Make static. Call sh_print_operand_address
+ and sh_print_operand.
+ (sh_print_operand_punct_valid_p): New function.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
+
+2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/mcore/mcore-protos.h (mcore_print_operand): Delete.
+ (mcore_print_operand_address): Delete.
+ * config/mcore/mcore.h (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_PUNCT_VALID_P): Delete.
+ (PRINT_OPERAND_ADDRESS): Delete.
+ * config/mcore/mcore.c (mcore_print_operand_address): Make static.
+ (mcore_print_operand): Make static.
+ (mcore_print_operand_punct_valid_p): New function.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
+
+2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/m68hc11/m68hc11-protos.h (print_operand): Delete.
+ (print_operand_address): Delete.
+ * config/m68hc11/m68hc11.h (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_ADDRESS): Delete.
+ * config/m68hc11/m68hc11.c (m68hc11_print_operand_address): Make
+ static.
+ (m68hc11_print_operand): Make static.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
+
+2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/m32r/m32r-protos.h (m32r_print_operand): Delete.
+ (m32r_print_operand_address): Delete.
+ * config/m32r/m32r.h (m32r_punct_chars): Delete.
+ (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_PUNCT_VALID_P): Delete.
+ (PRINT_OPERAND_ADDRESS): Delete.
+ * config/m32r/m32r.c (m32r_punct_chars): Make static.
+ (m32r_print_operand_address): Make static.
+ (m32r_print_operand): Make static.
+ (m32r_print_operand_punct_valid_p): New function.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
+ (TARGET_PRINT_OPERAND_ADDRESS): Define.
+
+2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/iq2000/iq2000-protos.h (print_operand): Delete.
+ (print_operand_address): Delete.
+ * config/iq2000/iq2000.h (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_PUNCT_VALID_P): Delete.
+ (PRINT_OPERAND_ADDRESS): Delete.
+ (iq2000_print_operand_punct): Delete.
+ * config/iq2000/iq2000.c (iq2000_print_operand_punct): Make static.
+ (iq2000_print_operand_address): Make static.
+ (iq2000_print_operand): Make static.
+ (iq2000_print_operand_punct_valid_p): New function.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
+ (TARGET_PRINT_OPERAND_ADDRESS): Define.
+
+2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/frv/frv-protos.h (frv_print_operand): Delete.
+ (frv_print_operand_address): Delete.
+ * config/frv/frv.h (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_PUNCT_VALID_P): Delete.
+ (PRINT_OPERAND_ADDRESS): Delete.
+ * config/frv/frv.c (frv_print_operand_address): Make static.
+ (frv_print_operand): Make static.
+ (frv_print_operand_punct_valid_p): New function.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
+ (TARGET_PRINT_OPERAND_ADDRESS): Define.
+
+2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (vec_member): Declare.
+ * tree.c (vec_member): Define.
+
+2010-06-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow-inline.h (array_ref_contains_indirect_ref): Remove.
+ * tree-flow.h (array_ref_contains_indirect_ref): Likewise.
+
+2010-06-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (declare_return_variable): Remove bogus code.
+
+2010-06-17 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (gimplify_bind_expr): Always promote complex
+ and vector variables to registers if possible.
+
+2010-06-17 Richard Guenther <rguenther@suse.de>
+
+ * expr.c (get_inner_reference): Use double_int for bit_offset
+ calculation.
+
+2010-06-16 DJ Delorie <dj@redhat.com>
+
+ * common.opt (-fstrict-volatile-bitfields): new.
+ * doc/invoke.texi: Document it.
+ * fold-const.c (optimize_bit_field_compare): For volatile
+ bitfields, use the field's type to determine the mode, not the
+ field's size.
+ * expr.c (expand_assignment): Likewise.
+ (get_inner_reference): Likewise.
+ (expand_expr_real_1): Likewise.
+ * expmed.c (store_fixed_bit_field): Likewise.
+ (extract_bit_field_1): Likewise.
+ (extract_fixed_bit_field): Likewise.
+
+2010-06-16 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (remap_gimple_op_r): Recurse using remap_gimple_op_r.
+
+2010-06-16 Douglas B Rupp <rupp@gnat.com>
+
+ * config/ia64/vms.h (ASM_OUTPUT_DWARF_DELTA_UNITS): Remove.
+ (ASM_OUTPUT_DWARF_VMS_DELTA: Define new macro.
+ * dbxout.c (gcc_debug_hooks): New entry begin_epilogue.
+ * debug.c: Likewise.
+ * sdbout.c: Likewise.
+ * vmsdbgout.c: Likewise.
+ * debug.h: Likewise. (dwarf2out_vms_{begin,end}_prologue): Declare.
+ * doc/tm.texi (ASM_OUTPUT_DWARF_VMS_DELTA): Document.
+ * dwarf2asm.c (dw2_asm_output_vms_delta): New function.
+ (ASM_OUTPUT_DWARF_VMS_DELTA): Call it.
+ * dwarf2asm.h (dw2_asm_output_vms_delta): Declare.
+ * dwarf2out.c (dw_fde_struct): New fields
+ dw_fde_vms_{end,begin}_prologue.
+ (PROLOGUE_END_LABEL, EPILOGUE_BEGIN_LABEL): New macros.
+ (dwarf2out_begin_prologue): Set dw_fde_struct defaults for above.
+ (dwarf2out_vms_end_prologue): New function.
+ (dwarf2out_vms_begin_epilogue): New function.
+ (dw_val_struct): New value dw_val_class_vms_delta.
+ (gcc_debug_hooks): New entry begin_epilogue. Set end_prologue,
+ begin_epilogue for VMS.
+ (AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): Declare
+ new static functions.
+ (dwarf_attr_name): New cases DW_AT_HP_{prologue,epilogue}.
+ (AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): New
+ static functions.
+ (print_die): New case dw_val_class_vms_delta.
+ (attr_checksum): Likewise.
+ (same_dw_val_p: Likewise.
+ (size_of_die): Likewise.
+ (value_format): Likewise.
+ (output_die): Likewise.
+ (gen_subprogram_die): Call add_AT_vms_delta on VMS.
+ (dwarf2out_begin_epilogue): Rename to dwarf2out_cfi_begin_epilogue
+ * dwarf2out.h (dwarf2out_begin_epilogue): Rename to
+ dwarf2out_cfi_begin_epilogue
+ * final.c (final_scan_insn): Likewise. Call begin_epilogue.
+
+2010-06-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/cris/cris-protos.h (cris_print_operand): Delete.
+ (cris_print_operand_address): Delete.
+ * config/cris/cris.h (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_PUNCT_VALID_P): Delete.
+ (PRINT_OPERAND_ADDRESS): Delete.
+ * config/cris/cris.c (cris_print_operand_address): Make static.
+ (cris_print_operand): Make static.
+ (cris_print_operand_punct_valid_p): New function.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
+ (TARGET_PRINT_OPERAND_ADDRESS): Define.
+
+2010-06-16 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/arm/arm-protos.h (arm_print_operand): Delete.
+ (arm_print_operand_address): Delete.
+ * config/arm/arm.h (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_PUNCT_VALID_P): Delete.
+ (PRINT_OPERAND_ADDRESS, ARM_PRINT_OPERAND_ADDRESS):
+ (THUMB_PRINT_OPERAND_ADDRESS): Delete and move code to...
+ * config/arm/arm.c (arm_print_operand_address): ...here. New function.
+ (arm_print_operand): Make static.
+ (arm_print_operand_punct_valid_p): New function.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
+ (TARGET_PRINT_OPERAND_ADDRESS): Define.
+
+2010-06-16 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/constraints.md (NEGint4): New constraint.
+ * config/rx/rx.md (attr cc): Add set_zsc.
+ (cbranchsf4): Only test for -fnon-call-exceptions if cfun has been
+ initialised.
+ (cmpsf): Likewise.
+ (call_internal): Clobber the cc0 register.
+ (call_value_internal): Likewise.
+ (cstoresi4): Likewise.
+ (movsieq): Likewise.
+ (movsine): Likewise.
+ (addsi3): Add alternative to handle small negative constants.
+ (sunsi3): Likewise.
+ (addsi3): Do not set the O bit in the cc0 register.
+ (adddi3): Likewise.
+ (subsi3): Likewise.
+ (subdi3): Likewise.
+ (andsi3): Reorder alternatives to prefer shorter forms.
+ (mulsi3): Likewise.
+ (iorsi3): Likewise.
+ (negsi2): Note that the cc0 flags are set.
+ (rotlsi3): Note that only the Z and S bits are set in cc0.
+ (lshrsi3): Likewise.
+ (ashlsi3): Likewise.
+ (subsf3): Use %Q for the MEM operand.
+ (fix_truncsfsi2): Likewise.
+ (floatsisf2): Likewise.
+ (bitset): Remove early clobber from destination.
+ (bitset_in_memory): Likewise.
+ (lrintsf2): Clobber the cc0 register.
+ * config/rx/rx.c (rx_notice_update_cc): Handle CC_SET_ZSC.
+ (rx_print_operand): Handle %N.
+
+2010-06-16 Jan Hubicka <jh@suse.cz>
+
+ * df-core.c (df_compact_blocks): Free problem_temps vector.
+
+2010-06-16 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/43905
+ * tree-sra.c: Include tree-inline.h.
+ (create_abstract_origin): Removed.
+ (modify_function): Version the call graph node instead of creating
+ abstract origins and dealing with same_body aliases.
+ * tree-sra.c (ipa_sra_preliminary_function_checks): Check whether the
+ function is versionable.
+ * Makefile.in (tree-sra.o): Add TREE_INLINE_H to dependencies.
+
+2010-06-16 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/mips/linux64.h (BIONIC_DYNAMIC_LINKERN32): Define.
+ (CHOOSE_DYNAMIC_LINKER): Update.
+
+2010-06-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (*prefetch_sse_<mode>): Macroize insn from
+ *prefetch_sse and *prefetch_sse_rex using P mode iterator.
+ (*prefetch_3dnow_<mode>): Ditto from *prefetch_3dnow and
+ *prefetch_3dnow_rex.
+
+2010-06-15 Anatoly Sokolov <aesok@post.ru>
+
+ * target.h (struct asm_out):Add declare_constant_name field.
+ * target-def.h (TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
+ (TARGET_INITIALIZER): Use TARGET_ASM_DECLARE_CONSTANT_NAME.
+ * output.h (default_asm_declare_constant_name): Declare.
+ (assemble_label): Update prototype.
+ * varasm.c (assemble_constant_contents): Use
+ targetm.asm_out.declare_constant_name target hook.
+ (assemble_label): Add 'file' argument.
+ (default_asm_declare_constant_name): New function.
+ * system.h (ASM_DECLARE_CONSTANT_NAME): Poison.
+ * doc/tm.texi (ASM_DECLARE_CONSTANT_NAME): Remove.
+ (TARGET_ASM_DECLARE_CONSTANT_NAME): Document it.
+
+ * config/darwin-protos.h (darwin_asm_declare_constant_name): Declare.
+ * config/darwin.c (darwin_asm_declare_constant_name): New function.
+ (machopic_output_indirection): Update assemble_label argument list.
+ * config/darwin.h (ASM_DECLARE_CONSTANT_NAME): Remove.
+ (TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
+
+2010-06-15 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/44391
+ * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
+ size_one_node for pointer types. Do not call gmp_cst_to_tree.
+
+2010-06-15 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (eliminate): Handle PHI elimination to constants.
+
+2010-06-15 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (use_vfp_abi): Add sorry() for Thumb-1
+ hard-float ABI.
+
+2010-06-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-vect-patterns.c (vect_pattern_recog_1): Bail out if we
+ don't get a vector type for output.
+
+2010-06-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/44536
+ * langhooks.h (struct lang_hooks_for_decls): Add omp_report_decl.
+ * langhooks-def.h (LANG_HOOKS_OMP_REPORT_DECL): Define.
+ (LANG_HOOKS_DECLS): Add it.
+ * gimplify.c (omp_notice_variable): Call
+ lang_hooks.decls.omp_report_decl.
+
+2010-06-15 Martin Jambor <mjambor@suse.cz>
+
+ PR lto/44464
+ * tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name
+ on the newly dead SSA name.
+
+2010-06-15 Alan Modra <amodra@gmail.com>
+
+ * doc/invoke.texi: Add mcmodel to powerpc options.
+ * configure.ac: Add HAVE_LD_LARGE_TOC test.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/rs6000/linux64.opt (mcmodel): New.
+ * config/rs6000/linux64.h (TARGET_USES_LINUX64_OPT): Define.
+ (TARGET_CMODEL, SET_CMODEL): Define.
+ (SUBSUBTARGET_OVERRIDE_OPTIONS): Check user -mcmodel choice,
+ select CMODEL_MEDIUM default.
+ * config/rs6000/rs6000.h (enum rs6000_cmodel): New.
+ (TARGET_CMODEL): Define default.
+ * config/rs6000/rs6000.c (cmodel): New variable.
+ (rs6000_explicit_options): Add cmodel field.
+ (rs6000_handle_option): Handle -mcmodel.
+ (create_TOC_reference): Add largetoc_reg param. Generate high,
+ lo_sum rtl for CMODEL_MEDIUM and CMODEL_LARGE. Update all callers.
+ (rs6000_delegitimize_address): Recognise new toc reference rtl
+ and minimal-toc rtl.
+ (rs6000_legitimize_reload_address): Handle new toc references.
+ (print_operand_address): Handle legitimate_constant_pool_address_p
+ match before lo_sum.
+ (rs6000_eliminate_indexed_memrefs): Tidy.
+ (rs6000_emit_move): Tweak threshold for inlining constants.
+ Keep rs6000_emit_allocate_stack large stack frame offsets
+ loaded into r0 inline.
+ (rs6000_generate_compare <cmptf_internal2>): One more clobber.
+ (tocrel_base, tocrel_offset): New variables.
+ (toc_relative_expr_p): Set them here.
+ (print_operand_address): Skip over any offset on constant pool address.
+ (rs6000_output_addr_const_extra): Print tocrel_offset before @toc.
+ (rs6000_mode_dependent_address <LO_SUM>): False for new toc refs.
+ (offsettable_ok_by_alignment): New function.
+ (rs6000_emit_move): Address suitably aligned local symbol_refs
+ relative to the toc pointer for -mcmodel=medium.
+ (legitimate_constant_pool_address_p): Make param const_rtx. Add
+ strict param. Allow lo_sum version of addressing. Verify reg
+ used for -mminimal-toc and -mcmodel != small. Update all callers.
+ * config/rs6000/constraints.md: Update for above change.
+ * config/rs6000/predicates.md: Likewise.
+ * config/rs6000/rs6000.md (tls_gd_aix): Generate -mcmodel=medium/large
+ code.
+ (tls_gd): Split for -mcmodel=medium/large.
+ (tls_gd_high, tls_gd_low): New.
+ (tls_ld_aix, tls_ld, tls_ld_high, tls_ld_low): Similarly.
+ (tls_got_dtprel, tls_got_dtprel_high, tls_got_dtprel_low): Similarly.
+ (tls_got_tprel, tls_got_tprel_high, tls_got_tprel_low): Similarly.
+ (largetoc_high, largetoc_low): New.
+ (cmptf_internal2): Add clobber.
+ * config/rs6000/rs6000-protos.h: Update.
+
+2010-06-14 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-ssa-loop-prefetch.c (nothing_to_prefetch_p): New. Return
+ true if no prefetch is going to be generated for a given group.
+ (estimate_prefetch_count): Use prefetch_mod and unroll_factor to
+ estimate the prefetch_count.
+ (loop_prefetch_arrays): Call nothing_to_prefetch_p; estimate the
+ prefetch count by considering the unroll_factor and prefetch_mod
+ for is_loop_prefetching_profitable.
+
+2010-06-14 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/m68k/m68k.c (m68k_delegitimize_address): Don't do
+ anything if the argument is not a MEM.
+
+2010-06-14 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/43650
+ PR debug/44181
+ PR debug/44247
+ * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip
+ debug stmts.
+ (canonicalize_loop_ivs): Likewise.
+
+2010-06-14 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/43656
+ * haifa-sched.c (setup_insn_reg_pressure_info,
+ update_register_pressure): Reject debug insns.
+ (ready_sort): Don't setup reg pressure for debug insns.
+ (schedule_insn): Don't update reg pressure for debug insns.
+
+2010-06-14 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer.c (cached_bp): Remove.
+ (bitpack_delete): Likewise.
+ (bitpack_create): Likewise.
+ (bp_get_next_word): Likewise.
+ (bp_pack_value, bp_unpack_value): Move ...
+ * lto-streamer.h (bp_pack_value, bp_unpack_value): ... here.
+ Re-implement.
+ (struct bitpack_d): Likewise.
+ (bitpack_create, lto_output_bitpack, lto_input_bitpack):
+ New inline functions.
+ * lto-streamer-out.c (lto_output_bitpack): Remove.
+ (pack_ts_base_value_fields): Adjust. Avoid conditional bitpacking.
+ (pack_value_fields): Adjust.
+ (lto_write_tree): Likewise.
+ (output_gimple_stmt): Likewise.
+ (output_function): Likewise.
+ * lto-streamer-in.c (input_gimple_stmt): Adjust.
+ (input_function): Likewise.
+ (unpack_ts_base_value_fields): Adjust. Avoid conditional bitpacking.
+ (lto_input_bitpack): Remove.
+ (lto_materialize_tree): Adjust.
+ * Makefile.in (ipa-prop.o): Add $(LTO_STREAMER_H) dependency.
+ * lto-cgraph.c (lto_output_edge): Adjust.
+ (lto_output_node): Likewise.
+ (lto_output_varpool_node): Likewise.
+ (lto_output_ref): Likewise.
+ (input_node): Likewise.
+ (input_varpool_node): Likewise.
+ (input_ref): Likewise.
+ (input_edge): Likewise.
+ (output_node_opt_summary): Likewise.
+ (input_node_opt_summary): Likewise.
+ * ipa-pure-const.c (pure_const_write_summary): Likewise.
+ (pure_const_read_summary): Likewise.
+ * ipa-prop.c (ipa_write_indirect_edge_info): Likewise.
+ (ipa_read_indirect_edge_info): Likewise.
+ (ipa_write_node_info): Likewise.
+ (ipa_read_node_info): Likewise.
+
+2010-06-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44534
+ * config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with 0x0.
+ (vec_extract_lo_v16hi): Likewise.
+ (vec_extract_lo_v32qi): Likewise.
+
+2010-06-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/44426
+ * tree.h (build_call_expr): Don't define as vararg macro, instead
+ add a prototype.
+ * builtins.c (build_call_nofold): Remove.
+ (expand_builtin_int_roundingfn, expand_builtin_pow,
+ expand_builtin_mempcpy_args, expand_builtin_stpcpy,
+ expand_builtin_memset_args, expand_builtin_strcmp,
+ expand_builtin_strncmp, expand_builtin_memory_chk): Use
+ build_call_nofold_loc instead of build_call_nofold.
+ (build_call_expr): New function.
+
+ PR tree-optimization/44508
+ * tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument.
+ * tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE,
+ don't eliminate trivially dead stmts.
+ * tree-vrp.c (vrp_finalize): Pass false as last argument
+ to substitute_and_fold.
+ * tree-ssa-copy.c (fini_copy_prop): Pass true as last argument
+ to substitute_and_fold.
+ * tree-ssa-ccp.c (ccp_finalize): Likewise.
+
+ PR bootstrap/44509
+ * c-config-lang.in (gtfiles): Add c-family/c-cppbuiltin.c.
+
+2010-06-14 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/44507
+ * tree-vect-loop.c (get_initial_def_for_reduction): Use -1
+ to build initial vector for BIT_AND_EXPR.
+ * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
+
+2010-06-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/s390/s390.md (*mov<mode>_64 DD_DF, mov<mode>): Properly
+ adjust z10prop set_attr.
+
+2010-06-13 Jan Hubicka <jh@suse.cz>
+
+ * bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
+ bitmap_and_compl_into, bitmap_compl_and_into, bitmap_ior,
+ bitmap_ior_into, bitmap_xor, bitmap_xor_into,
+ bitmap_ior_and_compl, bitmap_ior_and_compl): Turn internal
+ datastructure checks into checking asserts.
+ * rtlanal.c (find_reg_note): Use gcc_checking_assert.
+ * tree-ssa-sccvn.c (VN_INFO): Likewise.
+ * df-scan.c (df_reorganize_refs_by_reg_by_reg, df_install_ref,
+ df_ref_create_structure): Likewise.
+ * alloc-pool.c (create_alloc_pool, empty_alloc_pool, pool_alloc,
+ pool_free): Use gcc_checking_assert.
+ * alias.c (get_alias_set): Likewise.
+ * var-tracking.c (variable_htab_free, shared_hash_copy,
+ canonicalize_values_mark, variable_merge_over_cur): Likewise.
+ * lto-streamer.c (bp_unpack_value): Likewise.
+
+2010-06-13 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer-in.c (lto_input_ts_type_tree_pointers):
+ Do not stream but initialize TYPE_CANONICAL to NULL.
+ (lto_output_ts_type_tree_pointers): Do not stream TYPE_CANONICAL.
+ * gimple.c (gimple_types_compatible_p): Disregard
+ TYPE_STRUCTURAL_EQUALITY_P.
+ (gimple_register_type): Use TYPE_CANONICAL as cache.
+ * lto-streamer.c (lto_record_common_node): Zero TYPE_CANONICAL
+ before registering common types.
+ * config/i386/i386.c (ix86_function_arg_boundary): Do not
+ use TYPE_CANONICAL, instead use TYPE_MAIN_VARIANT.
+ * tree.h (TYPE_CANONICAL): Clarify documentation.
+
+2010-06-13 Anatoly Sokolov <aesok@post.ru>
+
+ * config/ia64/ia64.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
+ LIBCALL_VALUE): Remove macros.
+ * config/ia64/ia64-protos.h (ia64_function_value): Remove.
+ * config/ia64/ia64.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+ TARGET_FUNCTION_VALUE_REGNO_P): Define.
+ (ia64_libcall_value, ia64_function_value_regno_p): New functions.
+ (ia64_function_value): Make static. Handle receiving the function
+ type in 'fn_decl_or_type' argunent. Add 'outgoing' argument.
+
+2010-06-12 Jan Hubicka <jh@suse.cz>
+
+ * cse.c (cse_extended_basic_block): Move optimize_bb_for_speed_p
+ at correct place.
+
+2010-06-12 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/arm/arm.c (thumb2_reorg): Fix errors in previous change.
+
+2010-06-12 Jan Hubicka <jh@suse.cz>
+
+ * df-core.c (df_clear_bb_info): New function.
+ (df_set_blocks): bb_info is always allocated.
+ (df_get_bb_info): Use block_info_elt_size.
+ (df_set_bb_info): Likewise.
+ (df_compact_blocks): Update for new block_info.
+ (grow_bb_info): New function.
+ * df-problems.c (df_grow_bb_info): Move to df-core.c
+ (df_rd_set_bb_info): Remove.
+ (df_rd_free_bb_info): Do not free block pool.
+ (df_rd_alloc): Do not create pool, use check for
+ obstack presence instead of NULL pointer for new blocks.
+ (df_rd_free): DO not free alloc pool; clear block_info.
+ (problem_RD): Add size of block info structure.
+ (df_lr_set_bb_info): Remove.
+ (df_lr_free_bb_info): Do not free block pool.
+ (df_lr_alloc): Do not create pool, use check for
+ obstack presence instead of NULL pointer for new blocks.
+ (df_lr_free): DO not free alloc pool; clear block_info.
+ (problem_LR): Add size of block info structure.
+ (df_live_set_bb_info): Remove.
+ (df_live_free_bb_info): Do not free block pool.
+ (df_live_alloc): Do not create pool, use check for
+ obstack presence instead of NULL pointer for new blocks.
+ (df_live_free): DO not free alloc pool; clear block_info.
+ (problem_LIVE): Add size of block info structure.
+ (problem_CHAIN): Add size of block info structure.
+ (df_byte_lr_set_bb_info): Remove.
+ (df_byte_lr_free_bb_info): Do not free block pool.
+ (df_byte_lr_alloc): Do not create pool, use check for
+ obstack presence instead of NULL pointer for new blocks.
+ (df_byte_lr_free): DO not free alloc pool; clear block_info.
+ (problem_BYTE_LR): Add size of block info structure.
+ (problem_NOTE): Add size of block info structure.
+ (df_byte_MD_set_bb_info): Remove.
+ (df_byte_MD_free_bb_info): Do not free block pool.
+ (df_byte_MD_alloc): Do not create pool, use check for
+ obstack presence instead of NULL pointer for new blocks.
+ (df_byte_MD_free): DO not free alloc pool; clear block_info.
+ (problem_BD): Add size of block info structure.
+ * df-scan.c (df_scan_free_internal): Free block pool.
+ (df_scan_set_bb_info): Remove.
+ (df_scan_free_bb_info): Check for artificial_defs instead
+ of bb_info being non-NULL.
+ (df_scan_alloc): DO not create df_scan_block pool.
+ (problem_SCAN): Set size of block info.
+ (df_bb_refs_record): Do not allocate bb_info.
+ * df.h (df_problem): Add block_info_elt_size.
+ (struct dataflow): Change block_info to void *.
+ (df_scan_get_bb_info, df_rd_get_bb_info, df_lr_get_bb_info,
+ df_md_get_bb_info, df_live_get_bb_info, df_byte_lr_get_bb_info): Return
+ in-line structures.
+
+2010-06-12 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/44485
+ * tree-cfgcleanup.c (fixup_noreturn_call): Remove basic blocks
+ containing use of return value of noreturn function.
+
+2010-06-12 Anatoly Sokolov <aesok@post.ru>
+
+ * targhooks.c (default_function_value): Don't use
+ FUNCTION_OUTGOING_VALUE.
+ * system.h (FUNCTION_OUTGOING_VALUE): Poison.
+ * doc/tm.texi (FUNCTION_OUTGOING_VALUE): Removed.
+
+2010-06-12 Kazu Hirata <kazu@codesourcery.com>
+
+ * config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*):
+ Add crtfastmath.o to extra_parts.
+ * config/mips/crtfastmath.c: New.
+ * config/mips/linux.h (ENDFILE_SPEC): New.
+
+2010-06-12 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
+ old_type in parameter.
+ (gcc_type_for_value): Update call to gcc_type_for_interval.
+ (compute_type_for_level_1): Renamed compute_type_for_level.
+ Update call to gcc_type_for_interval.
+
+2010-06-11 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (Wstrict-aliasing=, Wstrict-overflow=, fabi-version=,
+ flto-compression-level=, ftree-parallelize-loops=): Add RejectNegative.
+
+2010-06-11 Joseph Myers <joseph@codesourcery.com>
+
+ * opts-common.c: Include options.h.
+ (integral_argument): Move from opts.c.
+ (decode_cmdline_option): New. Based on read_cmdline_option.
+ * opts.c (integral_argument): Move to opts-common.c.
+ (read_cmdline_option): Move most contents to
+ decode_cmdline_option. Use %qs in diagnostics.
+ * opts.h (CL_ERR_DISABLED, CL_ERR_MISSING_ARG, CL_ERR_WRONG_LANG,
+ CL_ERR_UINT_ARG, struct cl_decoded_option, integral_argument,
+ decode_cmdline_option): New.
+
+2010-06-11 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/44481
+ * config/i386/i386.md (UNSPEC_PARITY): New unspec.
+ (paritydi2_cmp): Use UNSPEC_PARITY unspec instead of parity RTX.
+ (partiysi2_cmp): Ditto.
+ (*partiyhi2_cmp): Ditto.
+ (*parityqi2_cmp): Remove.
+
+2010-06-11 Jan Hubicka <jh@suse.cz>
+
+ * bitmap.h (bmp_iter_next_bit): New.
+ (bmp_iter_set, bmp_iter_and, bmp_iter_and_compl): Use it.
+
+2010-06-11 Sandra Loosemore <sandra@codesourcery.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the
+ computed cost.
+
+2010-06-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (unspec): New define_c_enum.
+ (unspecv): Ditto.
+
+2010-06-10 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (c-family/c-cppbuiltin.o): Depend on $(CPP_ID_DATA_H).
+
+2010-06-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/44483
+ * tree-if-conv.c (bb_predicate_s): New struct.
+ (bb_predicate_p): New.
+ (bb_has_predicate): New.
+ (bb_predicate): New.
+ (set_bb_predicate): New.
+ (bb_predicate_gimplified_stmts): New.
+ (set_bb_predicate_gimplified_stmts): New.
+ (add_bb_predicate_gimplified_stmts): New.
+ (init_bb_predicate): New.
+ (free_bb_predicate): New.
+ (is_predicated): Use bb_predicate.
+ (add_to_predicate_list): Use bb_predicate and set_bb_predicate.
+ (predicate_bbs): Same. Gimplify the condition of the basic blocks
+ before processing their successors.
+ (clean_predicate_lists): Removed.
+ (find_phi_replacement_condition): Use bb_predicate.
+ (process_phi_nodes): Renamed ifconvert_phi_nodes. Avoid useless
+ computations.
+ (insert_gimplified_predicates): New.
+ (combine_blocks): Call insert_gimplified_predicates.
+ (tree_if_conversion): Call free_bb_predicate instead of
+ clean_predicate_lists.
+
+2010-10-11 Paul Brook <paul@codesourcery.com>
+
+ * doc/invoke.texi: Document ARM -mcpu=cortex-m4.
+ * config/arm/arm.c (all_architectures): Change v7e-m default to
+ cortexm4.
+ * config/arm/arm-cores.def: Add cortex-m4.
+ * config/arm/arm-tune.md: Regenerate.
+
+2010-06-11 Jan Hubicka <jh@suse.cz>
+
+ * ipa-pure-const.c (special_builtlin_state): New function.
+ (check_call): Use it instead of special casign BUILT_IN_RETURN.
+ (propagate_pure_const): Use it.
+
+2010-06-11 Jan Hubicka <jh@suse.cz>
+
+ * df-problems.c (df_live_scratch): Convert to bitmap_head.
+ (df_live_alloc): Initialize df_live_scratch when initializing
+ problem_data.
+ (df_live_transfer_function): Update uses of df_live_scratch.
+ (df_live_free): Free problem_data; clear df_live_scratch before
+ releasing the obstack.
+ (df_md_free): Free problem data.
+
+2010-06-11 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (Wsuggest-attribute): Document.
+ (Wmissing-noreturn): Remove.
+ * ipa-pure-const.c (warn_function_noreturn): New function.
+ * opts.c (decode_options): Set warn_suggest_attribute_noreturn on
+ warn_missing_noreturn.
+ * common.opt (Wsuggest-attribute=noreturn): New.
+ * tree-flow.h (warn_function_noreturn): Declare.
+ * tree-cfg.c (execute_warn_function_noreturn): Use
+ warn_function_noreturn.
+ (gate_warn_function_noreturn): New.
+ (pass_warn_function_noreturn): Update.
+
+2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * c-typeck.c (handle_warn_cast_qual): Add loc
+ parameter. Improve warning message.
+ (build_c_cast): Pass location to handle_warn_cast_qual.
+
+2010-06-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (pro_epilogue_adjust_stack_1) <TYPE_ALU>: Assert
+ that operand 0 == operand 1. Use x86_maybe_negate_const_int to output
+ insn mnemonic.
+ (pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.
+
+2010-06-10 Dodji Seketeli <dodji@redhat.com>
+
+ Fix bootstap on mips
+ * dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
+ be naming typedefs.
+
+2010-06-11 Kai Tietz <kai.tietz@onevision.com>
+
+ * system.h (helper_const_non_const_cast): New inline for
+ gcc version <= 4.0.
+ (CONST_CAST2): For gcc version <= 4.0 use
+ new helper to do const/non-const casting.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/md.texi: Document the "unspec" and "unspecv" enum names.
+ * Makefile.in (OBJS-common): Include insn-enums.o.
+ (insn-enums.o): New rule.
+ (simple_generated_c): Add insn-enums.c.
+ (build/genenums.o): New rule.
+ (genprogmd): Add "enums".
+ * genconstants.c (print_enum_type): Declare a C string array
+ for each enum.
+ * genenums.c: New file.
+ * print-rtl.c (print_rtx): If defined, use the "unspecv" enum
+ for UNSPEC_VOLATILE. If defined, use the "unspec" enum for both
+ UNSPEC and (as a fallback) for UNSPEC_VOLATILE.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/md.texi (define_enum_attr): Document.
+ * rtl.def (DEFINE_ENUM_ATTR): New rtx.
+ * read-md.h (lookup_enum_type): Declare.
+ * read-md.c (lookup_enum_type): New function.
+ * genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR.
+ * genattrtab.c (attr_desc): Add an enum_name field.
+ (evaluate_eq_attr): Take the associated attribute as argument.
+ Get the enum prefix from the enum_name field, if defined.
+ Use ACONCAT rather than a fixed-length buffer. Update recursive calls.
+ (simplify_test_exp): Pass attr to evaluate_eq_attr.
+ (add_attr_value): New function, split out from...
+ (gen_attr): ...here. Handle DEFINE_ENUM_ATTR.
+ (write_test_expr): Pass attr to evaluate_eq_attr.
+ (write_attr_get): Use the enum_name as the enum tag, if defined.
+ (write_attr_valueq): Use the enum_name as a prefix, if defined.
+ (find_attr): Initialize enum_name.
+ (main): Handle DEFINE_ENUM_ATTR.
+ * gensupport.c (process_rtx): Likewise.
+ * config/mips/mips.h (mips_tune_attr): Delete.
+ * config/mips/mips.md (cpu): Use define_attr_enum.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/md.texi (define_c_enum, define_enum): Document.
+ * read-md.h (md_constant): Add a parent_enum field.
+ (enum_value, enum_type): New structures.
+ (upcase_string, traverse_enum_types): Declare.
+ * read-md.c (enum_types): New variable.
+ (upcase_string, add_constant): New functions.
+ (handle_constants): Don't create the hash table here.
+ Use add_constant.
+ (traverse_md_constants): Don't check for a null md_constants.
+ (decimal_string, handle_enum, traverse_enum_types): New functions.
+ (read_md_files): Initialize md_constants and md_enums.
+ * genconstants.c (print_md_constant): Ignore info argument.
+ Only print constants that belong to no enum.
+ (print_enum_type): New function.
+ (main): Don't pass stdout to print_md_constant. Call print_enum_type
+ for each defined enum type.
+ * config/mips/mips.md (processor): New define_enum.
+ (unspec): New define_c_enum.
+ (UNSPEC_COMPARE_AND_SWAP, UNSPEC_COMPARE_AND_SWAP_12)
+ (UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_NEW_OP_12)
+ (UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE, UNSPEC_SYNC_EXCHANGE_12)
+ (UNSPEC_MEMORY_BARRIER): Moved to sync.md.
+ (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
+ (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
+ (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
+ (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
+ (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
+ (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
+ (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
+ (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
+ (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
+ (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
+ (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
+ (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
+ (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
+ (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
+ (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
+ (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
+ (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
+ (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
+ (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
+ (UNSPEC_RDDSP): Move to mips-dsp.md.
+ (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH, UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB)
+ (UNSPEC_ADDUH_R_QB, UNSPEC_APPEND, UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB)
+ (UNSPEC_CMPGDU_LT_QB, UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH)
+ (UNSPEC_DPS_W_PH, UNSPEC_MADD, UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU)
+ (UNSPEC_MUL_PH, UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH)
+ (UNSPEC_MULQ_S_W, UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU)
+ (UNSPEC_PRECR_QB_PH, UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W)
+ (UNSPEC_PREPEND, UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH)
+ (UNSPEC_SUBU_PH, UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB)
+ (UNSPEC_ADDQH_PH, UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W)
+ (UNSPEC_SUBQH_PH, UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W)
+ (UNSPEC_DPAX_W_PH, UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH)
+ (UNSPEC_DPAQX_SA_W_PH, UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH):
+ Moved to mips-dspr2.md.
+ (UNSPEC_MOVE_TF_PS, UNSPEC_C, UNSPEC_ALNV_PS, UNSPEC_CABS)
+ (UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS, UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS)
+ (UNSPEC_ABS_PS, UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1)
+ (UNSPEC_RECIP2, UNSPEC_SINGLE_CC, UNSPEC_SCC): Move from mips-ps-3d.md.
+ (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ, UNSPEC_LOONGSON_PCMPGT)
+ (UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
+ (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
+ (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
+ (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
+ (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
+ (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
+ UNSPEC_LOONGSON_PSADBH)
+ (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
+ (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
+ (UNSPEC_LOONGSON_PSUBD): Move to mips-loongson.md.
+ (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
+ (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
+ (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
+ (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Move to mips-loongson2ef.md.
+ (cpu): Update comment.
+ * config/mips/sync.md (UNSPEC_COMPARE_AND_SWAP)
+ (UNSPEC_COMPARE_AND_SWAP_12, UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP)
+ (UNSPEC_SYNC_NEW_OP_12, UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE)
+ (UNSPEC_SYNC_EXCHANGE_12, UNSPEC_MEMORY_BARRIER): Moved from mips.md.
+ * config/mips/loongson.md (UNSPEC_LOONGSON_PAVG,
+ UNSPEC_LOONGSON_PCMPEQ)
+ (UNSPEC_LOONGSON_PCMPGT, UNSPEC_LOONGSON_PEXTR,
+ UNSPEC_LOONGSON_PINSR_0)
+ (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
+ (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
+ (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
+ (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
+ (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
+ UNSPEC_LOONGSON_PSADBH)
+ (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
+ (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
+ (UNSPEC_LOONGSON_PSUBD): Moved from mips.md
+ * config/mips/loongson2ef.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
+ (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
+ (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
+ (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved from mips.md
+ * config/mips/mips-dsp.md (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ)
+ (UNSPEC_SUBQ_S, UNSPEC_ADDSC, UNSPEC_ADDWC, UNSPEC_MODSUB)
+ (UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S, UNSPEC_PRECRQ_QB_PH)
+ (UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W, UNSPEC_PRECRQU_S_QB_PH)
+ (UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR, UNSPEC_PRECEQU_PH_QBL)
+ (UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA, UNSPEC_PRECEQU_PH_QBRA)
+ (UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR, UNSPEC_PRECEU_PH_QBLA)
+ (UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL, UNSPEC_SHLL_S, UNSPEC_SHRL_QB)
+ (UNSPEC_SHRA_PH, UNSPEC_SHRA_R, UNSPEC_MULEU_S_PH_QBL)
+ (UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH, UNSPEC_MULEQ_S_W_PHL)
+ (UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL, UNSPEC_DPAU_H_QBR)
+ (UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR, UNSPEC_DPAQ_S_W_PH)
+ (UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH, UNSPEC_DPAQ_SA_L_W)
+ (UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL, UNSPEC_MAQ_S_W_PHR)
+ (UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR, UNSPEC_BITREV, UNSPEC_INSV)
+ (UNSPEC_REPL_QB, UNSPEC_REPL_PH, UNSPEC_CMP_EQ, UNSPEC_CMP_LT)
+ (UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB, UNSPEC_CMPGU_LT_QB)
+ (UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH, UNSPEC_EXTR_W)
+ (UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H, UNSPEC_EXTP)
+ (UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
+ (UNSPEC_RDDSP): Moved from mips.md.
+ * config/mips/mips-dspr2.md (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH)
+ (UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB, UNSPEC_ADDUH_R_QB, UNSPEC_APPEND)
+ (UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB, UNSPEC_CMPGDU_LT_QB)
+ (UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH, UNSPEC_DPS_W_PH, UNSPEC_MADD)
+ (UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU, UNSPEC_MUL_PH)
+ (UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH, UNSPEC_MULQ_S_W)
+ (UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU, UNSPEC_PRECR_QB_PH)
+ (UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W, UNSPEC_PREPEND)
+ (UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH, UNSPEC_SUBU_PH)
+ (UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB, UNSPEC_ADDQH_PH)
+ (UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W, UNSPEC_SUBQH_PH)
+ (UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W, UNSPEC_DPAX_W_PH)
+ (UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH, UNSPEC_DPAQX_SA_W_PH)
+ (UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): Moved from mips.md.
+ * config/mips/mips-ps-3d.md (UNSPEC_MOVE_TF_PS, UNSPEC_C)
+ (UNSPEC_ALNV_PS, UNSPEC_CABS, UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS)
+ (UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS, UNSPEC_ABS_PS, UNSPEC_RSQRT1)
+ (UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2, UNSPEC_SINGLE_CC)
+ (UNSPEC_SCC): Moved from mips.md.
+ * config/mips/mips.c (mips_arch, mips_tune): Change enum from
+ "processor_type" to "processor".
+ (mips_rtx_cost_data): Replace PROCESSOR_MAX with NUM_PROCESSOR_VALUES.
+ * config/mips/mips.h (processor_type): Delete.
+ (mips_cpu_info.cpu, mips_arch, mips_tune): Change enum from
+ "processor_type" to "processor".
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * configure.ac (tm_include_list): Add insn-constants.h.
+ * configure: Regenerate.
+ * Makefile.in (GTM_H): Move insn-constants.h here from...
+ (TM_H): ...here.
+ * mkconfig.sh: Remove special handling for insn-constants.h.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (BUILD_RTL): Move build/read-md.o to...
+ (BUILD_MD): ...this new variable.
+ (simple_generated_rtl_h, simple_generated_rtl_c): New variables
+ that include the old contents of simple_generated_h and
+ simple_generated_c.
+ (simple_generated_h, simple_generated_c): Include them. Add
+ insn-constants.h.
+ (s-%): Make simple_generated_{h,c} stamps depend on $(MD_DEPS)
+ and simple_generated_rtl_{h,c} stamps depend on insn-conditions.md.
+ Remove these dependencies from the main rule and include
+ insn-conditions.md in the command line only if it appears
+ in the dependency list.
+ (insn-constants.h, s-constants): Delete.
+ (build/genconstants.o): Don't depend on $(RTL_BASE_H), $(GTM_H)
+ or gensupport.h.
+ (build/genmddeps.o): Likewise.
+ (genprogrtl): New variable that contains everything from genprogmd
+ except mddeps and constants.
+ (genprogmd): Redefine in terms of genprogrtl. Make these programs
+ depend on $(BUILD_MD)
+ (genprog): New variable. Make these programs depend on
+ $(BUILD_ERRORS).
+ * genmddeps.c: Don't include tm.h, rtl.h or gensupport.h.
+ (main): Use read_md_files instead of init_rtx_reader_args.
+ * genconstants.c: As for genmddeps.c.
+ * read-md.h (read_skip_construct): Declare.
+ * read-md.c (read_skip_construct): New function.
+ (handle_file): Allow a null handle_directive, skipping the
+ construct if so.
+ (parse_include): Update the comment accordingly.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
+ * genmddeps.c: Include read-md.h.
+ (main): Call init_rtx_reader_args instead of init_md_reader_args.
+ * genattr.c (main): Likewise.
+ * genattrtab.c (main): Likewise.
+ * genautomata.c (main): Likewise.
+ * gencodes.c (main): Likewise.
+ * genconditions.c (main): Likewise.
+ * genconfig.c (main): Likewise.
+ * genconstants.c (main): Likewise.
+ * genemit.c (main): Likewise.
+ * genextract.c (main): Likewise.
+ * genflags.c (main): Likewise.
+ * genopinit.c (main): Likewise.
+ * genoutput.c (main): Likewise.
+ * genpeep.c (main): Likewise.
+ * genrecog.c (main): Likewise.
+ * genpreds.c (main): Likewise.
+ * gensupport.h (in_fname): Move to read-md.h.
+ (init_md_reader_args_cb): Rename to...
+ (init_rtx_reader_args_cb): ...this and return a bool.
+ (init_md_reader_args): Rename to...
+ (init_rtx_reader_args): ...this and return a bool.
+ (include_callback): Move to read-md.h.
+ * gensupport.c (in_fname, include_callback, base_dir, max_include_len)
+ (file_name_list, first_dir_md_include): Move to read-md.c
+ (first_bracket_include): Delete unused variable.
+ (last_dir_md_include): Move to read-md.c.
+ (process_include): Delete, moving code to read-md.c:handle_include.
+ (process_rtx): Don't handle INCLUDE.
+ (save_string): Delete.
+ (rtx_handle_directive): New function.
+ (init_md_reader_args_cb): Rename to...
+ (init_rtx_reader_args_cb): ...this and return a boolean success value.
+ Use read_md_args.
+ (init_md_reader_args): Rename to...
+ (init_rtx_reader_args): ...this and return a boolean success value.
+ * rtl.def (INCLUDE): Delete.
+ * rtl.h (read_rtx): Remove "int *" argument. Add "const char *"
+ argument.
+ * read-rtl.c (read_conditions): Don't gobble ')' here.
+ (read_mapping): Likewise.
+ (read_rtx): Remove LINENO argument. Add RTX_NAME argument.
+ Handle top-level non-rtx constructs here rather than in read_rtx_1.
+ Store the whole queue in *X. Remove call to init_md_reader.
+ (read_rtx_1): Rename to...
+ (read_rtx_code): ...this. Call read_nested_rtx to read subrtxes.
+ Don't handle top-level non-rtx constructs here. Don't handle (nil)
+ here.
+ (read_nested_rtx): New function. Handle (nil) here rather than
+ in read_rtx_code.
+ (read_rtx_variadic): Call read_nested_rtx to read subrtxes. Don't
+ gobble ')' here.
+ * read-md.h (directive_handler_t): New type.
+ (in_fname, include_callback): Moved from read-md.h.
+ (read_constants, init_md_reader): Delete.
+ (read_md_files): Declare.
+ * read-md.c (file_name_list, in_fname, base_dir, first_dir_md_include)
+ (last_dir_md_include_ptr, include_callback, max_include_len): Moved
+ from gensupport.c.
+ (read_constants): Rename to...
+ (handle_constants): ...this. Don't gobble ')' here.
+ (handle_include, handle_file, handle_toplevel_file)
+ (parse_include): New functions, mostly taken from gensupport.c.
+ (init_md_reader): Subsume into...
+ (read_md_files): ...this new function.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * read-md.h (read_char): Increment read_md_lineno after reading '\n'.
+ (unread_char): Decrement read_md_lineno after putting back '\n'.
+ * read-md.c (fatal_with_file_and_line): Push back any characters
+ that we decide not to add to the context.
+ (read_skip_spaces): Don't increment read_md_lineno here. Avoid using
+ fatal_expected_char in cases where '/' ends a line (for example).
+ (read_name): Don't increment read_md_lineno here.
+ (read_escape): Likewise.
+ (read_quoted_string): Likewise.
+ (read_braced_string): Likewise.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (READ_MD_H): Add $(HASHTAB_H).
+ (build/genconstants.o): Depend on $(READ_MD_H) gensupport.h.
+ * genconstants.c: Include read-md.h.
+ * read-rtl.c (md_constants): Move to read-md.c.
+ (md_name): Move to read-md.h.
+ (initialize_iterators): Use leading_string_hash instead of def_hash
+ and leading_string_eq_p instead of def_name_eq_p.
+ (read_name): Move to read-md.c.
+ (def_hash, def_name_eq_p): Delete.
+ (read_constants, traverse_md_constants): Move to read-md.c.
+ * rtl.h (md_constant, traverse_md_constants): Move to read-md.h.
+ * read-md.h: Include hashtab.h.
+ (md_name): Moved from read-rtl.c.
+ (md_constant): Moved from read-md.h.
+ (leading_string_hash, leading_string_eq_p, read_name)
+ (read_constants, traverse_md_constants): Declare.
+ * read-md.c (md_constants): Moved from read-rtl.c.
+ (leading_string_hash, leading_string_eq_p): New functions.
+ (read_name, read_constants, traverse_md_constants): Moved from
+ read-rtl.c.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * read-rtl.c (md_name): New structure.
+ (read_name): Take an md_name instead of a buffer pointer.
+ Use the "string" field instead of strcpy when expanding constants.
+ (read_constants): Remove the tmp_char argument. Update the calls
+ to read_name, using two local name buffers instead of the tmp_char
+ argument. Merge the constant-creation code.
+ (read_conditions): Remove the tmp_char argument. Update the calls
+ to read_name, using a local name buffer instead of the tmp_char
+ argument.
+ (read_mapping): Replace tmp_char variable with a local name buffer.
+ Update the calls to read_name.
+ (read_rtx_1): Likewise. Update the calls to read_constants and
+ read_conditions.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (build/read-md.o): Depend on errors.h.
+ * read-md.h (error_with_line): Declare.
+ * read-md.c: Include errors.h.
+ (message_with_line_1): New function, extracted from...
+ (message_with_line): ...here.
+ (error_with_line): New function.
+ * genattrtab.c: If a call to message_with_line is followed by
+ "have_error = 1;", replace both statements with a call to
+ error_with_line.
+ * genoutput.c: Likewise.
+ * genpreds.c: Likewise.
+ * genrecog.c: If a call to message_with_line is followed by
+ "error_count++;", replace both statements with a call to
+ error_with_line.
+ (errorcount): Delete.
+ (main): Don't check it.
+ * gensupport.c: If a call to message_with_line is followed by
+ "errors = 1;", replace both statements with a call to error_with_line.
+ (errors): Delete.
+ (process_define_cond_exec): Check have_error instead of errors.
+ (init_md_reader_args_cb): Likewise. Don't set errors.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * read-md.h (read_md_file): Declare.
+ (read_char, unread_char): New functions.
+ (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
+ (read_quoted_string, read_string): Remove FILE * argument.
+ * read-md.c (read_md_file): New variable.
+ (read_md_filename, read_md_lineno): Update comments and remove
+ unnecessary initialization.
+ (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
+ (read_escape, read_quoted_string, read_braced_string, read_string):
+ Remove FILE * argument. Update calls accordingly, using read_char
+ and unread_char instead of getc and ungetc.
+ * rtl.h (read_rtx): Remove FILE * argument.
+ * read-rtl.c (iterator_group): Remove FILE * argument from
+ "find_builtin".
+ (iterator_traverse_data): Remove "infile" field.
+ (find_mode, find_code, apply_mode_maps, apply_iterator_to_rtx)
+ (add_mapping, read_name, read_constants, read_conditions)
+ (validate_const_int, find_iterator, read_mapping, check_code_iterator)
+ (read_rtx, read_rtx_1, read_rtx_variadic): Remove FILE * argument.
+ Remove file arguments from all calls, using read_char and unread_char
+ instead of getc and ungetc.
+ * gensupport.c (process_include): Preserve read_md_file around
+ the include. Set read_md_file to the handle of the included file.
+ Update call to read_rtx.
+ (init_md_reader_args_cb): Set read_md_file to the handle of the file
+ and remove local FILE *. Update calls to read_rtx.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * read-md.h (read_rtx_lineno): Rename to...
+ (read_md_lineno): ...this.
+ (read_rtx_filename): Rename to...
+ (read_md_filename): ...this.
+ (copy_rtx_ptr_loc): Rename to...
+ (copy_md_ptr_loc): ...this.
+ (print_rtx_ptr_loc): Rename to...
+ (print_md_ptr_loc): ...this.
+ * read-md.c: Likewise. Update references after renaming.
+ (string_obstack): Replace RTL with MD in comment.
+ (set_rtx_ptr_loc): Rename to...
+ (set_md_ptr_loc): ...this.
+ (get_rtx_ptr_loc): Rename to...
+ (get_md_ptr_loc): ...this.
+ * genconditions.c: Update references after renaming.
+ * genemit.c: Likewise.
+ * genoutput.c: Likewise.
+ * genpreds.c: Likewise.
+ * gensupport.c: Likewise.
+ * read-rtl.c: Likewise.
+
+2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (READ_MD_H): New variable.
+ (BUILD_RTL): Add build/read-md.o.
+ (lto-wrapper.o): Depend on coretypes.h instead of defaults.h.
+ (build/gensupport.o, build/read-rtl.o, build/genattr.o)
+ (build/genattrtab.o, build/genconditions.o build/genemit.o)
+ (build/genextract.o, build/genflags.o, build/genoutput.o)
+ (build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H).
+ (build/read-md.o): New rule.
+ * defaults.h (obstack_chunk_alloc, obstack_chunk_free)
+ (OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to...
+ * coretypes.h: ...here.
+ * lto-wrapper.c: Include coretypes.h instead of defaults.h.
+ * pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete.
+ * genattr.c: Include read-md.h.
+ * genattrtab.c: Likewise.
+ * genconditions.c: Likewise.
+ * genemit.c: Likewise.
+ * genextract.c: Likewise.
+ * genflags.c: Likewise.
+ * genoutput.c: Likewise.
+ * genpreds.c: Likewise.
+ * genrecog.c: Likewise.
+ * rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc)
+ (join_c_conditions, print_c_condition, read_rtx_filename)
+ (read_rtx_lineno): Move to read-md.h.
+ * read-rtl.c: Include read-md.h.
+ (ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack)
+ (joined_conditions, joined_conditions_obstack, read_rtx_lineno)
+ (read_rtx_filename, fatal_with_file_and_line, fatal_expected_char)
+ (leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc)
+ (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
+ (print_c_condition, read_skip_spaces, read_escape, read_quoted_string)
+ (read_braced_string, read_string): Move to read-md.c.
+ (read_rtx): Move some initialization to init_md_reader and call
+ init_md_reader here.
+ * gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
+ Move to read-md.h.
+ * gensupport.c: Include read-md.h.
+ (message_with_line, n_comma_elts, scan_comma_elt): Move to read-md.c.
+ * read-md.h, read-md.c: New files.
+
+2010-06-10 Anatoly Sokolov <aesok@post.ru>
+
+ * config/moxie/moxie.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
+ LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
+ * config/moxie/moxie-protos.h (moxie_function_value): Remove.
+ * config/moxie/moxie.c (moxie_function_value): Make static.
+ (moxie_libcall_value, moxie_function_value_regno_p): New functions.
+ (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
+
+2010-06-10 Martin Jambor <mjambor@suse.cz>
+
+ * Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies.
+ * dbgcnt.def (tree_sra): New counter.
+ * tree-sra.c: Include dbgcnt.h.
+ (gate_intra_sra): Check tree_sra debug counter.
+
+2010-06-10 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/44258
+ * tree-sra.c (build_access_subtree): Return false iff there is a
+ partial overlap.
+ (build_access_trees): Likewise.
+ (analyze_all_variable_accesses): Disqualify candidates if
+ build_access_trees returns true for them.
+
+2010-06-10 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/41371
+ * var-tracking.c (find_loc_in_1pdv): Remove recursion, only
+ tail-recurse into canonical node. Fast-forward over
+ non-canonical VALUEs.
+
+2010-06-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR boostrap/44470
+ * config/i386/i386.md (*add<mode>_1): Revert revision 160394.
+ (*addsi_1_zext) <TYPE_LEA>: Likewise.
+ (add lea splitter): Likewise.
+ (add_zext lea splitter): Likewise.
+
+2010-06-10 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (fshow-column): Don't mark as C ObjC C++ ObjC++.
+
+2010-06-10 Jan Hubicka <jh@suse.cz>
+
+ * df-problems.c (df_live_problem_data): Add live_bitmaps.
+ (df_live_alloc): Initialize problem data and live_osbtacks.
+ (df_live_finalize): Remove obstack, problem data; do not
+ clear all bitmaps.
+ (df_live_top_dump, df_live_bottom_dump): Do not dump old
+ data when not allocated.
+ (df_live_verify_solution_start): Do not allocate problem data.
+ (df_live_verify_solution_end): Check if out is allocated.
+ (struct df_md_problem_data): New structure.
+ (df_md_alloc): Allocate problem data.
+ (df_md_free): Free problem data; do not clear bitmaps.
+
+2010-06-10 Jan Beulich <jbeulich@novell.com>
+
+ PR bootstrap/37304
+ * configure.ac: Replace $() with ${} when intending to expand
+ variables rather than invoking commands.
+ * configure: Re-generate.
+
+2010-06-10 Jan Hubicka <jh@suse.cz>
+
+ PR rtl-optimization/44460
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
+ TYPE_NEEDS_CONSTRUCTING sanity check.
+
+2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/include/fdl.texi: Move to GFDL version 1.3.
+
+ * doc/cpp.texi: Move to GFDL version 1.3.
+ * doc/gcc.texi: Move to GFDL version 1.3. Fix copyright years.
+ * doc/gccint.texi: Move to GFDL version 1.3.
+ * doc/gcov.texi: Move to GFDL version 1.3. Update copyright years.
+ * doc/install.texi: Move to GFDL version 1.3. Fix copyright years.
+ * doc/invoke.texi: Move to GFDL version 1.3.
+
+2010-06-09 Jan Hubicka <jh@suse.cz>
+
+ * ipa-pure-const.c (propagate_pure_const, propagate_noreturn):
+ Break out from ...
+ (propagate) ... here; swap the order.
+
+2010-06-09 Jan Hubicka <jh@suse.cz>
+
+ * bitmap.c (bitmap_elt_insert_after, bitmap_first_set_bit,
+ bitmap_first_set_bit, bitmap_last_set_bit, bitmap_last_set_bit,
+ bitmap_and_into, bitmap_and_compl_into, bitmap_set_range,
+ bitmap_compl_and_into, bitmap_elt_ior): Use checking asserts.
+
+2010-06-09 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-ssa-loop-prefetch.c (gather_memory_references_ref):
+ Do not the gather memory reference in the outer loop if the step
+ is not a constant.
+
+2010-06-09 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) :
+ Change the PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO threshold value from
+ 8 to 4. Minor change of the related comments.
+
+2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-scalar-evolution.c (instantiate_scev_name): Do not fail
+ the scev analysis when the variable is not used outside the loop
+ in a close phi node: call compute_overall_effect_of_inner_loop.
+
+2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (single_pred_cond): Renamed
+ single_pred_cond_non_loop_exit. Return NULL for loop exit edges.
+ (build_sese_conditions_before): Renamed call to single_pred_cond.
+ (build_sese_conditions_after): Same.
+
+2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.h: Fix comments and indentation.
+ * graphite-sese-to-poly.c: Same.
+ (build_sese_conditions_before): Compute stmt and gbb only when needed.
+ * tree-chrec.c: Fix comments and indentation.
+ (tree-ssa-loop-niter.c): Same.
+
+2010-06-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/42461
+ * dce.c (deletable_insn_p): Return true for const or pure calls again.
+ * except.c (insn_could_throw_p): Return false if !flag_exceptions.
+
+2010-06-09 Jan Hubicka <jh@suse.cz>
+
+ * bitmap.c (bitmap_and): Walk array forward.
+ (bitmap_and_compl_into): Likewise.
+ (bitmap_xor): Likewise.
+ (bitmap_xor_into): Likewise.
+ (bitmap_equal_p): Likewise.
+ (bitmap_intersect_p): Likewise.
+ (bitmap_intersect_compl_p): Likewise.
+ (bitmap_ior_and_into): Likewise.
+ (bitmap_elt_copy): Likewise.
+ (bitmap_and_compl): Likewise.
+ (bitmap_elt_ior): Likewise.
+
+2010-06-09 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * opts-common.c (prune_options): Ensure replacement argv array
+ is correctly terminated by a NULL entry.
+
+2010-06-09 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (varpool_first_static_initializer,
+ varpool_next_static_initializer): Make checking only when
+ checking enabled.
+ * tree-vectorizer.h (vinfo_for_stmt): Remove check.
+ (set_vinfo_for_stmt, get_earlier_stmt, is_loop_header_bb_p): Change
+ gcc_assert to gcc_checking_assert.
+ * tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use,
+ phi_nodes, set_phi_nodes, phi_arg_index_from_use, op_iter_next_use,
+ op_iter_next_def, op_iter_next_tree, op_iter_init, op_iter_init_use,
+ op_iter_init_phiuse, op_iter_init_phidef,
+ array_ref_contains_indirect_ref, ref_contains_array_ref): Use
+ gcc_checking_assert.
+ * emit-rtl.h (set_first_insn, set_last_insn): Likewise.
+ * tree-ssa-live.h (var_to_partition, var_to_partition_to_var,
+ partition_is_global, live_on_entry, live_on_exit,
+ live_merge_and_clear): Likewise.
+ * system.h (gcc_checking_assert): New macro.
+ * gimple.h (set_bb_seq): Use gcc_checking_assert.
+
+2010-06-09 Jason Merrill <jason@redhat.com>
+
+ * Makefile.in (TAGS): Collect tags info from c-family.
+
+2010-06-09 Jan Hubicka <jh@suse.cz>
+
+ * gimple.h (gcc_gimple_checking_assert): New macro.
+ (gimple_set_def_ops, gimple_set_use_ops,
+ gimple_set_vuse, gimple_set_vdef,
+ gimple_omp_subcode, gimple_omp_set_subcode, gimple_ops, gimple_op,
+ gimple_op_ptr, gimple_op_ptr, gimple_set_op, gimple_bind_set_block,
+ gimple_asm_input_op, gimple_asm_input_op_ptr, gimple_asm_set_input_op,
+ gimple_asm_output_op, gimple_asm_output_op_ptr,
+ gimple_asm_set_output_op, gimple_asm_clobber_op,
+ gimple_asm_set_clobber_op, gimple_asm_label_op,
+ gimple_asm_set_label_op, gimple_try_set_kind,
+ gimple_try_catch_is_cleanup, gimple_try_set_catch_is_cleanup,
+ gimple_phi_arg, gimple_switch_num_labels, gimple_switch_set_index,
+ gimple_switch_label, gimple_switch_set_label, gimple_omp_for_index,
+ gimple_omp_for_index_ptr, gimple_omp_for_set_index,
+ gimple_omp_for_initial, gimple_omp_for_initial_ptr,
+ gimple_omp_for_set_initial, gimple_omp_for_final,
+ gimple_omp_for_final_ptr, gimple_omp_for_set_final,
+ gimple_omp_for_incr, gimple_omp_for_incr_ptr, gimple_omp_for_set_incr,
+ gimple_omp_for_set_cond, gimple_omp_for_cond): Make checking
+ conditional with ENABLE_GIMPLE_CHECKING.
+ (gimple_phi_set_arg): Likewise; replace memcpy by assignment.
+
+2010-06-09 Sandra Loosemore <sandra@codesourcery.com>
+
+ * tree-ssa-loop-ivopts.c (adjust_setup_cost): New function.
+ (get_computation_cost_at): Use it.
+ (determine_use_iv_cost_condition): Likewise.
+ (determine_iv_cost): Likewise.
+
+2010-06-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-loop-niter.c (simplify_replace_tree): Do not
+ replace constants.
+
+2010-06-09 Kai Tietz <kai.tietz@onevision.com>
+
+ * c-objc-common.c (c_tree_printer): Pre-intialize t by NULL_TREE.
+
+2010-06-09 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/44423
+ * tree-sra.c (dump_access): Dump also grp_assignment_read.
+ (analyze_access_subtree): Pass negative allow_replacements to children
+ if the current type is scalar.
+
+2010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR testsuite/42843
+ * gcc-plugin.h (int plugin_is_GPL_compatible): Declare as extern "C".
+ * doc/plugins.texi (Plugin license check): Update information
+ on type of plugin_is_GPL_compatible.
+ * Makefile.in (PLUGINCC): Define as $(COMPILER).
+ (PLUGINCFLAGS): Define as $(COMPILER_FLAGS).
+
+2010-06-09 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/arm/arm.c (thumb2_reorg): New function.
+ (arm_reorg): Call it.
+ * config/arm/thumb2.md (define_peephole2 for flag clobbering
+ arithmetic operations): Delete.
+
+2010-06-09 Edmar Wienskoski <edmar@freescale.com>
+
+ PR target/44067
+ * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
+ e500v2 target.
+
+2010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR plugins/44459
+ * gcc-plugin.h: Encapsulate all declarations in extern "C".
+
+2010-06-08 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (single_succ_edge, single_pred_edge, ei_container,
+ ei_next, ei_prev): Do sanity checking with ENABLE_CHECKING only.
+
+2010-06-08 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR tree-optimization/39874
+ PR middle-end/28685
+ * gimple.h (maybe_fold_and_comparisons, maybe_fold_or_comparisons):
+ Declare.
+ * gimple-fold.c (canonicalize_bool, same_bool_comparison_p,
+ same_bool_result_p): New.
+ (and_var_with_comparison, and_var_with_comparison_1,
+ and_comparisons_1, and_comparisons, maybe_fold_and_comparisons): New.
+ (or_var_with_comparison, or_var_with_comparison_1,
+ or_comparisons_1, or_comparisons, maybe_fold_or_comparisons): New.
+ * tree-ssa-reassoc.c (eliminate_redundant_comparison): Use
+ maybe_fold_and_comparisons or maybe_fold_or_comparisons instead
+ of combine_comparisons.
+ * tree-ssa-ifcombine.c (ifcombine_ifandif, ifcombine_iforif): Likewise.
+
+2010-06-08 Anatoly Sokolov <aesok@post.ru>
+
+ * config/pdp11/pdp11.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
+ LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
+ * config/pdp11/pdp11.c (pdp11_function_value, pdp11_libcall_value,
+ pdp11_function_value_regno_p): New functions.
+ (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+ TARGET_FUNCTION_VALUE_REGNO_P): Define.
+
+2010-06-08 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/arm/arm.c (arm_rtx_costs_1): Don't special case for
+ Thumb-2 in the MINUS case.
+
+2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
+
+ * doc/gty.texi (GTY Options): Document typed GC allocation and
+ variable_size GTY option.
+
+ * ggc-internal.h: New.
+
+ * ggc.h: Update copyright year.
+ (digit_string): Move to stringpool.c.
+ (ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
+ (gt_pch_save_stringpool, gt_pch_fixup_stringpool)
+ (gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
+ (init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
+ (ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
+ (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
+ (ggc_force_collect, ggc_get_size, ggc_statistics)
+ (ggc_print_common_statistics): Move to ggc-internal.h.
+ (digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
+ (ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
+ (GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
+ (ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
+ (ggc_min_heapsize_heuristic, ggc_alloc_zone)
+ (ggc_alloc_zone_pass_stat): Remove.
+ (ggc_internal_alloc_stat, ggc_internal_alloc)
+ (ggc_internal_cleared_alloc_stat): New.
+ (GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
+ (ggc_internal_vec_alloc_stat)
+ (ggc_internal_cleared_vec_alloc_stat)
+ (ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
+ (ggc_alloc_atomic_stat, ggc_alloc_atomic)
+ (ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
+ (ggc_cleared_alloc_ptr_array_two_args): New.
+ (htab_create_ggc, splay_tree_new_ggc): Redefine.
+ (ggc_splay_alloc): Change the type of the first argument to
+ enum gt_types_enum.
+ (ggc_alloc_string): Make macro.
+ (ggc_alloc_string_stat): New.
+ (ggc_strdup): Redefine.
+ (rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
+ (ggc_alloc_rtvec_sized): New.
+ (ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
+ (ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
+ (ggc_internal_cleared_alloc_zone_stat)
+ (ggc_internal_zone_alloc_stat)
+ (ggc_internal_zone_cleared_alloc_stat)
+ (ggc_internal_zone_vec_alloc_stat)
+ (ggc_alloc_zone_rtx_def_stat)
+ (ggc_alloc_zone_tree_node_stat)
+ (ggc_alloc_zone_cleared_tree_node_stat)
+ (ggc_alloc_cleared_gimple_statement_d_stat): New.
+
+ * ggc-common.c: Include ggc-internal.h.
+ (ggc_internal_cleared_alloc_stat): Rename from
+ ggc_alloc_cleared_stat.
+ (ggc_realloc_stat): Use ggc_internal_alloc_stat.
+ (ggc_calloc): Remove.
+ (ggc_cleared_alloc_htab_ignore_args): New.
+ (ggc_cleared_alloc_ptr_array_two_args): New.
+ (ggc_splay_alloc): Add obj_type parameter.
+ (init_ggc_heuristics): Formatting fixes.
+
+ * ggc-none.c: Update copyright year.
+ (ggc_alloc_stat): Rename to ggc_alloc_stat.
+ (ggc_alloc_cleared_stat): Rename to
+ ggc_internal_cleared_alloc_stat.
+ (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
+
+ * ggc-page.c: Update copyright year. Include ggc-internal.h.
+ Remove references to ggc_alloc in comments.
+ (ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
+ (ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
+ (new_ggc_zone, destroy_ggc_zone): Remove.
+ (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
+
+ * ggc-zone.c: Include ggc-internal.h. Remove references to
+ ggc_alloc in comments.
+ (ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
+ (ggc_internal_alloc_zone_pass_stat): New.
+ (ggc_internal_cleared_alloc_zone_stat): New.
+ (ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
+ (ggc_alloc_stat): Rename ggc_internal_alloc_stat.
+ (new_ggc_zone, destroy_ggc_zone): Remove.
+
+ * stringpool.c: Update copyright year. Include ggc-internal.h
+ (digit_vector): Make static.
+ (digit_string): Moved from ggc.h.
+ (stringpool_ggc_alloc): Use ggc_alloc_atomic.
+ (ggc_alloc_string): Rename to ggc_alloc_string_stat.
+
+ * Makefile.in (GGC_INTERNAL_H): New.
+ (ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
+ $(GGC_INTERNAL_H) to dependencies.
+
+ * gengtype.c: Update copyright year.
+ (walk_type): Accept variable_size GTY option.
+ (USED_BY_TYPED_GC_P): New macro.
+ (write_enum_defn): Use USED_BY_TYPED_GC_P. Do not output
+ whitespace at the end of strings.
+ (get_type_specifier, variable_size_p): New functions.
+ (alloc_quantity, alloc_zone): New enums.
+ (write_typed_alloc_def): New function.
+ (write_typed_struct_alloc_def): Likewise.
+ (write_typed_typed_typedef_alloc_def): Likewise.
+ (write_typed_alloc_defns): Likewise.
+ (output_typename, write_splay_tree_allocator_def): Likewise.
+ (write_splay_tree_allocators): Likewise.
+ (main): Call write_typed_alloc_defns and
+ write_splay_tree_allocators.
+
+ * lto-streamer.h (lto_file_decl_data_ptr): New.
+
+ * passes.c (order): Define using cgraph_node_ptr.
+
+ * strinpool.c (struct string_pool_data): Declare nested_ptr using
+ ht_identifier_ptr.
+
+ * gimple.h (union gimple_statement_d): Likewise.
+
+ * rtl.h (struct rtx_def): Likewise.
+ (struct rtvec_def): Likewise.
+
+ * tree.h (union tree_node): Likewise.
+
+ * tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
+
+ * cfgloop.c (record_loop_exits): Use htab_create_ggc.
+
+ * tree-scalar-evolution.c (scev_initialize): Likewise.
+
+ * alias.c (record_alias_subset): Update splay_tree_new_ggc call.
+
+ * dwarf2asm.c (dw2_force_const_mem): Likewise.
+
+ * omp-low.c (lower_omp_critical): Likewise.
+
+ * bitmap.h (struct bitmap_head_def): Update comment to not
+ reference ggc_alloc.
+
+ * config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
+
+ * ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
+
+ * ipa-prop.c (duplicate_ggc_array): Rename to
+ duplicate_ipa_jump_func_array. Use typed GC allocation.
+ (ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
+
+ * gimple.c (gimple_alloc_stat): Use
+ ggc_alloc_cleared_gimple_statement_d_stat.
+
+ * varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
+
+ * tree.c (make_node_stat): Use
+ ggc_alloc_zone_cleared_tree_node_stat.
+ (make_tree_vec_stat): Likewise.
+ (build_vl_exp_stat): Likewise.
+ (copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
+ (make_tree_binfo_stat): Likewise.
+ (tree_cons_stat): Likewise.
+
+ * rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
+ (shallow_copy_rtx_stat): Likewise.
+ (make_node_stat): Likewise.
+
+ * lto-symtab.c: Fix comment.
+
+ * tree-cfg.c (create_bb): Update comment to not reference
+ ggc_alloc_cleared.
+ * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is value.
+
+ * varpool.c (varpool_node): Use typed GC allocation.
+ (varpool_extra_name_alias): Likewise.
+
+ * varasm.c (emutls_decl): Likewise.
+ (get_unnamed_section): Likewise.
+ (get_noswitch_section): Likewise.
+ (get_section): Likewise.
+ (get_block_for_section): Likewise.
+ (build_constant_desc): Likewise.
+ (create_constant_pool): Likewise.
+ (force_const_mem): Likewise.
+
+ * tree.c (build_vl_exp_stat): Likewise.
+ (build_real): Likewise.
+ (build_string): Likewise.
+ (decl_debug_expr_insert): Likewise.
+ (decl_value_expr_insert): Likewise.
+ (type_hash_add): Likewise.
+ (build_omp_clause): Likewise.
+
+ * tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
+
+ * tree-ssa.c (init_tree_ssa): Likewise.
+
+ * tree-ssa-structalias.c (heapvar_insert): Likewise.
+
+ * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
+
+ * tree-ssa-loop-niter.c (record_estimate): Likewise.
+
+ * tree-ssa-alias.c (get_ptr_info): Likewise.
+
+ * tree-scalar-evolution.c (new_scev_info_str): Likewise.
+
+ * tree-phinodes.c (allocate_phi_node): Likewise.
+
+ * tree-iterator.c (tsi_link_before): Likewise.
+ (tsi_link_after): Likewise.
+
+ * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
+
+ * tree-dfa.c (create_var_ann): Likewise.
+
+ * tree-cfg.c (create_bb): Likewise.
+
+ * toplev.c (alloc_for_identifier_to_locale): Likewise.
+ (general_init): Likewise.
+
+ * stringpool.c (stringpool_ggc_alloc): Likewise.
+ (gt_pch_save_stringpool): Likewise.
+
+ * sese.c (if_region_set_false_region): Likewise.
+
+ * passes.c (do_per_function_toporder): Likewise.
+
+ * optabs.c (set_optab_libfunc): Likewise.
+ (set_conv_libfunc): Likewise.
+
+ * lto-symtab.c (lto_symtab_register_decl): Likewise.
+
+ * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
+ (input_eh_region): Likewise.
+ (input_eh_lp): Likewise.
+ (make_new_block): Likewise.
+ (unpack_ts_real_cst_value_fields): Likewise.
+
+ * lto-section-in.c (lto_new_in_decl_state): Likewise.
+
+ * lto-cgraph.c (input_node_opt_summary): Likewise.
+
+ * loop-init.c (loop_optimizer_init): Likewise.
+
+ * lambda.h (lambda_vector_new): Likewise.
+
+ * lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
+
+ * ira.c (update_equiv_regs): Likewise.
+
+ * ipa.c (cgraph_node_set_new): Likewise.
+ (cgraph_node_set_add): Likewise.
+ (varpool_node_set_new): Likewise.
+ (varpool_node_set_add): Likewise.
+
+ * ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
+ (duplicate_ipa_jump_func_array): Likewise.
+ (ipa_read_node_info): Likewise.
+
+ * ipa-cp.c (ipcp_create_replace_map): Likewise.
+
+ * integrate.c (get_hard_reg_initial_val): Likewise.
+
+ * gimple.c (gimple_alloc_stat): Likewise.
+ (gimple_build_omp_for): Likewise.
+ (gimple_seq_alloc): Likewise.
+ (gimple_copy): Likewise.
+
+ * gimple-iterator.c (gsi_insert_before_without_update): Likewise.
+ (gsi_insert_after_without_update): Likewise.
+
+ * function.c (add_frame_space): Likewise.
+ (insert_temp_slot_address): Likewise.
+ (assign_stack_temp_for_type): Likewise.
+ (allocate_struct_function): Likewise.
+ (types_used_by_var_decl_insert): Likewise.
+
+ * except.c (init_eh_for_function): Likewise.
+ (gen_eh_region): Likewise.
+ (gen_eh_region_catch): Likewise.
+ (gen_eh_landing_pad): Likewise.
+ (add_call_site): Likewise.
+
+ * emit-rtl.c (get_mem_attrs): Likewise.
+ (get_reg_attrs): Likewise.
+ (start_sequence): Likewise.
+ (init_emit): Likewise.
+
+ * dwarf2out.c (new_cfi): Likewise.
+ (queue_reg_save): Likewise.
+ (dwarf2out_frame_init): Likewise.
+ (new_loc_descr): Likewise.
+ (find_AT_string): Likewise.
+ (new_die): Likewise.
+ (add_var_loc_to_decl): Likewise.
+ (clone_die): Likewise.
+ (clone_as_declaration): Likewise.
+ (break_out_comdat_types): Likewise.
+ (new_loc_list): Likewise.
+ (loc_descriptor): Likewise.
+ (add_loc_descr_to_each): Likewise.
+ (add_const_value_attribute): Likewise.
+ (tree_add_const_value_attribute): Likewise.
+ (add_comp_dir_attribute): Likewise.
+ (add_name_and_src_coords_attributes): Likewise.
+ (lookup_filename): Likewise.
+ (store_vcall_insn): Likewise.
+ (dwarf2out_init): Likewise.
+
+ * dbxout.c (dbxout_init): Likewise.
+
+ * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
+
+ * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
+
+ * config/score/score7.c (score7_output_external): Likewise.
+
+ * config/score/score3.c (score3_output_external): Likewise.
+
+ * config/s390/s390.c (s390_init_machine_status): Likewise.
+
+ * config/rs6000/rs6000.c (builtin_function_type): Likewise.
+ (rs6000_init_machine_status): Likewise.
+ (output_toc): Likewise.
+
+ * config/pa/pa.c (pa_init_machine_status): Likewise.
+ (get_deferred_plabel): Likewise.
+
+ * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
+
+ * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
+
+ * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
+
+ * config/mep/mep.c (mep_init_machine_status): Likewise.
+ (mep_note_pragma_flag): Likewise.
+
+ * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
+
+ * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
+
+ * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
+
+ * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
+ (i386_pe_maybe_record_exported_symbol): Likewise.
+
+ * config/i386/i386.c (get_dllimport_decl): Likewise.
+ (ix86_init_machine_status): Likewise.
+ (assign_386_stack_local): Likewise.
+
+ * config/frv/frv.c (frv_init_machine_status): Likewise.
+
+ * config/darwin.c (machopic_indirection_name): Likewise.
+
+ * config/cris/cris.c (cris_init_machine_status): Likewise.
+
+ * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
+
+ * config/avr/avr.c (avr_init_machine_status): Likewise.
+
+ * config/arm/arm.c (arm_init_machine_status): Likewise.
+
+ * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
+ (alpha_need_linkage): Likewise.
+ (alpha_use_linkage): Likewise.
+
+ * cgraph.c (cgraph_allocate_node): Likewise.
+ (cgraph_create_edge_1): Likewise.
+ (cgraph_create_indirect_edge): Likewise.
+ (cgraph_add_asm_node): Likewise.
+
+ * cfgrtl.c (init_rtl_bb_info): Likewise.
+
+ * cfgloop.c (alloc_loop): Likewise.
+ (rescan_loop_exit): Likewise.
+
+ * cfg.c (init_flow): Likewise.
+ (alloc_block): Likewise.
+ (unchecked_make_edge): Likewise.
+
+ * c-parser.c (c_parse_init): Likewise.
+ (c_parse_file): Likewise.
+
+ * c-decl.c (bind): Likewise.
+ (record_inline_static): Likewise.
+ (push_scope): Likewise.
+ (make_label): Likewise.
+ (lookup_label_for_goto): Likewise.
+ (finish_struct): Likewise.
+ (finish_enum): Likewise.
+ (c_push_function_context): Likewise.
+
+ * bitmap.c (bitmap_element_allocate): Likewise.
+ (bitmap_gc_alloc_stat): Likewise.
+
+ * alias.c (record_alias_subset): Likewise.
+ (init_alias_analysis): Likewise.
+
+2010-06-08 Shujing Zhao <pearly.zhao@oracle.com>
+
+ * fold-const.c (fold_comparison): Remove redundant parenthesis.
+ * tree-inline.c (expand_call_inline): Pass translated return value of
+ cgraph_inline_failed_string to diagnostic function.
+
+2010-06-08 Andrew Pinski <pinskia@gmail.com>
+ Shujing Zhao <pearly.zhao@oracle.com>
+
+ PR c/37724
+ * c-typeck.c (convert_for_assignment): Call pedwarn_init if the
+ implicit bad conversions is initialization.
+ (error_init): Use gmsgid instead of msgid for argument name and change
+ the call for error.
+ (pedwarn_init): Use gmsgid instead of msgid for argument name and
+ change the call for pedwarn.
+ (warning_init): Use gmsgid instead of msgid for argument name and
+ change the call for warning.
+
+2010-06-07 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/mips/mips-protos.h (mips_print_operand): Delete.
+ (mips_print_operand_address): Delete.
+ * config/mips/mips.h (mips_print_operand_punct): Delete.
+ (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_PUNCT_VALID_P): Delete.
+ (PRINT_OPERAND_ADDRESS): Delete.
+ * config/mips/mips.c (mips_print_operand_punct): Make static.
+ (mips_print_operand_address): Make static.
+ (mips_print_operand): Make static. Call
+ mips_print_operand_punct_valid_p.
+ (mips_print_operand_punct_valid_p): New function.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
+
+2010-06-07 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44454
+ (df_lr_top_dump, df_lr_bottom_dump): Check that in/out bitmaps
+ are allocated.
+
+2010-06-07 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_build_builtin_va_list): Set tree type
+ name of RECORD.
+
+2010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (Effective-Target Keywords, Other
+ attributes): Document gas.
+
+2010-06-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*add<mode>_1): Remove alternative 2.
+ <TYPE_LEA>: Split instruction.
+ <default>: Remove alternative 2 handling.
+ (*addsi_1_zext) <TYPE_LEA>: Split instruction.
+ (add lea splitter): Generate SImode lea for mode sizes <= SImode.
+ (add_zext lea splitter): Use ix86_lea_for_add_ok in insn predicate.
+
+ (*movsi_1) <TYPE_LEA>: Use %a modifier to output operand 1.
+ (ashift_zext lea splitter): Use DImode for multiplication.
+
+ * config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
+ to generate addition.
+
+2010-06-07 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (fira-verbose): Use Var.
+ (fpcc-struct-return): Use Init instead of VarExists.
+ * defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
+ toplev.c.
+ * flags.h (flag_signed_char, flag_short_enums,
+ flag_pcc_struct_return, flag_ira_verbose,
+ flag_detailed_statistics, flag_remove_unreachable_functions): Remove.
+ * toplev.c (flag_detailed_statistics, flag_signed_char,
+ flag_short_enums, flag_pcc_struct_return, flag_ira_verbose): Remove.
+ (DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
+ * toplev.h (flag_crossjumping, flag_if_conversion,
+ flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
+ flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
+ flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
+ flag_cprop_registers, time_report, flag_ira_loop_pressure,
+ flag_ira_coalesce, flag_ira_move_spills,
+ flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
+
+2010-06-07 Jan Hubicka <jh@suse.cz>
+
+ * df-core.c (df_analyze_problem): Do verification after allocation.
+
+ * df-problems.c (df_lr_problem_data): Add lr_bitmaps.
+ (df_lr_alloc): Initialize problem data; move bitmaps to
+ lr_bitmaps obstack.
+ (df_lr_finalize): Free problem data; do not bother to free bitmaps.
+ (df_lr_verify_solution_start): Do not initialize problem data;
+ allocate bitmaps in lr_bitmaps.
+ (df_lr_verify_solution_end): Do not free problem data.
+
+2010-06-07 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_edge_cannot_lead_to_return): Also check
+ if caller is noreturn.
+ * ipa-reference.c (analyze_function): Use ipa_ref_cannot_lead_to_return
+ * ipa-ref.h (ipa_ref_cannot_lead_to_return): New function.
+ * ipa-ref.c (ipa_ref_cannot_lead_to_return): New function.
+ * ipa-pure-const.c (check_decl): Add IPA parameter.
+ (state_from_flags): New function.
+ (better_state, worse_state): New functions.
+ (check_call): When in IPA mode, do not care about callees.
+ (check_load, check_store): Update.
+ (check_ipa_load, check_ipa_store): New.
+ (check_stmt): When in IPA mode, use IPA checkers.
+ (analyze_function): Use state_from_flags.
+ (propagate): Check indirect edges and references.
+
+2010-06-07 Kazu Hirata <kazu@codesourcery.com>
+
+ PR rtl-optimization/44404
+ * auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
+ of count_occurrences to see if it's safe to modify mem_insn.
+
+2010-06-07 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (gimplify_cleanup_point_expr): For empty body
+ and EH-only cleanup drop the cleanup instead of inserting it
+ unconditionally.
+
+2010-06-07 Ira Rosen <irar@il.ibm.com>
+
+ * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update
+ documentation.
+ * targhooks.c (default_builtin_vectorization_cost): New function.
+ * targhooks.h (default_builtin_vectorization_cost): Declare.
+ * target.h (enum vect_cost_for_stmt): Define.
+ (builtin_vectorization_cost): Change argument and comment.
+ * tree-vectorizer.h: Remove cost model macros.
+ * tree-vect-loop.c: Include target.h.
+ (vect_get_cost): New function.
+ (vect_estimate_min_profitable_iters): Replace cost model macros with
+ calls to vect_get_cost.
+ (vect_model_reduction_cost, vect_model_induction_cost): Likewise.
+ * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Add
+ default implementation.
+ * tree-vect-stmts.c (cost_for_stmt): Replace cost model macros with
+ calls to target hook builtin_vectorization_cost.
+ (vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
+ Likewise.
+ * Makefile.in (tree-vect-loop.o): Add dependency on TARGET_H.
+ * config/spu/spu.c (spu_builtin_vectorization_cost): Replace with new
+ implementation to return costs.
+ * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
+ * config/spu/spu.h: Remove vectorizer cost model macros.
+ * config/i386/i386.h: Likewise.
+ * tree-vect-slp.c (vect_build_slp_tree): Replace cost model macro with
+ a call to target hook builtin_vectorization_cost.
+
+2010-06-06 Sriraman Tallam <tmsriram@google.com>
+
+ PR target/44319
+ * config/i386/i386.c (override_options): Turn zee pass on for level 2
+ and above and defer till target is known.
+ (optimization_options): Turn on zee pass if TARGET_64BIT is set and
+ turn off otherwise.
+
+2010-05-25 Jan Hubicka <jh@suse.cz>
+
+ * df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
+ (df_compact_blocks): Likewise.
+ * df.h (struct df): Turn hardware_regs_used,
+ regular_block_artificial_uses, eh_block_artificial_uses,
+ insns_to_delete, insns_to_rescan, insns_to_notes_rescan into
+ bitmap_head.
+ * df-problems.c (df_lr_local_compute, df_lr_confluence_0,
+ df_byte_lr_alloc, df_simulate_fixup_sets): Update.
+ * df-scan.c (df_scan_free_internal, df_scan_alloc, df_scan_start_dump,
+ df_scan_blocks, df_insn_delete, df_insn_rescan,
+ df_insn_rescan_debug_internal, df_insn_rescan_all,
+ df_process_deferred_rescans, df_process_deferred_rescans,
+ df_notes_rescan, df_get_call_refs, df_get_call_refs,
+ regs_invalidated_by_call_regset, df_get_call_refs, df_bb_refs_collect,
+ df_record_entry_block_defs, df_record_exit_block_uses,
+ df_update_exit_block_uses, df_bb_verify, df_entry_block_bitmap_verify,
+ df_scan_verify): Update.
+
+2010-05-25 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/44188
+ * c-common.c (is_typedef_decl): Move this definition ...
+ * tree.c (is_typedef_decl): ... here.
+ (typdef_variant_p): Move definition here from cp/tree.c.
+ * c-common.h (is_typedef_decl): Move this declaration ...
+ * tree.h (is_typedef_decl): ... here.
+ (typedef_variant_p): Move declaration here from cp/cp-tree.h
+ * dwarf2out.c (is_naming_typedef_decl): New function.
+ (gen_tagged_type_die): Split out of ...
+ (gen_type_die_with_usage): ... this function. When an anonymous
+ tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
+ is emitted for the typedef.
+ (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
+ anonymous tagged types.
+
+2010-06-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/20000
+ * c-decl.c (grokdeclarator): Delete warning.
+
+2010-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stor-layout.c (self_referential_size): Set UNKNOWN_LOCATION on the
+ newly built CALL_EXPR.
+ * tree-profile.c (tree_profiling): Don't profile functions produced
+ for built-in stuff.
+
+2010-06-06 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR bootstrap/44427
+ PR bootstrap/44428
+ * genautomata.c (SET_BIT, CLEAR_BIT, TEST_BIT): Make these macros
+ endianness-independent.
+
+2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * c-common.c: Move to c-family/.
+ * c-common.def: Likewise.
+ * c-common.h: Likewise.
+ * c-cppbuiltin.c: Likewise.
+ * c-dump.c: Likewise.
+ * c-format.c: Likewise.
+ * c-format.h : Likewise.
+ * c-gimplify.c: Likewise.
+ * c-lex.c: Likewise.
+ * c-omp.c: Likewise.
+ * c.opt: Likewise.
+ * c-opts.c: Likewise.
+ * c-pch.c: Likewise.
+ * c-ppoutput.c: Likewise.
+ * c-pragma.c: Likewise.
+ * c-pragma.h: Likewise.
+ * c-pretty-print.c: Likewise.
+ * c-pretty-print.h: Likewise.
+ * c-semantics.c: Likewise.
+ * stub-objc.c: Likewise.
+
+ * gengtype.c (get_file_langdir): Special-case files in c-family/.
+ (get_output_file_with_visibility): Fix name for c-common.h.
+ * c-config-lang.in: Update paths in gtfiles for files in c-family/.
+
+ * c-tree.h: Update include path for moved files.
+ * c-lang.c: Likewise.
+ * c-lang.h: Likewise.
+ * c-parser.c: Likewise.
+ * c-convert.c: Likewise.
+ * c-decl.c: Likewise.
+ * c-objc-common.c: Likewise.
+ * configure.ac: Make sure c-family/ exists in the build directory.
+ * configure: Regenerate.
+ * Makefile.in: Update paths for moved files. Regroup files per
+ location and update dependencies. Move generated_files down after
+ ALL_GTFILES_H.
+
+ * config/spu/spu-c.c: Update paths for moved files.
+ * config/mep/mep-pragma.c: Likewise.
+ * config/darwin-c.c: Likewise.
+ * config/i386/msformat-c.c: Likewise.
+ * config/i386/i386-c.c: Likewise.
+ * config/avr/avr-c.c: Likewise.
+ * config/sol2-c.c: Likewise.
+ * config/ia64/ia64-c.c: Likewise.
+ * config/rs6000/rs6000-c.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/arm/arm-c.c: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/v850/v850-c.c: Likewise.
+
+ * config/t-darwin: Fix dependencies for moved files.
+ * config/t-sol2: Fix dependencies for moved files.
+ * config/mep/t-mep: Fix dependencies for moved files.
+ * config/ia64/t-ia64: Fix dependencies for moved files.
+ * config/rs6000/t-rs6000: Fix dependencies for moved files.
+ * config/v850/t-v850: Fix dependencies for moved files.
+ * config/v850/t-v850e: Fix dependencies for moved files.
+
+ * config/m32c/m32c-pragma.c
+
+ * po/exgettext: Look in c-family/ also.
+
+2010-06-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-dce.c (mark_last_stmt_necessary): New function.
+ (mark_control_dependent_edges_necessary): Call it instead of marking
+ the last statement manually.
+ (propagate_necessity): Likewise.
+
+2010-06-05 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (compute_dominance_frontiers): Updated.
+ (compute_idf): Likewise.
+
+ * tree-into-ssa.c (insert_phi_nodes): Use bitmap heads
+ for dominance frontiers.
+ (rewrite_into_ssa): Update for bitmap heads in dominance frontiers.
+ (insert_updated_phi_nodes_for): Likewise.
+ (update_ssa): Likewise.
+ * cfganal.c (compute_dominance_frontiers_1): Likewise.
+ (compute_dominance_frontiers): Likewise.
+ (compute_idf): Likewise.
+ * df-problems.c (df_md_local_compute): Likewise.
+
+2010-06-05 Anatoly Sokolov <aesok@post.ru>
+
+ * target.h (struct gcc_target): Add memory_move_cost field.
+ * target-def.h (TARGET_MEMORY_MOVE_COST): New.
+ (TARGET_INITIALIZER): Use TARGET_MEMORY_MOVE_COST.
+ * targhooks.c (default_memory_move_cost): New function.
+ * targhooks.h (default_memory_move_cost): Declare function.
+ * reload.h (memory_move_cost): Declare.
+ (memory_move_secondary_cost): Change type of 'in' argument to bool.
+ * reginfo.c (memory_move_cost): New function.
+ (memory_move_secondary_cost): Change type of 'in' argument to bool.
+ * ira.h (ira_memory_move_cost): Update comment.
+ * ira.c (ira_memory_move_cost): Update comment.
+ (setup_class_subset_and_memory_move_costs): Replace MEMORY_MOVE_COST
+ with memory_move_cost.
+ * postreload.c (reload_cse_simplify_set): (Ditto.).
+ * reload1.c (choose_reload_regs): (Ditto.).
+ * doc/tm.texi (TARGET_MEMORY_MOVE_COST): New.
+ (MEMORY_MOVE_COST): Revise documentation.
+
+ * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
+ * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
+ * config/i386/i386.h (ix86_memory_move_cost): Make static. Change
+ type of 'in' argument to bool.
+ (TARGET_MEMORY_MOVE_COST): Define.
+
+2010-06-05 Jan Hubicka <jh@suse.cz>
+
+ * ipa-pure-const.c (propagate): Fix typo in handling of functions
+ that cannot return. Be more careful when merging the results with
+ previously known ones.
+
+2010-06-05 Matthias Klose <doko@ubuntu.com>
+
+ * gcc.c (cc1_options, cpp_unique_options): Use find-plugindir spec
+ function to add the -iplugindir option.
+ (find_plugindir_spec_function): Add new declaration and function.
+ (static_spec_func): Use it for "find-plugindir".
+
+2010-06-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/44361
+ * c-typeck.c (mark_exp_read): Handle C_MAYBE_CONST_EXPR.
+ * c-parser.c (c_parser_postfix_expression): Call mark_exp_read on
+ statement expression.
+
+2010-06-05 Jan Hubicka <jh@suse.cz>
+
+ * df-problems.c (seen_in_block, seen_in_insn): Convert to bitmap_head.
+ (df_rd_problem_data): Convert sparse_invalidated_by_call,
+ dense_invalidated_by_call to bitmap head.
+ (df_rd_alloc, df_rd_bb_local_compute_process_def,
+ df_rd_bb_local_compute, df_rd_confluence_n, df_rd_transfer_function,
+ df_rd_start_dump, df_lr_verify_transfer_functions,
+ df_live_verify_transfer_functions, df_chain_create_bb,
+ df_chain_add_problem, df_byte_lr_check_regs, df_byte_lr_alloc,
+ df_byte_lr_confluence_0, df_byte_lr_confluence_n, df_note_compute,
+ df_simulate_one_insn_forwards, df_md_alloc,
+ df_md_bb_local_compute_process_def,
+ df_md_bb_local_compute_process_def, df_md_local_compute,
+ df_md_transfer_function df_md_free): Update.
+
+2010-06-05 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/44322
+ * c-typeck.c (build_unary_op): Merge qualifiers into pointer
+ target type for ADDR_EXPR; require no changes to qualifiers except
+ for function types.
+ * c-tree.h (c_build_type_variant): Remove.
+
+2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * genautomata.c (get_excl_set): Do work per element, not per char.
+ (check_presence_pattern_sets): Similar.
+ (check_absence_pattern_sets): Similar.
+
+2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * genautomata.c (curr_state_pass_num): Delete.
+ (min_issue_delay_pass_states): Delete.
+ (min_issue_delay): Delete.
+ (initiate_min_issue_delay_pass_states): Delete.
+ (output_min_issue_delay_table): Compute min_issue_delay_vect
+ using a breadth-first search variant.
+ (output_tables): Don't call initiate_min_issue_delay_pass_states.
+
+2010-06-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR boostrap/44421
+ * df-problems.c (df_lr_bb_local_compute): Updated for embedded bitmaps.
+ (df_byte_lr_bb_local_compute): Likewise.
+
+2010-06-03 Jason Merrill <jason@redhat.com>
+
+ Implement noexcept operator (5.3.7)
+ * c-common.c (c_common_reswords): Add noexcept.
+ * c-common.h (enum rid): Add RID_NOEXCEPT.
+
+2010-06-04 Joseph Myers <joseph@codesourcery.com>
+
+ * config/darwin-driver.c (darwin_default_min_version): Use
+ GCC-specific formats in diagnostics.
+ * cppspec.c (lang_specific_driver): Use GCC-specific formats in
+ diagnostics.
+ * gcc.c (translate_options, read_specs, add_sysrooted_prefix,
+ execute, process_command, end_going_arg, do_self_spec, do_spec_1,
+ eval_spec_function, handle_braces, process_brace_body, main,
+ perror_with_name, used_arg, set_multilib_dir, print_multilib_info,
+ getenv_spec_function, compare_version_strings,
+ version_compare_spec_function): Use GCC-specific formats in
+ diagnostics.
+
+2010-06-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*addhi_1_lea) <TYPE_INCDEC, default>: Assert
+ that operand 0 and operand 1 are equal.
+ (*addqi_1_lea) <TYPE_INCDEC, default>: Ditto.
+ (*add<mode>_2) <TYPE_INCDEC>: Remove assert that operand 0
+ and operand 1 are equal.
+ <default>: Ditto. Remove ??? comment.
+ (*add<mode>_3) <TYPE_INCDEC>: Remove assert that operand 0
+ and operand 1 are equal.
+ <default>: Ditto. Remove ??? comment.
+ (*adddi_4) <default>: Remove assert that operand 0 and operand 1
+ are equal.
+ (*add<mode>_4) <default>: Ditto.
+ (*add<mode>_5) <TYPE_INCDEC, default>: Ditto.
+
+2010-06-04 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/i386/i386-protos.h (ix86_print_operand): Declare.
+ * config/i386/i386.c (ix86_print_operand): Make non-static.
+ * config/i386/sol2.h (ASM_OUTPUT_CALL): Call ix86_print_operand.
+ * output.h (output_operand): Declare.
+ * final.c (output_operand): Make non-static.
+
+2010-06-04 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/44013
+ * sched-deps.c (add_dependence_list_and_free): Don't free lists
+ when processing debug insns.
+
+ PR debug/41371
+ * var-tracking.c (find_loc_in_1pdv): Mark initial value before
+ recursing. Check that recursion is bounded. Rename inner var
+ to avoid hiding incoming argument.
+
+2010-06-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*addqi_2) <TYPE_INCDEC>: Do not assert that
+ operands[2] == 255.
+ (*addqi_3): Ditto.
+ (*addqi_4): Ditto.
+ (*addqi_5): Ditto.
+ (*addqi_ext_1_rex64): Ditto.
+ (*addqi_ext_1): Ditto.
+
+ (*addqi_4): Check for incdec_operand in QImode.
+
+ (*add<mode>_2): Macroize insn from *add<mode>_2 and *add{qi,hi}_2
+ using SWI mode iterator.
+ (*add<mode>_3): Ditto from *add<mode>_3 and *add{qi,hi}_3.
+ (*add<mode>_4): Macroize insn from *add{qi,hi,si}_4 using SWI124
+ mode iterator.
+ (*add<mode>_5): Macroize insn from *add<mode>_5 and *add{qi,hi}_5
+ using SWI mode iterator.
+
+2010-06-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/25880
+ * c-objc-common.c (c_tree_printer): Handle %V, %v and %#v.
+ * c-format.c (gcc_diag_flag_specs): Add hash.
+ (gcc_cxxdiag_flag_specs): Use gcc_diag_flag_specs directly.
+ (gcc_tdiag_char_table,gcc_cdiag_char_table): Handle %V and %v.
+ * c-pretty-print.c (pp_c_cv_qualifier): Rename as
+ pp_c_cv_qualifiers. Handle qualifiers spelling here.
+ (pp_c_type_qualifier_list): Call the function above.
+ * c-pretty-print.h (pp_c_cv_qualifiers): Declare.
+ * c-typeck.c (handle_warn_cast_qual): Print qualifiers.
+ (WARN_FOR_QUALIFIERS): New macro.
+ (convert_for_assignment): Use it.
+
+2010-06-04 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix by '*'.
+
+2010-06-04 Jan Hubicka <jh@suse.cz>
+
+ * df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
+ df_byte_lr_bb_info): Embedd bitmap_head into the structure.
+ (DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
+ DF_BYTE_LR_OUT): Update for embedded bitmaps.
+ * fwprop.c (single_def_use_enter_block): Likewise.
+ * ddg.c (create_ddg_dep_from_intra_loop_link,
+ add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
+ * loop-iv.c (latch_dominating_def): Likewise.
+ * df-problems.c (df_rd_free_bb_info, df_rd_alloc,
+ df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
+ df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
+ df_rd_transfer_function, df_rd_top_dump,
+ df_rd_bottom_dump): Update.
+ (df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
+ df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
+ df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
+ df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
+ df_lr_verify_solution_start, df_lr_verify_solution_end,
+ df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
+ df_live_free_bb_info, df_live_alloc, df_live_reset,
+ df_live_bb_local_compute, df_live_init, df_live_transfer_function,
+ df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
+ df_live_verify_solution_start, df_live_verify_solution_end,
+ df_live_verify_transfer_functions, df_chain_create_bb,
+ df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
+ df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
+ df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
+ df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
+ df_byte_lr_confluence_0, df_byte_lr_confluence_n,
+ df_byte_lr_transfer_function, df_byte_lr_top_dump,
+ df_byte_lr_bottom_dump, df_create_unused_note,
+ df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
+ df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
+ df_md_transfer_function, df_md_init, df_md_confluence_0,
+ df_md_confluence_n,
+ df_md_top_dump, df_md_bottom_dump): Update.
+ (struct df_lr_problem_data): Embedd bitmap headers.
+
+2010-06-04 Jan Hubicka <jh@suse.cz>
+
+ * dce.c (dce_process_block): Do not re-scan already marked
+ instructions.
+
+2010-06-04 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/39871
+ PR rtl-optimization/40615
+ PR rtl-optimization/42500
+ PR rtl-optimization/42502
+ * ira.c (init_reg_equiv_memory_loc: New function.
+ (ira): Call it twice.
+ * reload.h (calculate_elim_costs_all_insns): Declare.
+ * ira-costs.c: Include "reload.h".
+ (regno_equiv_gains): New static variable.
+ (init_costs): Allocate it.
+ (finish_costs): Free it.
+ (ira_costs): Call calculate_elim_costs_all_insns.
+ (find_costs_and_classes): Take estimated elimination costs
+ into account.
+ (ira_adjust_equiv_reg_cost): New function.
+ * ira.h (ira_adjust_equiv_reg_cost): Declare it.
+ * reload1.c (init_eliminable_invariants, free_reg_equiv,
+ elimination_costs_in_insn, note_reg_elim_costly): New static functions.
+ (elim_bb): New static variable.
+ (reload): Move code out of here into init_eliminable_invariants and
+ free_reg_equiv. Call them.
+ (calculate_elim_costs_all_insns): New function.
+ (eliminate_regs_1): Declare. Add extra arg FOR_COSTS;
+ all callers changed. If FOR_COSTS is true, don't call alter_reg,
+ but call note_reg_elim_costly if we turned a valid memory address
+ into an invalid one.
+ * Makefile.in (ira-costs.o): Depend on reload.h.
+
+2010-06-04 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
+ for pool ranges.
+
+2010-06-04 Richard Guenther <rguenther@suse.de>
+
+ PR lto/41584
+ * cgraph.h (struct varpool_node): Add lto_file_data field.
+ * lto-cgraph.c (input_varpool_node): Initialize it.
+
+2010-06-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (pic_symbolic_operand): Remove predicate.
+ * config/i386/i386.md (*add<mode>_1): Do not use pic_symbolic_operand
+ predicate in "type" attribute calculation.
+ (*addsi_1_zext): Ditto.
+ (*add<mode>_2): Do not use pic_symbolic_operand in insn predicate.
+ (*addsi_2_zext): Ditto.
+ (*add<mode>_3): Ditto.
+ (*addsi_3_zext): Ditto.
+ (*add<mode>_5): Ditto.
+
+2010-06-03 Jan Hubicka <jh@suse.cz>
+
+ * tree-into-ssa.c (mark_block_for_update): Avoid redundant call
+ of bitmap_bit_p.
+ * cfganal.c (compute_dominance_frontiers_1): Likewise.
+
+2010-06-03 Jan Hubicka <jh@suse.cz>
+
+ * df-problems.c (df_create_unused_note, df_note_bb_compute):
+ micro-optimize the checks when to add new note.
+
+2010-06-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * final.c (output_asm_insn): Call
+ targetm.asm_out.print_operand_punct_valid_p. Update comments.
+ (output_operand): Call targetm.asm_out.print_operand. Update comments.
+ (output_address): Call targetm.asm_out.print_operand_address.
+ Update comments.
+ * target.h (struct gcc_target): Add print_operand,
+ print_operand_address, and print_operand_punct_valid_p fields.
+ * targhooks.h (default_print_operand): Declare.
+ (default_print_operand_address): Declare.
+ (default_print_operand_punct_valid_p): Declare.
+ * targhooks.c (default_print_operand): Define.
+ (default_print_operand_address): Define.
+ (default_print_operand_punct_valid_p): Define.
+ * target-def.h (TARGET_PRINT_OPERAND): Define if not defined.
+ (TARGET_PRINT_OPERAND_ADDRESS): Likewise.
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Likewise.
+ (TARGET_ASM_OUT): Add TARGET_PRINT_OPERAND,
+ TARGET_PRINT_OPERAND_ADDRESS, and TARGET_PRINT_OPERAND_PUNCT_VALID_P.
+ * vmsdbgout.c (addr_const_to_string): Update comment.
+ * config/i386/i386.c (print_operand): Rename to...
+ (ix86_print_operand): ...this. Make static.
+ (print_operand_address): Rename to...
+ (ix86_print_operand_address): ...this. Make static. Call
+ ix86_print_operand instead of PRINT_OPERAND.
+ (ix86_print_operand_punct_valid_p): New function.
+ (TARGET_PRINT_OPERAND): Define.
+ (TARGET_PRINT_OPERAND_ADDRESS): Define.
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
+ * config/i386/i386.h (HI_REGISTER_NAMES): Update comment.
+ (PRINT_OPERAND_PUNCT_VALID_P): Delete.
+ (PRINT_OPERAND): Delete.
+ (PRINT_OPERAND_ADDRESS): Delete.
+ * config/i386/i386-protos.h (print_operand): Delete prototype.
+ (print_operand_address): Delete prototype.
+
+2010-06-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44403
+ * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
+ Preserve pointer qualifiers.
+ (vect_create_data_ref_ptr): Likewise.
+
+2010-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR c++/44294
+ * defaults.h (MAX_FIXED_MODE_SIZE): New.
+
+ * stor-layout.c (MAX_FIXED_MODE_SIZE): Removed.
+
+2010-06-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44375
+ * tree-cfg.c (gimple_can_merge_blocks_p): For -O0
+ return false if merging the bbs would lead to goto_locus
+ location being lost from the IL.
+
+2010-06-03 Jan Hubicka <jh@suse.cz>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
+ set->regs[i] is NULL or has just one entry.
+
+2010-06-03 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (lto_varpool_encoder_size): Remove.
+ * lto-streamer.h (lto_varpool_encoder_size): New inline function.
+
+2010-06-03 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (FL_TUNE): Define.
+ (arm_default_cpu, arm_cpu_select): Remove.
+ (all_cores): Populate core field.
+ (arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
+ (arm_find_cpu): New function.
+ (arm_handle_option): Lookup cpu/architecture names.
+ (arm_override_options): Cleanup mcpu/march/mtune handling.
+ (arm_file_start): Ditto.
+
+2010-06-03 Alan Modra <amodra@gmail.com>
+
+ PR target/44169
+ * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand.
+ * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label
+ rtx to gen_load_toc_v4_PIC_1b. Tidy.
+ (rs6000_emit_load_toc_table): Likewise.
+
+2010-06-02 Jan Hubicka <jh@suse.cz>
+
+ * passes.c (init_optimization_passes): Put ipa reference
+ after ipa pure-const.
+
+2010-06-02 Jan Hubicka <jh@suse.cz>
+
+ * ipa-reference.c (ipa_reference_local_vars_info_d): Remove
+ calls_read_all and calls_write_all.
+ (get_reference_optimization_summary): Fix formatting.
+ (is_proper_for_analysis): Check that decl is not readonly.
+ (propagate_bits): Check CONST/PURE/noreturn flags.
+ (ipa_init): Move all_module_statics to optimization_summary_obstack.
+ (analyze_function): Ignore indirect edges.
+ (copy_global_bitmap): For all module statics, do nothing.
+ (generate_summary): Do not print calls_read_all/calls_write_all.
+ (read_write_all_from_decl): Take node as argument; check
+ cgraph_node_cannot_return.
+ (propagate): Reorganize read_all/write_all computation;
+ check indirect edges; check ecf flags; use all_module_statics
+ in the results; do not free all_module_statics.
+ (stream_out_bitmap): Handle all_module_statics.
+ (ipa_reference_write_optimization_summary): Likewise; use
+ varpool/cgraph encoders to get boundaries.
+ (ipa_reference_read_optimization_summary): Read in all_module_statics;
+ use it when possible.
+
+2010-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/44218
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Delete obsolete
+ -mswdiv option. Add -mrecip, -mrecip=<xxx>, -mrecip-precision options.
+
+ * doc/extend.texi (powerpc builtins): Document vec_recip,
+ vec_rsqrt, vec_rsqrte altivec/vsx builtins.
+
+ * config/rs6000/rs60000-protos.h (rs6000_emit_swdiv): New function.
+ (rs6000_emit_swrsqrt): Ditto.
+ (rs6000_emit_swdivsf): Delete.
+ (rs6000_emit_swdivdf): Ditto.
+ (rs6000_emit_swrsqrtsf): Ditto.
+
+ * config/rs6000/rs6000.c (rs6000_recip_bits): New global to
+ describe the reciprocal estimate support for each type.
+ (recip_options): Map -mrecip=<opt> into option bits.
+ (gen_2arg_fn_t): New typedef for binary rtx gen function.
+ (rs6000_debug_reg_global): If -mdebug=reg, print the state of the
+ reciprocal estimate instructions.
+ (rs6000_init_hard_regno_mode_ok): Key ws constraint off of the
+ debug -mvsx-scalar-memory switch instead of -mvsx-scalar-double.
+ Set up rs6000_recip_bits based on the -mrecip* options. Print the
+ cost information if -mdebug=cost or -mdebug=reg.
+ (rs6000_override_options): Set -mrecip-precision for power6, and
+ power7 machines. If -mvsx or -mdfp, enable various options that
+ came in previous instruction set ISAs, unless the option was
+ explicitly disabled by the command line option. Parse
+ -mrecip=<opt> options.
+ (rs6000_builtin_vectorized_function): Add support for vectorizing
+ the reciprocal estimate builtins and expansions.
+ (rs6000_handle_option): Add -mrecip, -mrecip=<opt> support.
+ (bdesc_2arg): Add reciprocal estimate builtins.
+ (bdesc_1arg): Add reciprocal square root estimate builtins.
+ (rs6000_expand_builtin): Rewrite to use a switch statement,
+ instead of multiple if/then/elses. Add reciprocal estimate builtins.
+ (rs6000_init_builtins): Create declarations for reciprocal
+ estimate builtins.
+ (rs6000_preferred_reload_class): Simplify VSX preferences, if scalar
+ sized, prefer traditional floating point registers, if integer
+ vector types, prefer altivec registers. Don't actually look at
+ the memory address any more.
+ (rs6000_builtin_reciprocal): Add new builtin reciprocal estimate
+ builtins.
+ (rs6000_load_constant_and_splat): New helper function to load up
+ the constant for reciprocal estimate instructions.
+ (rs6000_emit_madd): New helper function for generating
+ multiply/add type instructions, based on the current switches.
+ (rs6000_emit_msub): Ditto.
+ (rs6000_emit_mnsub): Ditto.
+ (rs6000_emit_swdiv_high_precision): Replace rs6000_emit_swdivsf to
+ replace a divide with a reciprocal estimate and fixup, adding
+ support for machines with high precision and vectors.
+ (rs6000_emit_swdiv_low_precision): Rewrite rs6000_emit_swdivdf for
+ low precision machines.
+ (rs6000_emit_swdiv): New common function to be called to replace a
+ division with reciprocal estimate and fixup.
+ (rs6000_emit_swrsqrt): Replace rs6000_emit_swrsqrtsf. Add support
+ for double and vector types. Add support for high precision machines.
+
+ * config/rs6000/rs6000.h (TARGET_FRES): New macro to say whether
+ the reciprocal estimate instructions can be generated.
+ (TARGET_FRE): Ditto.
+ (TARGET_FRSQRTES): Ditto.
+ (TARGET_FRSQRTE): Ditto.
+ (RS6000_RECIP_*): New macros for reciprocal estimate support.
+
+ * config/rs6000/vector.md (rsqrte<mode>2): New insn for reciprocal
+ square root estimate on vectors.
+ (re<mode>2): New insn for reciprocal division estimate on vectors.
+
+ * config/rs6000/rs6000-buitlins.def (ALTIVEC_BUILTIN_VRSQRTFP):
+ New builtin.
+ (ALTIVEC_BUILTIN_VRECIPFP): Ditto.
+ (ALTIVEC_BUITLIN_VEC_RE): Ditto.
+ (ALTIVEC_BUILTIN_VEC_RSQRT): Ditto.
+ (VSX_BUILTIN_RSQRT_V4SF): Ditto.
+ (VSX_BUITLIN_RSQRT_V2DF): Ditto.
+ (RS6000_BUILTIN_RSQRT): Ditto.
+ (ALTIVEC_BUILTIN_VEC_RSQRTE): Denote that the builtin is a
+ floating point builtin.
+
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+ macros __RECIP__, __RECIPF__, __RSQRTE__, __RSQRTEF__,
+ __RECIP_PRECISION__ based on the command line switches.
+ (altivec_overloaded_builtins): Add reciprocal estimate builtins.
+
+ * config/rs6000/rs6000.opt (-mrecip): Document add support for
+ replacing division instructions with reciprocal estimate and fixup.
+ (-mrecip=<opt>): New option.
+ (-mrecip-precision): Ditto.
+
+ * config/rs6000/vsx.md (UNSPEC_VSX_RSQRTE): Delete.
+ (vsx_rsqrte<mode>2): Use UNSPEC_RSQRT not UNSPEC_VSX_RSQRTE.
+ (vsx_copysignsf3): If -mvsx, use double precision cpsign on single
+ precision scalar.
+
+ * config/rs6000/altivec.md (UNSPEC_RSQRTEFP): Delete.
+ (UNSPEC_VREFP): Ditto.
+ (altivec_vnmsubfp*): Make altivec nmsub mirror the scalar and VSX
+ conterparts with regard to support of -mno-fused-madd and -ffast-math.
+ (altivec_vrsqrtefp): Use common UNSPEC to allow scalar/vector
+ reciprocal estimate instructions to be generated.
+ (altivec_vrefp): Ditto.
+
+ * config/rs6000/rs6000.md (RECIPF): New iterator for reciprocal
+ estimate support.
+ (rreg): New mode attribute for reciprocal estimate support.
+ (recip<mode>3): New insn for division using reciprocal estimate
+ and fixup builtins.
+ (divide define_split): New define_split to convert floating point
+ division to use reciprocal estimate if the user used the
+ appropriate options and the split is run when we can add new
+ pseudo registers for the fixup.
+ (rsqrt<mode>2): New insn for reciprocal square root support.
+ (recipsf3): Move into recip<mode>3.
+ (recipdf3): Ditto.
+ (fres): Use TARGET_FRES.
+ (rsqrtsf2): Move into rsqrt<mode>2.
+ (rsqrtsf_internal1): Use TARGET_FRSQRTSES.
+ (copysignsf3): Add support for VSX.
+ (fred): Use TARGET_FRE.
+ (fred_fpr): Ditto.
+ (rsqrtdf_internal1): New function for frsqrte instruciton.
+
+ * config/rs6000/altivec.h (vec_recipdiv): Define new vector builtin.
+ (vec_rsqrt): Ditto.
+
+2010-06-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44291
+ * optabs.c (init_one_libfunc): Use IDENTIFIER_HASH_VALUE.
+ (set_user_assembler_libfunc): Likewise.
+
+2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * mkconfig.sh: Include insn-flags.h and insn-constants.h before
+ defaults.h.
+ * except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
+ to defaults.h
+ * expr.h (BRANCH_COST, MOVE_RATIO, CLEAR_RATIO, SET_RATIO,
+ DEFAULT_FUNCTION_ARG_PADDING, FUNCTION_ARG_PADDING,
+ FUNCTION_ARG_BOUNDARY, STACK_SAVEAREA_MODE, STACK_SIZE_MODE,
+ STACK_CHECK_BUILTIN, STACK_CHECK_STATIC_BUILTIN,
+ STACK_CHECK_PROBE_INTERVAL_EXP, STACK_CHECK_MOVING_SP,
+ STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT,
+ STACK_CHECK_MAX_FRAME_SIZE, STACK_CHECK_FIXED_FRAME_SIZE,
+ STACK_CHECK_MAX_VAR_SIZE): Move target macro defaults to defaults.h.
+ * defaults.h: Updated for above mentioned changes.
+
+2010-06-02 Kai Tietz <kai.tietz@onevision.com>
+
+ * c-common.c: Remove header include of tm_p.h.
+ * Makefile.in (c-common.o): Remove TM_P_H dependency.
+
+2010-06-02 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.h (struct tree_decl_map): New type.
+ (tree_decl_map_eq, tree_decl_map_marked_p): Define.
+ (tree_decl_map_hash): New prototype.
+ (debug_expr_for_decl, value_expr_for_decl): Change into
+ tree_decl_map hashtab from tree_map.
+ (init_ttree): Adjust initialization.
+ (tree_decl_map_hash): New function.
+ (decl_debug_expr_lookup, decl_debug_expr_insert,
+ decl_value_expr_lookup, decl_value_expr_insert): Adjust.
+
+2010-06-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
+ linker emulations.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+ * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
+ (X86_64_EMULATION): Define.
+ (TARGET_LD_EMULATION): Use them.
+
+ * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
+ (SPARC64_EMULATION): Define.
+ (LINK_ARCH_SPEC): Use them.
+
+2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (gcc_type_for_interval): Use
+ smallest_mode_for_size for computing the precision types of new
+ graphite IVs. Do not call lang_hooks.types.type_for_size.
+
+2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
+ information.
+ (remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
+
+2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/44363
+ * tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
+ return false instead.
+
+2010-06-02 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44295
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
+ create new cgraph node to check callee.
+
+2010-06-02 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer-in.c (input_gimple_stmt): Fix typo.
+
+2010-06-02 Richard Guenther <rguenther@suse.de>
+
+ * lto-wrapper.c (lto_wrapper_exit): Rename to ...
+ (lto_wrapper_cleanup): ... this. Do not exit.
+ (fatal): Adjust. Exit here.
+ (fatal_perror): Likewise.
+ (fatal_signal): New function.
+ (main): Set up signal handlers to cleanup temporary files.
+ * Makefile.in (lto-wrapper.o): Adjust dependencies.
+
+2010-06-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44377
+ * tree-ssa-structalias.c (find_func_aliases): Fix typo.
+
+2010-06-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/2097.md (z10_fhex): Remove insn reservation.
+ * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
+ (*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF,
+ *mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero
+ instruction.
+ * config/s390/s390.c: Don't accept fp zeros as valid constants anymore.
+
+2010-06-02 Jan Hubicka <jh@suse.cz>
+
+ * bitmap.c (bitmap_descriptor): Add search_iter.
+ (bitmap_find_bit): Increment it.
+ (print_statistics): Print it.
+
+2010-06-02 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree-vect-slp.c (vect_create_mask_and_perm): Use gimple_build_call
+ instead of gimple_build_call_vec. Delete unnecessary local variable.
+
+2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
+ change from yesterday.
+
+2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * c-ada-spec.c: Clean up redundant includes.
+
+2010-06-01 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gimplify.c: Do not include except.h and optabs.h.
+ (gimplify_body): Do not initialize RTL profiling.
+ * gimple-low.c: Do not include rtl.h, diagnostic.h, langhooks.h,
+ langhooks-def.h, timevar.h, except.h, hashtab.h, and expr.h.
+ * gimple-fold.c: Do not include rtl.h, tm_p.h, ggc.h, basic-block.h,
+ output.h, expr.h, diagnostic.h, timevar.h, value-prof.h, and
+ langhooks.h.
+
+ * tree-pretty-print.h: Include pretty-print.h.
+ * gimple-pretty-print.h: Include pretty-print.h.
+
+ * tree-pretty-print.c: Do not include diagnostic.h.
+ * tree-vrp.c: Likewise.
+ * tree-tailcall.c: Likewise
+ * tree-scalar-evolution.c: Likewise
+ * tree-ssa-dse.c: Likewise
+ * tree-chrec.c: Likewise
+ * tree-ssa-sccvn.c: Likewise
+ * tree-ssa-copyrename.c: Likewise
+ * tree-nomudflap.c: Likewise
+ * tree-call-cdce.c: Likewise
+ * tree-stdarg.c: Likewise
+ * tree-ssa-math-opts.c: Likewise
+ * tree-nrv.c: Likewise
+ * tree-ssa-sink.c: Likewise
+ * tree-browser.c: Likewise
+ * tree-ssa-loop-ivcanon.c: Likewise
+ * tree-ssa-loop.c: Likewise
+ * tree-parloops.c: Likewise
+ * tree-ssa-address.c: Likewise
+ * tree-ssa-ifcombine.c: Likewise
+ * tree-if-conv.c: Likewise
+ * tree-data-ref.c: Likewise
+ * tree-affine.c: Likewise
+ * tree-ssa-phiopt.c: Likewise
+ * tree-ssa-coalesce.c: Likewise
+ * tree-ssa-pre.c: Likewise
+ * tree-ssa-live.c: Likewise
+ * tree-predcom.c: Likewise
+ * tree-ssa-forwprop.c: Likewise
+ * tree-ssa-dce.c: Likewise
+ * tree-ssa-ter.c: Likewise
+ * tree-ssa-loop-prefetch.c: Likewise
+ * tree-optimize.c: Likewise
+ * tree-ssa-phiprop.c: Likewise
+ * tree-object-size.c: Likewise
+ * tree-outof-ssa.c: Likewise
+ * tree-ssa-structalias.c: Likewise
+ * tree-switch-conversion.c: Likewise
+ * tree-ssa-reassoc.c: Likewise
+ * tree-ssa-operands.c: Likewise
+ * tree-vectorizer.c: Likewise
+ * tree-vect-data-refs.c: Likewise
+ * tree-vect-generic.c: Likewise
+ * tree-vect-stmts.c: Likewise
+ * tree-vect-patterns.c: Likewise
+ * tree-vect-slp.c: Likewise
+ * tree-vect-loop.c: Likewise
+ * tree-ssa-loop-ivopts.c: Likewise
+ * tree-ssa-loop-im.c: Likewise
+ * tree-ssa-loop-niter.c: Likewise
+ * tree-ssa-loop-unswitch.c: Likewise
+ * tree-ssa-loop-manip.c: Likewise
+ * tree-ssa-loop-ch.c: Likewise
+ * tree-dump.c: Likewise
+ * tree-complex.c: Likewise
+
+ * tree-into-ssa.c: Do not include diagnostic.h and expr.h.
+ * tree-ssa-uninit.c: Likewise
+ * tree-ssa-threadupdate.c: Likewise
+ * tree-ssa-uncprop.c: Likewise
+ * tree-ssa-ccp.c: Likewise
+ * tree-ssa-dom.c: Likewise
+ * tree-ssa-propagate.c: Likewise
+ * tree-ssa-alias.c: Likewise
+ * tree-dfa.c: Likewise
+ * tree-cfgcleanup.c: Likewise
+ * tree-sra.c: Likewise
+ * tree-ssa-copy.c: Likewise
+ * tree-ssa.c: Likewise
+ * tree-profile.c: Likewise
+ * tree-cfg.c: Likewise
+ * tree-ssa-threadedge.c: Likewise
+ * tree-vect-loop-manip.c: Likewise
+
+ * tree-inline.c: Do not include diagnostic.h and expr.h.
+ Include rtl.h.
+ (copy_decl_for_dup_finish): Do not use NULL_RTX.
+
+ * tree-loop-linear.c: Do not include diagnostic.h, expr.h and optabs.h.
+ * tree-loop-distribution.c: Likewise.
+
+2010-06-01 Jan Hubicka <jh@suse.cz>
+
+ * ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
+
+2010-06-01 Jan Hubicka <jh@suse.cz>
+
+ * tree-cfgcleanup.c (fixup_noreturn_call): Break out from ...;
+ remove return value.
+ (split_bbs_on_noreturn_calls) .... here.
+ * tree-optimize.c (execute_fixup_cfg): Fixup noreturn calls too.
+ * tree-flow.h (fixup_noreturn_call): New.
+
+2010-06-01 Jan Hubicka <jh@suse.cz>
+
+ * emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
+
+2010-06-01 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (build_nt_call_list): Delete.
+ * tree.c (build_nt_call_list): Delete.
+
+2010-06-01 Jan Hubicka <jh@suse.cz>
+
+ * fwprop.c: Make emit-rtl.h include last.
+ * rtlanal.c: Include emit-rtl.h.
+ * genautomata.c: Output emit-rtl include into insn-automata.c
+ * df-scan.c: Include emit-rtl.h.
+ * haifa-sched.c: Indlude emit-rtl.h.
+ * mode-switching.c: Indlude emit-rtl.h.
+ * graph.c: Indlude emit-rtl.h.
+ * sel-sched.c: Include emit-rtl.h.
+ * sel-sched-ir.c: Include emit-rtl.h.
+ * ira-build.c: Include emit-rtl.h.
+ * emit-rtl.c (first_insn, last_insn): Remove defines.
+ (get_insns, set_first_insn, get_last_insn, set_last_insn, get_max_uid):
+ Move to emit-rtl.h.
+ (set_new_first_and_last_insn, get_last_insn_anywhere,
+ get_first_nonnote_insn, get_last_nonnote_insn, try_split,
+ make_call_insn_raw, add_insn_after, add_insn_before, remove_insn,
+ delete_insns_since, reorder_insns_nobb, emit_insn_after_1,
+ emit_debug_insn_before, emit_insn, start_sequence, push_to_sequence,
+ push_to_sequence2, push_topmost_sequence, end_sequence, copy_insn):
+ Use accessor functions.
+ * emit-rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
+ gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
+ set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
+ mem_expr_equal_p): Move here from rtl.h.
+ (get_insns, set_first-insn, get_last_insn, set_last_insn, get_max_uid):
+ Move here from emit-rtl.c; make inline.
+ * cfglayout.h: Include emit-rtl.h.
+ * rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
+ gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
+ set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
+ mem_expr_equal_p, get_insns, set_first-insn,
+ get_last_insn, set_last_insn, get_max_uid): Move to emit-rtl.h.
+ * reg-stack.c: Include emit-rtl.h.
+ * dce.c: Likewise.
+
+2010-06-01 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (tree_function_versioning): Update prototype.
+ (cgraph_function_versioning): Update prototype.
+ * cgraphunit.c (cgraph_copy_node_for_versioning): Accept bbs_to_copy
+ bitmap.
+ (cgraph_function_versioning): Accept new_entry_block and bbs_to_copy.
+ (cgraph_materialize_clone, save_inline_function_body): Update use of
+ tree_function_versioning.
+ * tree-inline.c (copy_bb): Look for previous copied block to link
+ after; fix debug output.
+ (copy_cfg_body): Accept new_entry_block and bbs_to_copy.
+ (copy_body): Likewise.
+ (expand_call_inline): Update use of copy_body.
+ (tree_function_versioning): Update use of copy body; accept
+ blocks_to_copy and new_entry.
+
+2010-06-01 Jan Hubicka <jh@suse.cz>
+
+ * gegenrtl.c: Remove unnecesary prototypes.
+ (gendecl): Remove.
+ (gendef): Produce static inline.
+ (gencode): Remove.
+ (main): Do not decode parameters; generate header only.
+ * Makefile.in (genrtl.c): Remove.
+
+2010-06-01 Jan Hubicka <jh@suse.cz>
+
+ * tree-switch-conversion.c (build_one_array): Make it readonly.
+
+2010-06-01 Richard Guenther <rguenther@suse.de>
+
+ * optabs.c (init_optabs): Guard all accesses to reinit.
+ * ipa-pure-const.c (propagate): Fix another typo.
+ * opts.c (common_handle_option): Split assignment to bool.
+ * c-opts.c (c_common_handle_option): Likewise.
+
+2010-06-01 Arnaud Charlet <charlet@adacore.com>
+ Matthew Gingell <gingell@adacore.com>
+
+ * doc/invoke.texi: Mention -fdump-ada-spec.
+ * tree-dump.c (dump_files): Add ada-spec.
+ (FIRST_AUTO_NUMBERED_DUMP): Bump to 8.
+ * tree-pass.h (tree_dump_index): Add TDI_ada.
+ * gcc.c: Add support for -C without -E and for -fdump-ada-spec.
+ (cpp_unique_options): Do not reject -C or -CC when -E isn't present.
+ (default_compilers) <@c-header>: Allow -fdump-ada-spec on header files.
+ * c-decl.c: Include c-ada-spec.h.
+ (collect_source_ref_cb, collect_all_refs, for_each_global_decl): New
+ functions.
+ (c_write_global_declarations): Add handling of -fdump-ada-spec.
+ * c-lex.c (c_lex_with_flags): Add handling of CPP_COMMENT.
+ * Makefile.in (C_AND_OBJC_OBJS): Add c-ada-spec.o.
+ * c-ada-spec.h, c-ada-spec.c: New files.
+
+2010-06-01 Richard Guenther <rguenther@suse.de>
+
+ PR lto/43853
+ * ipa-pure-const.c (get_function_state): Hand back varying state
+ if we do not have one.
+ (has_function_state): New function.
+ (duplicate_node_data): Adjust.
+ (remove_node_data): Likewise.
+ (pure_const_write_summary): Likewise.
+ (propagate): Likewise. Fix typo.
+
+2010-06-01 Jan Hubicka <jh@suse.cz>
+
+ * tree-cfg.c (verify_stmt): Do not skip could_throw test.
+ * passes.c (execute_function_todo): Do not make implicit verify_ssa.
+ (execute_all_ipa_transforms): Do not play with the states.
+
+2010-06-01 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/arm/t-linux-androideabi: New.
+ * config.gcc (arm*-*-linux-androideabi): Include multilib config.
+
+2010-06-01 Jan Hubicka <jh@suse.cz>
+
+ * tree-inline.c (estimate_num_insns): For stdarg functions look
+ into call statement to count cost of argument passing.
+
+2010-06-01 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
+ argument for fprintf.
+ (ix86_output_addr_diff_elt): Likewise.
+ (x86_function_profiler): Likewise.
+ * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore.
+ (LPREFIX): Likewise.
+ (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+
+2010-05-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/44338
+ * config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256,
+ fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4,
+ fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4,
+ fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4,
+ fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
+ fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
+ fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
+ Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
+ TARGET_FUSED_MADD.
+
+2010-05-31 Jan Hubicka <jh@suse.cz>
+
+ * tree.h (tree_range_check_failed): Declare noreturn.
+
+2010-05-31 Jan Hubicka <jh@suse.cz>
+
+ * gimple.c (gimple_call_builtin_p): New function.
+ * gimple.h (gimple_call_builtin_p): Declare.
+ * tree-cfg.c (make_edges): Produce edge from BUILT_IN_RETURN
+ to exit.
+ (execute_warn_function_return): BUILT_IN_RETURN is return.
+ (split_critical_edges): Return edges are not critical.
+ (is_ctrl_altering_stmt): Builtin_in_return is altering.
+ (gimple_verify_flow_info): Handle built_in_return.
+ (execute_warn_function_return): Handle built_in_return.
+ * ipa-pure-const.c (check_call): Ignore builtin_return.
+
+2010-05-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/44337
+ * expr.c (expand_assignment): Don't store anything for out-of-bounds
+ array accesses with non-MEM.
+
+ PR tree-optimization/44182
+ * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
+ newly needs to end a bb is followed by debug stmts, instead return
+ true from the function at the end.
+ (maybe_move_debug_stmts_to_successors): New function.
+ (copy_cfg_body): Call it if copy_edges_for_bb returned true.
+
+2010-05-31 Kai Tietz <kai.tietz@onevision.com>
+
+ PR target/44161
+ * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle flag_pic.
+
+2010-05-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cgraphunit.c (cgraph_decide_is_function_needed): Really return false
+ for nested functions in non-optimized compilation.
+
+2010-05-31 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (find_func_aliases): Handle BUILT_IN_RETURN.
+
+2010-05-30 Jan Hubicka <jh@suse.cz>
+
+ * predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
+
+2010-05-30 Richard Guenther <rguenther@suse.de>
+
+ PR lto/42975
+ * tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
+ (execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
+ no longer needed.
+
+2010-05-30 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.c (output_objc_section_asm_op): Add comment.
+ (name_needs_quotes): Add '_' to list of valid comment chars.
+ (machopic_output_function_base_name): Remove unneeded quotes.
+ (darwin_encode_section_info): Adjust asm whitespace.
+ * config/i386/darwin.h (ASM_OUTPUT_COMMON): Adjust asm tabs.
+ (ASM_OUTPUT_LOCAL): Ditto.
+ * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Ditto.
+ * config/darwin.h (GLOBAL_ASM_OP): Ditto.
+ * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Ditto.
+
+2010-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/rs6000/rs6000.c (rs6000_output_function_entry): Use
+ RS6000_OUTPUT_BASENAME unconditionally.
+ (rs6000_output_function_epilogue): Likewise.
+
+2010-05-30 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
+ nodes.
+
+2010-05-30 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (verify_gimple_assign_single): Implement
+ verification for COND_EXPR rhs.
+
+2010-05-30 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (cgraph_dump_file): Declare.
+ * cgraphunit.c (cgraph_dump_file): Export.
+ * ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less verbose.
+
+2010-05-30 Jan Hubicka <jh@suse.cz>
+
+ * dwarf2out.c (reference_to_unused,
+ premark_types_used_by_global_vars_helper): Avoid creation of new
+ varpool nodes.
+
+2010-05-30 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (cgraph_node_cannot_return,
+ cgraph_edge_cannot_lead_to_return): New functions.
+ * cgraph.c (cgraph_node_cannot_return,
+ cgraph_edge_cannot_lead_to_return): Use them.
+ * ipa-pure-const.c (pure_const_names): New static var.
+ (check_call): Handle calls not leading to return.
+ (pure_const_read_summary): Dump info read.
+ (propagate): Dump info about propagation process; ignore side effects
+ of functions not leading to exit; fix handling of pure functions.
+
+2010-05-30 Jan Hubicka <jh@suse.cz>
+
+ * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
+ for tail call epilogues.
+
+2010-05-30 Jan Hubicka <jh@suse.cz>
+
+ * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
+ ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
+ dump files.
+
+2010-05-29 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_remove_unreachable_node): Walk references of correct
+ node; remove references in node we no longer keep in cgrpah but need
+ body of.
+
+2010-05-29 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
+
+2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/44165
+ * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
+
+2010-05-29 Jan Hubicka <jh@suse.cz>
+
+ * tree-vrp.c (debug_value_range, debug_all_value_ranges,
+ debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
+ * tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
+ debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
+ debug_names_replaced_by, debug_update_ssa): Likewise.
+ * sbitmap.c (debug_sbitmap): Likewise.
+ * genrecog.c (debug_decision, debug_decision_list): Likewise.
+ * tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
+ debug_tree_chain): Likewise.
+ * tree-loop-distribution.c (debug_rdg_partitions): Likewise.
+ * cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
+ * optabs.c (debug_optab_libfuncs): Likewise.
+ (verify_loop_closed_ssa): Likewise.
+ * value-prof.c (verify_histograms): Likewise.
+ * reload.c (debug_reload_to_stream, debug_reload): Likewise.
+ * bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
+ * cfghooks.c (verify_flow_info): Likewise.
+ * fold-const.c (debug_fold_checksum): Likewise.
+ * omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
+ * cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
+ Likewise.
+ * omega.c (debug_omega_problem): Likewise.
+ * cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
+ * tree-ssa-ccp.c (debug_lattice_value): Likewise.
+ * dominance.c (verify_dominators, debug_dominance_info,
+ debug_dominance_tree): Likewise.
+ * df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
+ * df_regno_debug, df_ref_debug,
+ debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
+ debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
+ * tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
+ * sel-sched.c (debug_state): Likewise.
+ * tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for):
+ Likewise.
+ * cfganal.c (print_edge_list, verify_edge_list): Likewise.
+ * dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
+ * tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
+ * gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq):
+ Likewise.
+ * c-pretty-print.c (debug_c_tree): Likewise.
+ * sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
+ debug_av_set, debug_lv_set, debug_ilist, debug_blist,
+ debug_insn_vector, debug_hard_reg_set, debug_mem_addr_value): Likewise.
+ * ebitmap.c (debug_ebitmap): Likewise.
+ * function.c (debug_find_var_in_block_tree): Likewise.
+ * print-rtl.c (debug_rtx): Likewise.
+ (debug_rtx_count): Likewise.
+ (debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
+ * stor-layout.c (debug_rli): Likewise.
+ * ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
+ * tree-data-ref.c (debug_data_references,
+ debug_data_dependence_relations, debug_data_reference,
+ debug_data_dependence_relation, debug_rdg_vertex,
+ debug_rdg_component, debug_rdg): Likewise.
+ * tree-affine.c (debug_aff): Likewise.
+ * tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats):
+ Likewise.
+ * except.c (debug_eh_tree, verify_eh_tree): Likewise.
+ * emit-rtl.c (verify_rtl_sharing): Likewise.
+ * tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
+ debug_value_expressions): Likewise.
+ * tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
+ * sese.c (debug_rename_map, debug_ivtype_map): Likewise.
+ * print-tree.c (debug_tree, debug_vec_tree): Likewise.
+ * cfglayout.c (verify_insn_chain): Likewise.
+ * graphite-clast-to-gimple.c (debug_clast_name_indexes,
+ debug_clast_stmt, debug_generated_program): Likewise.
+ * ggc-page.c (debug_print_page_list): Likewise.
+ * tree-ssa-ter.c (debug_ter): Likewise.
+ * graphite-dependences.c (debug_pddr): Likewise.
+ * sched-deps.c (debug_ds): Likewise.
+ * tree-ssa.c (verify_ssa): Likewise.
+ * graphite-poly.c (debug_scattering_function, debug_iteration_domain,
+ debug_scattering_functions, debug_iteration_domains, debug_pdr,
+ debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context,
+ debug_scop, debug_cloog, debug_scop_params, debug_lst): Likewise.
+ * tree-inline.c (debug_find_tree): Likewise.
+ * graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
+ debug_ppl_powerset_matrix): Likewise.
+ * var-tracking.c (debug_dv): Likewise.
+ * system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
+ * cfgloop.c (verify_loop_structure): Likewise.
+ * plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
+ * c-common.c (verify_sequence_points): Likewise.
+ * sched-rgn.c (debug_regions, debug_region, debug_candidate,
+ debug_candidates, debug_rgn_dependencies): Likewise.
+ * tree-ssa-structalias.c (debug_constraint, debug_constraints,
+ * debug_constraint_graph, debug_solution_for_var,
+ debug_sa_points_to_info): Likewise.
+ * sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
+ Likewie.
+ * tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
+ debug_loops, debug_loop, debug_loop_num): Likewise.
+ * passes.c (debug_pass): Likewise.
+ (dump_properties): Likewise; add cfglayout property.
+ (debug_properties): Likewise.
+ * tree-ssa-reassoc.c (debug_ops_vector): Likewise.
+ * varpool.c (debug_varpool): Likewise.
+ * regcprop.c (debug_value_data): Likewise.
+ * tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
+ debug_immediate_uses_for): Likewise.
+
+2010-05-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/44315
+ * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
+ Filter out insn-flags.h.
+
+2010-05-29 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (struct varpool_node_set_def,
+ struct cgraph_node_set_def): Remove unused AUX pointer.
+ (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): Use
+ VEC_empty macro.
+
+2010-05-29 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44324
+ * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
+
+2010-05-29 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer.c (cached_bp): New global variable.
+ (bitpack_create): Return the cached bitpack, if available.
+ (bitpack_delete): Clear and cache the bitpack, if appropriate.
+ (bp_pack_value): Remove redundant asserts.
+
+2010-05-29 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/44306
+ * tree-if-conv.c (is_true_predicate): New.
+ (is_predicated): Use is_true_predicate.
+ (add_to_predicate_list): Same. Do not use unshare_expr.
+ (add_to_dst_predicate_list): Same.
+
+2010-05-29 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
+ field on edges.
+ (predicate_bbs): Same.
+ (clean_predicate_lists): Same.
+ (find_phi_replacement_condition): Do not AND the predicate from
+ edge->aux.
+
+2010-05-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/44315
+ * Makefile.in (build/gencondmd.o): Add a missing `\'.
+
+2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/44261
+ config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
+ (negdf2): Adjust expander pattern and use negdf2_slow.
+ (negsf2): Likewise.
+
+2010-05-29 Nathan Froyd <froydnj@codesourcery.com>
+
+ * basic-block.h (struct control_flow_graph): Move last_label_uid field
+ up.
+ * df.h (struct df_base_ref): Move regno field up.
+ * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down.
+ * expr.h (struct separate_ops): Move location field up.
+ * optabs.h (struct optab_d): Move libcall_basename field down.
+ * config/i386/i386.c (struct ix86_frame): Move red_zone_size up.
+ * config/i386/i386.h (struct machine_function): Convert call_abi field
+ into a bitfield. Move cfa field to the end of the structure.
+
+2010-05-29 Jan Hubicka <jh@suse.cz>
+
+ * varpool.c (varpool_get_node): Fix lookup.
+
+2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/spu/spu-protos.h: Do not include rtl.h. Protect
+ RTL specific prototypes with #ifdef RTX_CODE.
+ * config/spu/spu-c.c: Include c-common.h instead of c-tree.h.
+ * config/spu/t-spu-elf: Fix dependencies.
+
+ * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
+
+2010-05-29 Mike Stump <mikestump@comcast.net>
+
+ PR bootstrap/44315
+ * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
+ TM_H when building to avoid dependency loops.
+
+2010-05-29 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
+ refs and body; not the whole node for masters of materialized clones.
+
+2010-05-29 Mike Stump <mikestump@comcast.net>
+
+ * config/rs6000/rs6000-c.c: Remove c-tree.h include.
+
+2010-05-29 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (clone_function_name): Take SUFFIX argument; export.
+ (cgraph_create_virtual_clone): Take SUFFIX argument; udpate
+ use of clone_function_name.
+ * cgraph.h (cgraph_create_virtual_clone,
+ cgraph_function_versioning): update prototypes.
+ (clone_function_name): Declare.
+ * ipa-cp.c (ipcp_insert_stage): Update call of
+ cgraph_create_virtual_clone.
+ * omp-low.c (create_omp_child_function_name): Use
+ cgraph_create_virtual_clone.
+ * cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating.
+ (cgraph_function_versioning): Take SUFFIX argument; produce new name
+ and make decl local.
+
+2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * vec.h: Include statistics.h
+ * Makefile.in: Introduce VEC_H. Replace all vec.h dependencies
+ with VEC_H.
+
+2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * c-lex.c: Do not include c-tree.h.
+ * c-pretty-print.c: Likewise.
+ * c-opts.c: Likewise.
+ * c-gimplify.c: Likewise.
+ * c-common.c: Likewise.
+ * c-dump.c: Likewise. Include c-common.h.
+
+2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * c-common.h (GCC_DIAG_STYLE): Define earlier in the file,
+ before including diagnostic-core.h.
+ (c_cpp_error): New prototype moved from c-tree.h.
+ Use ATTRIBUTE_GCC_DIAG instead of ATTRIBUTE_GCC_CDIAG.
+ * c-tree.h (ATTRIBUTE_GCC_CDIAG): Remove define.
+ (pedwarn_c90, perwarn_c99): Use ATTRIBUTE_GCC_DIAG instead.
+ (c_cpp_error): Prototype moved to c-common.h.
+ * Makefile.in: Update dependency for C_COMMON_H.
+
+2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * c-common.h: Add FIXME for awkward split of c_register_addr_space.
+ * c-common.c (c_register_addr_space): Remove here.
+ * c-decl.c (c_register_addr_space): Re-add here.
+
+2010-05-28 Mike Stump <mikestump@comcast.net>
+
+ * config/darwin-c.c: Remove c-tree.h include.
+
+2010-05-28 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c: Include diagnostic.h.
+ (error_count): Remove. All users changed to use errorcount.
+ (programname): Remove. All users changed to use progname.
+ (fancy_abort, internal_error, fatal_error, error, warning, inform,
+ fnotice): Remove.
+ (execute): Don't include "Internal error" and bug reporting
+ information in argument of internal_error call.
+ (process_command): Don't increment error_count after calling
+ perror_with_name.
+ (input_filename): Rename to gcc_input_filename. All users
+ changed.
+ (main): Call diagnostic_initialize. Register delete_temp_files
+ with atexit. Use seen_error to test for errors.
+ * gcc.h: Include diagnostic-core.h.
+ (fatal_error, error, warning): Remove.
+ * Makefile.in (GCC_H): Add $(DIAGNOSTIC_CORE_H).
+ (GCC_OBJS): Add diagnostic.o, pretty-print.o and input.o.
+ (gcc.o): Update dependencies.
+
+2010-05-28 Jeff Law <law@redhat.com>
+
+ * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
+ functions.
+ * ira.h (ira_bad_reload_regno): Declare
+ * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
+
+ * ira-color.c (update_curr_costs): Free updated hard reg costs.
+ (ira_reassign_conflict_allocnos): Remove bogus asserts.
+ (allocno_reload_assign): Likewise.
+
+2010-05-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
+ build1_stat.
+
+2010-05-28 Richard Guenther <rguenther@suse.de>
+
+ PR lto/44312
+ * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
+ Stream fixed-point constants mode.
+ (unpack_ts_type_value_fields): Fix width of TYPE_MODE
+ and TYPE_PRECISION.
+ * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
+ Stream fixed-point constants mode.
+ (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
+ and TYPE_PRECISION.
+
+2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
+ only place it was called from.
+ (number_of_latch_executions): Do not return chrec_dont_know when the
+ may_be_zero is a runtime condition: instead, return a COND_EXPR
+ including the may_be_zero condition.
+ * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
+ of nb_iterations.
+ * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
+ COND_EXPRs.
+
+2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
+ generate COND_EXPRs for degenerate_phi_result.
+
+2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/44293
+ * tree-if-conv.c (if_convertible_loop_p): Check the
+ if-convertibility of phi nodes in non predicated BBs.
+
+2010-05-28 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (error, warning, inform): Remove duplicate ": " in output.
+
+2010-05-28 Joseph Myers <joseph@codesourcery.com>
+
+ PR driver/15303
+ * gcc.c (inform, warning, inform): New functions.
+ (fatal_ice): Rename to internal_error; change cmsgid parameter to
+ gmsgid. All callers changed.
+ (notice): Rename to fnotice; add parameter fp. All callers changed.
+ (fatal_error): Rename to fatal_signal. All users changed.
+ (fatal): Rename to fatal_error; change cmsgid parameter to
+ gmsgid. All callers changed.
+ (process_command): Use warning instead of error for warnings.
+ (end_going_arg): Don't use _() around argument of error.
+ (do_spec_1): Use inform for message from %n specs. Use warning
+ instead of error for warnings.
+ (main): Use inform for comparison messages. Use warning for
+ message about unused linker input.
+ (error): Increment error_count. Print "error: ".
+ * gcc.h (fatal): Change to fatal_error.
+ (warning): Declare.
+ * config/darwin-driver.c (darwin_default_min_version): Use warning
+ instead of fprintf for warnings.
+ * cppspec.c (lang_specific_driver): Use fatal_error instead of fatal.
+
+2010-05-28 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
+ (*thumb2_addsi3_compare0_scratch): New.
+ * config/arm/constraints.md (Pv): New.
+ * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
+ for ARM mode only.
+ (*addsi3_compare0_scratch): Likewise.
+
+2010-05-28 Jan Hubicka <jh@suse.cz>
+
+ * ipa-reference.c (add_static_var): Remove redundant all_module_statics
+ check.
+ (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
+ only on local statics.
+
+2010-05-28 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
+
+2010-05-28 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR bootstrap/44314
+ * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
+ (OPTION_GLIBC): Define.
+
+2010-05-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/41048
+ * dwarf2out.c (double_int_type_size_in_bits): New function.
+ (round_up_to_align): Change first argument and return value to
+ double_int.
+ (field_byte_offset): Work internally on double_ints.
+
+ PR target/43636
+ * builtins.c (expand_movstr): Use a temporary pseudo instead
+ of target even when target is not NULL and not const0_rtx, but
+ fails movstr predicate.
+ * config/m32c/blkmov.md (movstr): Add predicate to first operand.
+
+2010-05-28 Joseph Myers <joseph@codesourcery.com>
+
+ * final.c (rest_of_clean_state): Use %m in errors instead of
+ strerror (errno).
+ * gengtype.c (read_input_list, close_output_files): Use xstrerror
+ instead of strerror.
+ * toplev.c (process_options): Use %m in errors instead of strerror
+ (errno).
+ * tree-dump.c (dump_begin): Use %m in errors instead of strerror
+ (errno).
+
+2010-05-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_fn_abi_va_list): Make static.
+ (ix86_canonical_va_list_type): Make static. Add declaration.
+ (ix86_enum_va_list): Make static. Reindent.
+ * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
+ (ix86_canonical_va_list_type): Ditto.
+ (ix86_enum_va_list): Ditto.
+
+2010-05-28 Richard Guenther <rguenther@suse.de>
+
+ * lto-wrapper.c (run_gcc): With -save-temps generate a
+ user-visible ltrans filename. Fixup ltrans unit numbering.
+
+2010-05-28 Kai Tietz <kai.tietz@onevision.com>
+
+ * c-common.c (c_common_nodes_and_builtins): Replace use
+ of TARGET_ENUM_VA_LIST by target hook enum_va_list.
+ * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
+ to ix86_enum_va_list.
+ * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
+ * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
+ (TARGET_ENUM_VA_LIST_P): Add hook description.
+ * target-def.h (TARGET_ENUM_VA_LIST_P): Added.
+ * target.h (gcc_target): Add enum_va_list hook.
+
+ PR bootstrap/44299
+ * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
+ * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
+ * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
+
+2010-05-28 Alan Modra <amodra@gmail.com>
+
+ PR target/44266
+ * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
+ emit_library_call machinery to set up __tls_get_addr calls.
+
+2010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
+
+2010-05-28 Dodji Seketeli <dodji@redhat.com>
+
+ Revert fix for PR c++/44188
+ * c-common.c (is_typedef_decl): Revert the moving of this
+ definition ...
+ * tree.c (is_typedef_decl): ... here.
+ (typdef_variant_p): Revert the moving of this definition
+ here from cp/tree.c.
+ * c-common.h (is_typedef_decl): Revert the moving of this
+ declaration ...
+ * tree.h (is_typedef_decl): ... here.
+ (typedef_variant_p): Revert the moving of this declaration here
+ from cp/cp-tree.h
+ * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
+ (gen_tagged_type_die): Revert the splitting out of ...
+ (gen_type_die_with_usage): ... this function. Revert the anonymous
+ tagged type handling.
+ (gen_typedef_die): Revert emitting DW_TAG_typedef for
+ typedefs naming anonymous tagged types.
+
+2010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000-modes.def (PSImode): Delete.
+
+2010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
+ * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
+ throughout.
+ * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
+ "xer" to "ca".
+ Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
+ XER_REGS to CA_REGS throughout.
+ * config/rs6000/rs6000.h: Same.
+ (ADDITIONAL_REGISTER_NAMES): Add "xer".
+ * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO. Document
+ that mode_iterator "P" is the size for arithmetic carries as well.
+ * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
+
+2010-05-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/44255
+ * combine.c (struct rtx_subst_pair): Define unconditionally.
+ (propagate_for_debug_subst): Likewise. If not AUTO_INC_DEC,
+ copy_rtx pair->to instead of cleanup_auto_inc_dec it.
+ Call make_compound_operation on pair->to.
+ (propagate_for_debug): Don't call make_compound_operation here.
+ Always use simplify_replace_fn_rtx.
+
+2010-05-27 Sterling Augustine <sterling@tensilica.com>
+
+ * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
+ * config/xtensa/xtensa.c (override_options): Check
+ TARGET_FORCE_NO_PIC and set flag_pic.
+ * config/xtensa/xtensa.opt: Document -mforce-no-pic
+
+2010-05-27 Kai Tietz <kai.tietz@onevision.com>
+
+ PR bootstrap/44299
+ * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
+ * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
+
+2010-05-27 Joseph Myers <joseph@codesourcery.com>
+
+ * diagnostic-core.h: New. Contents moved from diagnostic.h and
+ toplev.h.
+ * diagnostic.c: Don't include toplev.h.
+ (progname): Define. Moved from toplev.c.
+ (seen_error): New function.
+ * diagnostic.h: Include diagnostic-core.h.
+ (diagnostic_t, emit_diagnostic): Don't declare here.
+ * toplev.c (progname): Move to toplev.c.
+ (emit_debug_global_declarations, compile_file, finalize,
+ do_compile, toplev_main): Use seen_error.
+ * toplev.h: Include diagnostic-core.h.
+ (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
+ internal_error, warning, warning_at, error, error_n, error_at,
+ fatal_error, pedwarn, permerror, sorry, inform, inform_n,
+ verbatim, fnotice, progname): Move to diagnostic-core.h.
+ * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
+ (expand_builtin_expect): Use seen_error.
+ * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
+ (c_make_fname_decl, c_write_global_declarations): Use seen_error.
+ * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
+ * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
+ * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
+ * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
+ errorcount for errors.
+ * c-opts.c (c_common_finish): Use seen_error.
+ * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
+ * cgraphunit.c (verify_cgraph_node, verify_cgraph,
+ cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
+ * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
+ (get_coverage_counts): Use seen_error.
+ * dwarf2out.c (dwarf2out_finish): Use seen_error.
+ * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
+ gimplify_body): Use seen_error.
+ * ipa-inline.c (cgraph_early_inlining): Use seen_error.
+ * ipa-pure-const.c (gate_pure_const): Use seen_error.
+ * ipa-reference.c (gate_reference): Use seen_error.
+ * jump.c: Include diagnostic-core.h instead of diagnostic.h.
+ * lambda-code.c: Include diagnostic-core.h instead of
+ diagnostic.h.
+ * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
+ * lto-compress.c: Include diagnostic-core.h instead of
+ diagnostic.h.
+ * lto-section-in.c: Include diagnostic-core.h instead of
+ diagnostic.h.
+ * lto-streamer-out.c: Include diagnostic-core.h instead of
+ diagnostic.h.
+ * lto-streamer.c: Include diagnostic-core.h instead of
+ diagnostic.h.
+ (gate_lto_out): Use seen_error.
+ * matrix-reorg.c: Include diagnostic-core.h instead of
+ diagnostic.h.
+ * omega.c: Include diagnostic-core.h instead of diagnostic.h.
+ * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
+ (gate_expand_omp, lower_omp_1): Use seen_error.
+ * passes.c: Include diagnostic-core.h instead of diagnostic.h.
+ (rest_of_decl_compilation, rest_of_type_compilation,
+ gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
+ * tree-cfg.c (label_to_block_fn): Use seen_error.
+ * tree-inline.c (optimize_inline_calls): Use seen_error.
+ * tree-mudflap.c (mudflap_finish_file): Use
+ seen_error.
+ * tree-optimize.c (gate_all_optimizations,
+ gate_all_early_local_passes, gate_all_early_optimizations): Use
+ seen_error.
+ * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
+ * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
+ (varpool_remove_unreferenced_decls,
+ varpool_assemble_pending_decls): Use seen_error.
+ * Makefile.in (DIAGNOSTIC_CORE_H): Define.
+ (TOPLEV_H, DIAGNOSTIC_H): Update.
+ (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
+ lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
+ c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
+ builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
+ coverage.o, lambda-code.o): Update dependencies.
+
+2010-05-25 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/44188
+ * c-common.c (is_typedef_decl): Move this definition ...
+ * tree.c (is_typedef_decl): ... here.
+ (typdef_variant_p): Move definition here from cp/tree.c.
+ * c-common.h (is_typedef_decl): Move this declaration ...
+ * tree.h (is_typedef_decl): ... here.
+ (typedef_variant_p): Move declaration here from cp/cp-tree.h
+ * dwarf2out.c (is_naming_typedef_decl): New function.
+ (gen_tagged_type_die): Split out of ...
+ (gen_type_die_with_usage): ... this function. When an anonymous
+ tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
+ is emitted for the typedef.
+ (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
+ anonymous tagged types.
+
+2010-05-27 Jason Merrill <jason@redhat.com>
+
+ * print-tree.c (debug_vec_tree): New fn.
+ (print_vec_tree): New fn.
+ * tree.h: Declare them.
+ * gdbinit.in (pvt): New command.
+
+ * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
+
+ * gdbinit.in (pdd): New command.
+
+2010-05-27 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
+ (update_caller_keys): Return early if there are no callers;
+ only update fibheap when decresing the key.
+ (update_callee_keys): Avoid recursion.
+ (decide_inlining_of_small_functions): When badness does not match;
+ re-insert into fibheap.
+
+2010-05-27 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
+ (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
+ (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
+ (ALL_HOST_OBJS): Now a union of the above two.
+ <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
+ all files in ALL_HOST_FRONTEND_OBJS.
+ * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
+
+ * c-common.c: Pretend to be a backend file by undefining
+ IN_GCC_FRONTEND (still need rtl.h here).
+
+2010-05-27 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
+ * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
+
+2010-05-27 Jan Hubicka <jh@suse.cz>
+
+ * sched-ebb.c: Rename struct deps to struct deps_desc.
+ * ddg.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * sched-deps.c: Likewise.
+ * sched-int.h: Likewise.
+ * sched-rgn.c: Likewise.
+
+2010-05-27 Jon Beniston <jon@beniston.com>
+
+ PR 43726
+ * config/lm32/lm32.h: Remove definition of
+ GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
+
+2010-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR lto/44230
+ * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
+
+2010-05-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44284
+ * tree-vect-stmts.c (vectorizable_assignment): Handle
+ sign-changing conversions as simple copy.
+
+2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * gthr-posix.h (pthread_cancel): Don't declare if compiling against
+ Bionic C library.
+ (__gthread_active_p): Check for pthread_create if compiling against
+ Bionic C library.
+
+2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ Support compilation for Android platform. Reimplement -mandroid.
+
+ * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
+ (*android*): Set ANDROID_DEFAULT.
+ (arm*-*-linux*): Include linux-android.h.
+ (arm*-*-eabi*): Don't include previous -mandroid implementation.
+ * config/arm/eabi.h: Remove, move Android-specific parts ...
+ * config/linux-android.h: ... here. New file.
+ * config/arm/eabi.opt: Rename to ...
+ * config/linux-android.opt: ... this.
+ (mandroid): Allow -mno-android option. Initialize based on
+ ANDROID_DEFAULT.
+ * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
+ Move logic to corresponding LINUX_TARGET_* macros.
+ (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
+ * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
+ (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
+ Android definitions.
+ (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
+ * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
+ Document.
+
+2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ Add support for Bionic C library
+
+ * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
+ macro.
+ (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
+ (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
+
+ * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
+ (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
+ (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
+ to support multiple C libraries. Handle Bionic.
+ (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
+ (BIONIC_DYNAMIC_LINKER64): Define.
+ (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
+ Update.
+ (TARGET_HAS_SINCOS): Enable for Bionic.
+
+ * config/linux.opt: Rewrite to handle more than 2 C libraries. Make
+ the last option specified on command line take effect.
+ (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
+ (mbionic): New.
+ (mglibc, muclibc): Update.
+
+ * config/alpha/linux-elf.h, config/rs6000/linux64.h,
+ * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
+ DEFAULT_LIBC.
+
+ * doc/invoke.texi (-mglibc, -muclibc): Update.
+ (-mbionic): Document.
+
+2010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * c-common.h (c_register_addr_space): Add prototype.
+ (ADDR_SPACE_KEYWORD): Remove.
+ * c-common.c (c_register_addr_space): New function.
+ (c_addr_space_name): Reimplement.
+ (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
+
+ * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
+ (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
+
+ * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
+ Remove TARGET_ADDR_SPACE_KEYWORDS.
+
+2010-05-27 Joseph Myers <joseph@codesourcery.com>
+
+ * input.c: New file.
+ * input.h (main_input_filename): Move declaration to toplev.h.
+ * toplev.c (input_location, line_table): Move to input.c
+ * toplev.h (main_input_filename): Move declaration from input.h.
+ * tree.c (expand_location): Move to input.c.
+ * Makefile.in (OBJS-common): Add input.o.
+ (input.o): Add dependencies.
+
+2010-05-27 Richard Guenther <rguenther@suse.de>
+
+ * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
+ for non-existant files.
+ (fork_execute): Mark args_name file as deleted.
+
+2010-05-27 Kai Tietz <kai.tietz@onevision.com>
+
+ PR bootstrp/44287
+ * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
+ (narrow_signed_type): Likewise.
+
+2010-05-26 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
+ edge only when checking is enabled; check using former_clone_of;
+ check inline clones too.
+ (cgraph_materialize_clone): Record former_clone_of pointer.
+ (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
+ combining redirections; dump args_to_skip bitmap
+ (cgraph_materialize_all_clones): Do no redirection here.
+ * ipa-inline.c (inline_transform): Do redirection here.
+ * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
+ cheking only).
+
+2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/avr/avr-c.c: Do not include regs.h.
+ Include cpplib.h for cpp_define and tree.h for c-common.h.
+ * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
+ * config/avr/t-avr: Fix dependencies for avr-c.o.
+
+2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * explow.c (set_stack_check_libfunc): Adjust to accept name as a
+ string instead of SYMBOL_REF rtx.
+ * rtl.h (set_stack_check_libfunc): Move prototype from here...
+ * libfuncs.h: ...to here. Adjust for explow.c change.
+
+2010-05-26 Joseph Myers <joseph@codesourcery.com>
+
+ * pretty-print.c: Don't include ggc.h.
+ (identifier_to_locale_alloc, identifier_to_locale_free): Define.
+ (identifier_to_locale): Use them for allocation.
+ * pretty-print.h (identifier_to_locale_alloc,
+ identifier_to_locale_free): Declare.
+ * toplev.c (alloc_for_identifier_to_locale): New.
+ (general_init): Set identifier_to_locale_alloc and
+ identifier_to_locale_free.
+ * Makefile.in (pretty-print.o): Update dependencies.
+
+2010-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
+ pointer types if they have different alignment or mode.
+
+2010-05-26 Anatoly Sokolov <aesok@post.ru>
+
+ * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
+ LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
+ * config/sparc/sparc-protos.h (function_value): Remove declaration.
+ * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
+ sparc_function_value_regno_p): New functions.
+ (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+ TARGET_FUNCTION_VALUE_REGNO_P): Define.
+ (function_value): Rename to...
+ (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
+ argument to 'outgoing'.
+ (function_arg_record_value, function_arg_union_value,
+ function_arg_vector_value): Update comment.
+
+2010-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (struct dw_fde_struct): Reorder flags.
+ (fde_needed_for_eh_p): New predicate.
+ (output_call_frame_info): Use it throughout to decide whether FDEs
+ are needed for EH purpose.
+ (dwarf2out_begin_prologue): Reorder assignments.
+
+2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
+ special case loop->header.
+ (is_predicated): New.
+ (if_convertible_loop_p): Call it.
+
+2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
+ iterator in parameter. Do not generate code during the analysis.
+ (tree_if_convert_cond_stmt): Removed.
+ (tree_if_convert_stmt): Removed.
+ (predicate_bbs): New.
+ (if_convertible_loop_p): Call predicate_bbs.
+ (tree_if_conversion): Simplify the top-level logic as predicate_bbs
+ now contains all the analysis part.
+
+2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
+ statements in the analysis part.
+ (tree_if_convert_stmt): Update comment.
+ (remove_conditions_and_labels): New.
+ (combine_blocks): Call remove_conditions_and_labels.
+ (tree_if_conversion): Update comment.
+
+2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
+ than 2 predecessors or more than 2 successors.
+
+2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
+ of loops in which the data dependence analysis fails.
+
+2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
+ CDI_POST_DOMINATORS.
+ (tree_if_conversion): Same.
+
+2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (tree_if_conversion): Do not return a bool.
+
+2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c: Update copyright years. Fix comments.
+ Fix indentation.
+
+2010-05-26 Kai Tietz <kai.tietz@onevision.com>
+
+ * builtin-types.def (BT_INT128): New primitive type.
+ (BT_UINT128): Likewise.
+ * c-common.c (c_common_r): Add __int128 keyword.
+ (c_common_type_for_size): Handle __int128.
+ (c_common_type_for_mode): Likewise.
+ (c_common_signed_or_unsigned_type): Likewise.
+ (c_common_nodes_and_builtins): Add builtin type
+ if target supports 128-bit integer scalar.
+ * c-common.h (enum rid): Add RID_INT128.
+ * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
+ if target supports 128-bit integer scalar.
+ * c-decl.c (declspecs_add_type): Handle new keyword __int128.
+ (finish_declspecs): Likewise.
+ * c-parser.c (c_token_starts_typename): Handle RID_INT128.
+ (c_token_starts_declspecs): Likewise.
+ (c_parser_declspecs): Likewise.
+ (c_parser_attributes): Likewise.
+ (c_parser_objc_selector): Likewise.
+ * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
+ * c-tree.h (enum c_typespec_keyword): Add cts_int128.
+ * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
+ * tree.c (make_or_reuse_type): Likewise.
+ (make_unsigned_type): Likewise.
+ (build_common_tree_nodes_2): Likewise.
+ * tree.h (enum integer_type_kind): Add itk_int128 and
+ itk_unsigned_int128.
+ (int128_integer_type_node): New define.
+ (int128_unsigned_type_node): New define.
+ * doc/extend.texi: Add documentation about __int128 type.
+
+2010-05-26 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (copy_nary): Adjust.
+ (copy_phis): Rename to ...
+ (copy_phi): ... this. Adjust.
+ (copy_references): Rename to ...
+ (copy_reference): ... this. Adjust.
+ (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
+ result into the valid table.
+
+2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
+ insn-config.h, insn-codes.h, recog.h, and optabs.h.
+
+2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
+
+2010-05-26 Richard Guenther <rguenther@suse.de>
+
+ * opts.c (common_handle_option): Handle OPT_Ofast.
+
+2010-05-26 Joseph Myers <joseph@codesourcery.com>
+
+ * diagnostic.c: Don't include opts.h.
+ (permissive_error_option): Define.
+ (diagnostic_initialize): Take n_opts parameter. Allocate memory
+ for classify_diagnostic. Don't use memset for
+ classify_diagnostic. Initialize new and recently added fields.
+ (diagnostic_classify_diagnostic): Use context->n_opts instead of
+ N_OPTS.
+ (diagnostic_report_diagnostic): Pass context parameter to
+ diagnostic_report_warnings_p. Use option_enabled and option_name
+ hooks from context.
+ (emit_diagnostic): Use permissive_error_option.
+ (permerror): Likewise.
+ * diagnostic.h: Don't include options.h.
+ (struct diagnostic_context): Add n_opts, opt_permissive,
+ inhibit_warnings, warn_system_headers, option_enabled and
+ option_name fields. Change classify_diagnostic to a pointer.
+ * opts-diagnostic.h: New file.
+ * opts.c: Include opts-diagnostic.h.
+ (common_handle_option): Set global_dc fields for -Wfatal-errors,
+ -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
+ (option_name): New function.
+ * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
+ (c_common_handle_option): Set global_dc->permissive for
+ -fpermissive.
+ * c-common.c (c_cpp_error): Save and restore
+ global_dc->warn_system_headers, not variable warn_system_headers.
+ * toplev.c: Include opts-diagnostic.h.
+ (general_init): Update call to diagnostic_initialize. Set
+ global_dc->show_column, global_dc->option_enabled and
+ global_dc->option_name.
+ (process_options): Don't set global_dc fields here.
+ * Makefile.in (DIAGNOSTIC_H): Remove options.h.
+ (diagnostic.o, opts.o, toplev.o): Update dependencies.
+
+2010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.md (movsi): Split a movsi from a
+ const after reload.
+
+2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * ggc-zone.c: Update copyright year.
+ (poison_region): Mark memory for Valgrind as undefined before
+ memset () call and inaccessible afterwards.
+ (ggc_pch_total_size): Change type of i to int.
+
+2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * ggc-common.c (ggc_free_overhead): Allow empty slot.
+
+2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * ggc-common.c: Update copyright year.
+ (ggc_rlimit_bound): Remove prototype. Compile only if
+ !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
+ (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
+ && !ENABLE_GC_ALWAYS_COLLECT. Make static.
+ (ggc_min_heapsize_heuristic): Likewise.
+
+2010-05-26 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/44164
+ * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
+ no-common access-path disambiguation.
+ (indirect_ref_may_alias_decl_p): Adjust.
+ (indirect_refs_may_alias_p): Likewise.
+ (refs_may_alias_p_1): Likewise.
+
+2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * c-typeck.c: Do not include expr.h.
+
+2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.h (decl_default_tls_model): Move prototype from here...
+ * output.h: ...to here.
+ * c-decl.c: Do not include rtl.h.
+ * c-pragma.c: Likewise.
+ * c-parser.c: Likewise.
+ * c-gimplify.c: Likewise. And also not hard-reg-set.
+ * c-common.c: Do not include rtl.h. Include tm_p.h and add a
+ FIXME note for it. Add a FIXME note for expr.h.
+ * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
+ ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
+ defined.
+
+2010-05-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/44199
+ * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
+ or total_size is larger than red zone size for non-V4 ABI, emit a
+ stack_tie resp. frame_tie insn before stack pointer restore.
+ * config/rs6000/rs6000.md (frame_tie): New insn.
+
+2010-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * function.h (struct function): Add can_throw_non_call_exceptions bit.
+ * lto-streamer-in.c (input_function): Stream it in.
+ * lto-streamer-out.c (output_function): Stream it out.
+ * function.c (allocate_struct_function): Set it.
+ (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
+ for flag_non_call_exceptions.
+ * cfgbuild.c (control_flow_insn_p): Likewise.
+ (make_edges): Likewise.
+ * cfgexpand.c (expand_stack_alignment): Likewise.
+ * combine.c (distribute_notes): Likewise.
+ * cse.c (cse_extended_basic_block): Likewise.
+ * except.c (insn_could_throw_p): Likewise.
+ * gcse.c (simple_mem): Likewise.
+ * ipa-pure-const.c (check_call): Likewise.
+ (check_stmt ): Likewise.
+ * lower-subreg.c (lower-subreg.c): Likewise.
+ * optabs.c (emit_libcall_block): Likewise.
+ (prepare_cmp_insn): Likewise.
+ * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
+ * postreload.c (rest_of_handle_postreload): Likewise.
+ * reload1.c (reload_as_needed): Likewise.
+ (emit_input_reload_insns): Likewise.
+ (emit_output_reload_insns): Likewise.
+ (fixup_abnormal_edges): Likewise.
+ * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
+ * store-motion.c (find_moveable_store): Likewise.
+ * tree-eh.c (stmt_could_throw_p): Likewise.
+ (tree_could_throw_p): Likewise.
+ * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
+ * config/arm/arm.c (arm_expand_prologue): Likewise.
+ (thumb1_expand_prologue): Likewise.
+ * config/rx/rx.md (cbranchsf4): Likewise.
+ (cmpsf): Likewise.
+ * config/s390/s390.c (s390_emit_prologue): Likewise.
+ * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
+ (inline_forbidden_into_p): New predicate.
+ (expand_call_inline): Use it to forbid inlining.
+ (tree_can_inline_p): Likewise.
+
+2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/i386/i386-c.c: Do not include rtl.h.
+ * config/i386/t-i386: Update dependencies.
+
+2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
+
+ * attribs.c: Do not include rtl.h.
+ * Makefile.in: Update dependencies.
+
+2010-05-25 Anatoly Sokolov <aesok@post.ru>
+
+ * double-int.h (double_int_and): New.
+ * combine.c (try_combine): Clean up, use double_int_* and
+ immed_double_int_const functions.
+
+2010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
+ stderr to /dev/null instead of grep -q.
+ * configure: Regenerate.
+
+2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Makefile.in (EXCEPT_H): Fix typo.
+
+2010-05-25 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-build.c (update_conflict_hard_reg_costs): New.
+ (ira_build): Call update_conflict_hard_reg_costs.
+
+2010-05-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/41371
+ * var-tracking.c (find_loc_in_1pdv): Guard asserts with
+ ENABLE_CHECKING.
+ (intersect_loc_chains): Walk the s2var's loc_chain together
+ with s1node chain as long as the locations are equal, don't
+ call find_loc_in_1pdv in that case.
+
+ PR debug/42801
+ * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
+ (copy_bind_expr): ... instead of here.
+ (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
+ if the block hasn't been remapped.
+ * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
+ emitting concrete instance of abstract VLA, add DW_AT_type attribute.
+
+2010-05-25 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44069
+ * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
+ out-of-bounds array accesses.
+
+2010-05-25 Richard Guenther <rguenther@suse.de>
+
+ * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
+ (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
+ (run_gcc): Re-organize to make cleanup easier.
+
+2010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (optimization_options): Fix and move the
+ flag_prefetch_loop_arrays override ...
+ (override_options): ... here.
+
+2010-05-25 Joseph Myers <joseph@codesourcery.com>
+
+ * diagnostic.c: Don't include plugin.h.
+ (diagnostic_report_diagnostic): Don't handle plugins specially
+ here. Pass context to internal_error callback.
+ * diagnostic.h (struct diagnostic_context): Add context parameter
+ to internal_error callback.
+ * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
+ * plugin.h (struct diagnostic_context): Declare.
+ (warn_if_plugins, plugins_internal_error_function): Declare.
+ * toplev.c (general_init): Set global_dc->internal_error.
+ * Makefile.in (diagnostic.o): Update dependencies.
+
+2010-05-25 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
+ * config/rs6000/t-darwin64: New.
+ * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
+ build crt2.
+
+2010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
+
+ PR 44203
+ * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
+ match the original (and intended) behaviour before r159557. This
+ changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
+ in two ways.
+
+2010-05-25 Richard Guenther <rguenther@suse.de>
+
+ * doc/invoke.texi: Document -Ofast.
+ * target.h (struct gcc_target): Add handle_ofast.
+ * target-def.h (TARGET_HANDLE_OFAST): Add.
+ (TARGET_INITIALIZER): Adjust.
+ * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it.
+ * common.opt (Ofast): Add.
+
+2010-05-25 Paolo Bonzini <bonzini@gnu.org>
+
+ * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
+ * doc/md.texi (cstoreXX4): Update for cond-optab changes.
+
+2010-05-25 Paolo Bonzini <bonzini@gnu.org>
+
+ PR target/43610
+ * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
+ even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
+ false_rtx. Use false_rtx to compute the correct *ptest for reversed
+ comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
+
+2010-05-25 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
+ DW_OP_minus with negated offset instead of DW_OP_plus.
+ (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
+
+2010-05-25 Wei Guozhi <carrot@google.com>
+
+ * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
+ tst instruction and a new alternative.
+ * config/arm/constraints.md (Pu): New constraint.
+
+2010-05-24 Sebastian Pop <sebastian.pop@amd.com>
+
+ * function.c (assign_stack_local_1): Initialize variable
+ to avoid warning when bootstrapping at -O3.
+
+2010-05-24 Steven Bosscher <steven@gcc.gnu.org>
+
+ * configure.ac (all_lang_makefiles): Remove everything related to it.
+ * configure: Regenerate.
+ * Makefile.in: Fix reference to ada Make-lang.in.
+ Remove support for LANG_MAKEFILES.
+
+2010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
+ * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
+ description. Add arm_neon_fp16_ok.
+ (Add Options): Add arm_neon and arm_neon_fp16.
+
+2010-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * diagnostic.c: Don't include flags.h.
+ (pedantic_warning_kind, permissive_error_kind): Take diagnostic
+ context parameters. Check flags in the context passed as a parameter.
+ (diagnostic_build_prefix): Add context parameter. Check
+ show_column flag in context.
+ (diagnostic_action_after_output): Check fatal_errors flag in context.
+ (diagnostic_report_current_module): Check show_column flag in context.
+ (default_diagnostic_starter): Update call to
+ diagnostic_build_prefix.
+ (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
+ (emit_diagnostic): Pass context to permissive_error_kind.
+ (permerror): Pass context to permissive_error_kind.
+ * diagnostic.h (struct diagnostic_context): Add show_column,
+ pedantic_errors, permissive and fatal_errors fields.
+ (diagnostic_build_prefix): Update prototype.
+ * langhooks.c
+ * toplev.c (process_options): Set flags in global_dc from
+ flag_show_column, flag_pedantic_errors, flag_permissive,
+ flag_fatal_errors.
+ * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
+ to diagnostic_build_prefix.
+ * Makefile.in (diagnostic.o): Update dependencies.
+
+2010-05-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/ia32intrin.h (__crc32q): Define only if
+ __SSE4_2__ is defined.
+
+2010-05-24 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/44132
+ PR middle-end/43602
+ * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
+ DECL_VISIBILITY_SPECIFIED.
+ (emutls_decl): Set DECL_PRESERVE_P and copy
+ DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
+ (emutls_finalize_control_var): New callback.
+ (emutls_finish): Finalize emutls control variables.
+ * toplev.c (compile_file): Move the call to emutls_finish ()
+ before varpool_assemble_pending_decls ().
+
+2010-05-24 Daniel Gutson <dgutson@codesourcery.com>
+
+ * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
+ added to the preprocessor condition.
+
+2010-05-24 Paul Brook <paul@codesourcery.com>
+
+ * gengtype-lex.l: Add HARD_REG_SET.
+ * expr.c (expand_expr_real_1): Record writes to hard registers.
+ * function.c (rtl_data): Add asm_clobbers.
+ * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
+ (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
+ Use crtl->asm_clobbers.
+
+2010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/makefile.texi (Makefile): Mention stages 'profile'
+ and 'feedback' for profiledbootstrap.
+
+2010-05-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44245
+ * config/i386/i386.c (def_builtin): Properly check
+ OPTION_MASK_ISA_64BIT.
+
+2010-05-23 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
+ typedefs with different but compatible types. Allow duplicate
+ typedefs with the same type except for pedantic non-C1X, but give
+ warning for variably modified types.
+ * c-typeck.c (tagged_types_tu_compatible_p,
+ function_types_compatible_p, type_lists_compatible_p,
+ comptypes_internal): Add parameter different_types_p; set
+ *different_types_p for different but compatible types. All
+ callers changed.
+ (comptypes_check_different_types): New.
+ * c-tree.h (comptypes_check_different_types): Declare.
+
+2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
+
+ * regs.h: Do not include obstack.h, basic-block.h. Include machmode.h.
+ * jump.c: Include basic-block.h.
+ * profile.c: Likewise.
+ * tree-profile.c: Likewise.
+ * coverage.c: Likewise.
+ * basic-block.h (optimize_function_for_size_p): Move to function.h.
+ (optimize_function_for_speed_p): Likewise.
+ * function.h (optimize_function_for_size_p,
+ optimize_function_for_speed_p): Moved here from basic-block.h.
+ * Makefile.in: Update dependencies.
+
+2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
+ before calling make; allow override through $MAKE.
+ * doc/invoke.texi (Optimize Options): Document override.
+
+2010-05-23 Anatoly Sokolov <aesok@post.ru>
+
+ * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
+ (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+ (rs6000_mode_dependent_address_ptr): Make static.
+ * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
+ * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
+ Remove.
+
+2010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
+
+ PR target/43869
+ * config/i386/i386.c: Make sure that the correct regparm is passed.
+
+2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
+
+ * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
+ * sbitmap.c: ...to here to internalize sbitmap element access.
+ Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
+ Explain why basic-block.h is included.
+ * function.h: Include tm.h for CUMULATIVE_ARGS.
+ * Makefile.in: Update dependencies.
+
+2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
+
+ * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
+ New core types.
+ * sbitmap.h (struct sbitmap_def): Do not typedef here.
+ * sbitmap.c: Include sbitmap.h.
+ * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
+ hard-reg-set.h. Split everything related to regsets out from here...
+ * regset.h: ...to here. New file.
+ * df.h: Include regset.h and sbitmap.h.
+ * tree-flow.h: Likewise.
+ * cfgloop.h: Likewise.
+ * except.h: Do not include sbitmap.h. Include hashtab.h.
+ * cgraph.h: Include vec.h and function.h.
+ * reload.h (struct insn_chain): Change types of live_throughout
+ and dead_or_set from regset_head to bitmap_head.
+ (compute_use_by_pseudos): Be defined also if regset.h is not included.
+ * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
+ spilled_regs from regset_head to bitmap_head to avoid dependency
+ in regset.h.
+ * sel-sched-ir.h: Include regset.h.
+ * reload.c: Include df.h before reload.h.
+ * caller-save.c: Likewise.
+ * reload1.c: Likewise.
+ * ira.c: Likewise.
+ (mark_elimination): Update type of r to bitmap, consistent with
+ DF_LR_IN.
+ * dominance.c: Include bitmap.h.
+ * modulo-sched.c: Include df.h.
+ * cfganal.c: Include bitmap.h and sbitmap.h.
+ * cfgbuild.c: Include sbitmap.h.
+ * lcm.c: Include sbitmap.h.
+ * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
+ * domwalk.c: Include sbitmap.h, exclude ggc.h.
+ * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
+ * cselib.c: Include bitmap.h.
+ * tree-optimize.c: Include regset.h.
+ * stmt.c: Include bitmap.h.
+ * Makefile.in: Update dependencies.
+
+2010-05-22 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (struct varpool_node): Add same_comdat_group.
+ * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
+ pointer.
+ (output_varpool): Update call of lto_output_varpool_node.
+ (input_varpool): Read same_comdat_group pointer.
+ (input_varpool_1): Fixup same_comdat_group pointer.
+ * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
+ group is needed, all are.
+ * varpool.c (varpool_remove_node): Remove node from same comdat group
+ linklist too.
+ (varpool_analyze_pending_decls): Walk same comdat groups.
+
+2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.h (union rtunion_def): Remove rt_bit member.
+ (XBITMAP, X0BITMAP, XCBITMAP): Remove.
+ * print-rtl (print_rtx): Do not print the member.
+ * gengtype.c (adjust_field_rtx_def): Do not handle it.
+ * gengenrtl.c (type_from_format): Likewise.
+ (accessor_from_format): Likewise.
+
+2010-05-22 Joseph Myers <joseph@codesourcery.com>
+
+ * dbgcnt.c: Include toplev.h instead of errors.h.
+ * ira-emit.c: Don't include errors.h.
+ * ira.c: Include toplev.h instead of errors.h.
+ * lto-compress.c: Include toplev.h instead of errors.h.
+ * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
+ ira.o, dbgcnt.o): Update dependencies.
+
+2010-05-22 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_types_compatible_p): Check type qualifications
+ before merging pointer to complete and pointer to incomplete type.
+ * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
+ we use our own resolution algorithm. The gold linker plugin
+ doesn't do the job we want it to do here.
+
+2010-05-22 Anatoly Sokolov <aesok@post.ru>
+
+ * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
+ * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+ (sparc_mode_dependent_address_p): New function.
+
+2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
+
+ * timevar.c: Do not include any core headers.
+ (timevar_print): De-i18n-ize.
+ (print_time): Likewise.
+ * timevar.h (timevar_push, timevar_pop): Make inline functions.
+
+2010-05-21 Joseph Myers <joseph@codesourcery.com>
+
+ * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
+ langhooks-def.h.
+ (diagnostic_initialize): Initialize x_data not last_function.
+ (diagnostic_report_current_function): Move to tree-diagnostic.c.
+ (default_diagnostic_starter): Call
+ diagnostic_report_current_module not
+ diagnostic_report_current_function.
+ (diagnostic_report_diagnostic): Initialize x_data not
+ abstract_origin.
+ (verbatim): Likewise.
+ * diagnostic.h (struct diagnostic_info): Change abstract_origin to
+ x_data.
+ (struct diagnostic_context): Change last_function to x_data.
+ (diagnostic_auxiliary_data): Replace with
+ diagnostic_context_auxiliary_data and
+ diagnostic_info_auxiliary_data.
+ (diagnostic_last_function_changed, diagnostic_set_last_function,
+ diagnostic_report_current_function): Move to tree-diagnostic.h.
+ (print_declaration, dump_generic_node, print_generic_stmt,
+ print_generic_stmt_indented, print_generic_expr,
+ print_generic_decl, debug_c_tree, dump_omp_clauses,
+ print_call_name, debug_generic_expr, debug_generic_stmt,
+ debug_tree_chain, default_tree_printer): Move to
+ tree-pretty-print.h.
+ (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
+ print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
+ gimple-pretty-print.h.
+ * pretty-print.c: Don't include tree.h
+ (pp_base_format): Don't handle %K here.
+ (pp_base_tree_identifier): Move to tree-pretty-print.c.
+ * pretty-print.h (text_info): Change abstract_origin to x_data.
+ (pp_tree_identifier, pp_unsupported_tree,
+ pp_base_tree_identifier): Move to tree-pretty-print.h.
+ * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
+ tree-pretty-print.h: New files.
+ * tree-pretty-print.c: Include tree-pretty-print.h.
+ (percent_K_format): New. Moved from pretty-print.c.
+ (pp_base_tree_identifier): Move from pretty-print.c.
+ * c-objc-common.c: Include tree-pretty-print.h.
+ (c_tree_printer): Handle %K here.
+ * langhooks.c: Include tree-diagnostic.h.
+ (lhd_print_error_function): Use diagnostic_abstract_origin macro.
+ * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
+ (default_tree_printer): Handle %K using percent_K_format.
+ (general_init): Use default_tree_diagnostic_starter.
+ * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
+ (free_lang_data): Use default_tree_diagnostic_starter.
+ * c-pretty-print.c: Include tree-pretty-print.h.
+ * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
+ * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
+ * dwarf2out.c: Include tree-pretty-print.h.
+ * except.c: Include tree-pretty-print.h.
+ * gimple-pretty-print.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * gimplify.c: Include tree-pretty-print.h.
+ * graphite-poly.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * ipa-cp.c: Include tree-pretty-print.h.
+ * ipa-inline.c: Include gimple-pretty-print.h.
+ * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
+ * ipa-pure-const.c: Include gimple-pretty-print.h.
+ * ipa-struct-reorg.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * ipa-type-escape.c: Include tree-pretty-print.h.
+ * print-rtl.c: Include tree-pretty-print.h.
+ * print-tree.c: Include gimple-pretty-print.h.
+ * sese.c: Include tree-pretty-print.h.
+ * tree-affine.c: Include tree-pretty-print.h.
+ * tree-browser.c: Include tree-pretty-print.h.
+ * tree-call-cdce.c: Include gimple-pretty-print.h.
+ * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
+ * tree-chrec.c: Include tree-pretty-print.h.
+ * tree-data-ref.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-dfa.c: Include tree-pretty-print.h.
+ * tree-if-conv.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-inline.c: Include tree-pretty-print.h.
+ * tree-into-ssa.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-nrv.c: Include tree-pretty-print.h.
+ * tree-object-size.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-outof-ssa.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-parloops.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-predcom.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-scalar-evolution.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-sra.c: Include tree-pretty-print.h.
+ * tree-ssa-address.c: Include tree-pretty-print.h.
+ * tree-ssa-alias.c: Include tree-pretty-print.h.
+ * tree-ssa-ccp.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-coalesce.c: Include tree-pretty-print.h.
+ * tree-ssa-copy.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-copyrename.c: Include tree-pretty-print.h.
+ * tree-ssa-dce.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-dom.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-dse.c: Include gimple-pretty-print.h.
+ * tree-ssa-forwprop.c: Include tree-pretty-print.h.
+ * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
+ * tree-ssa-live.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-loop-im.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
+ * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
+ * tree-ssa-operands.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-phiprop.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-pre.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-propagate.c: Include gimple-pretty-print.h.
+ * tree-ssa-reassoc.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-sccvn.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-sink.c: Include gimple-pretty-print.h.
+ * tree-ssa-ter.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-ssa-uninit.c: Include gimple-pretty-print.h.
+ * tree-ssa.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-stdarg.c: Include gimple-pretty-print.h.
+ * tree-switch-conversion.c: Include gimple-pretty-print.h.
+ * tree-tailcall.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-vect-data-refs.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-vect-loop-manip.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-vect-loop.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-vect-patterns.c: Include gimple-pretty-print.h.
+ * tree-vect-slp.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-vect-stmts.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * tree-vectorizer.c: Include tree-pretty-print.h.
+ * tree-vrp.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * value-prof.c: Include tree-pretty-print.h and
+ gimple-pretty-print.h.
+ * var-tracking.c: Include tree-pretty-print.h.
+ * Makefile.in (OBJS-common): Add tree-diagnostic.o.
+ (tree-diagnostic.o): New dependencies.
+ (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
+ tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
+ tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
+ tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
+ tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
+ tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
+ tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
+ tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
+ tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
+ tree-ssa-address.o, tree-ssa-loop-niter.o,
+ tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
+ tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
+ tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
+ gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
+ tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
+ tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
+ tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
+ tree-parloops.o, tree-stdarg.o, tree-object-size.o,
+ gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
+ toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
+ ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
+ ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
+ tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
+ tree-switch-conversion.o, var-tracking.o, value-prof.o,
+ cfgexpand.o, pretty-print.o): Update dependencies.
+
+2010-05-22 Andreas Tobler <andreast@fgznet.ch>
+
+ * tree-ssa-structalias.c: Remove tm_p.h from include.
+
+2010-05-21 Jeff Law <law@redhat.com>
+
+ * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
+
+2010-05-21 Jason Merrill <jason@redhat.com>
+
+ * tree-eh.c (cleanup_is_dead_in): New.
+ (lower_try_finally): Don't generate a dead cleanup region.
+ (lower_cleanup): Likewise.
+
+2010-05-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44223
+ * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
+ unchain each use from the cyclic next_regno_use chain first.
+
+2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
+
+ * real: Do not include gmp.h, mpfr.h, and mpc.h.
+ (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
+ (real_value_negate, real_value_abs): New prototypes.
+ (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
+ * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
+ new include file for interface between MPFR and REAL_VALUE_TYPE.
+ * real.c: Include realmpfr.h.
+ (real_arithmetic2): Remove legacy function.
+ (real_value_negate): New.
+ (real_value_abs): New.
+ (mfpr_from_real, real_from_mpfr): Move from here...
+ * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
+ * builtins.c: Include realmpfr.h.
+ * fold-const.c: Include realmpfr.h.
+ (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
+ (fold_negate_const): Likewise.
+ (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
+ * toplev.c: Include realmpfr.h.
+ * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
+ and real_value_negate.
+ * fixed-value.c (check_real_for_fixed_mode): Likewise.
+ * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
+ (vfp3_const_double_index): Likewise.
+ (arm_print_operand): Likewise.
+ * Makefile.in: Update dependencies.
+
+2010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (override_options): Increase the default
+ of max-completely-peel-times.
+
+2010-05-21 Julian Brown <julian@codesourcery.com>
+ Mark Mitchell <mark@codesourcery.com>
+
+ * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
+ sibling calls for Thumb-1.
+ * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
+ * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
+ Thumb-2.
+ (*call_insn, *call_value_insn): Don't use for Thumb-2.
+ (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
+ for Thumb-2.
+ (return): New expander.
+ (*arm_return): New name for ARM return insn.
+ * config/arm/thumb2.md (*thumb2_return): New insn pattern.
+
+2010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * config.gcc (sparc64-*-rtems*): New target.
+
+2010-05-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.c (build_function_decl_skip_args): Fix grammar.
+ (build_function_type_list_1): Fix typos, adjust formatting.
+
+2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree.h: Include real.h and fixed-value.h as basic datatypes.
+ * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
+ tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
+ tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
+ tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
+ genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
+ tree-pretty-print.c, tree-loop-distribution.c,
+ tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
+ tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
+ tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
+ tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
+ tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
+ tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
+ tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
+ tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
+ tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
+ tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
+ genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
+ tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
+ gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
+ tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
+ tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
+ store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
+ tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
+ tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
+ tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
+ tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
+ fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
+ tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
+ config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
+ config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
+ config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
+ config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
+ config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
+ config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
+ config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
+ config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
+ config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
+ config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
+ config/score/score7.c, config/score/score.c, config/arm/arm.c,
+ config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
+ config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
+ config/bfin/bfin.c: Clean up redundant includes.
+ * Makefile.in: Update accordingly.
+
+2010-05-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR middle-end/44204
+ * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
+ statement has no arguments.
+
+2010-05-21 Kai Tietz <kai.tietz@onevision.com>
+
+ PR/44139
+ * varasm.c (emutls_decl): Merge attributes to new decl.
+
+2010-05-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/44101
+ * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
+ around the uniquized constructor if its type requires a conversion.
+
+2010-05-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44205
+ * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
+ at -O0 goto_locus of any of the incoming edges differs from
+ goto_locus of outgoing edge, or gimple_location of any of the
+ labels differs.
+
+2009-09-14 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira.c (ira_non_ordered_class_hard_regs): Define.
+ (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
+ * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
+ * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
+ cost of unaligned hard regs when allocating multi-reg pseudos.
+
+2010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
+ * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
+ for TARGET_NO_FLOAT.
+ * config/mips/mips.c (mips_file_start): Expand conditional expression
+ into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
+ (mips_override_options): Move -mno-float override -msoft-float and
+ -mhard-float.
+ * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
+ Condition(TARGET_SUPPORTS_NO_FLOAT).
+ * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
+ __mips_no_float here.
+ (SUBTARGET_OVERRIDE_OPTIONS): Delete.
+ (TARGET_SUPPORTS_NO_FLOAT): Define.
+ * config/mips/sdemtk.opt: Delete.
+
+2010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
+
+2010-05-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/43733
+ * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
+ instead of sahf only for 64bit targets.
+
+2010-05-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44178
+ * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
+ setup_ref_regs for DEBUG_INSNs.
+
+2010-05-20 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44197
+ * varpool.c (varpool_remove_node): Handle in-varpool aliases.
+
+2010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR bootstrap/43870
+ * df-scan.c (df_ref_compare): Stabilize sort.
+
+2010-05-20 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
+ argument. Don't use DW_OP_piece if offset is non-zero,
+ put offset into second DW_OP_bit_piece argument.
+ (dw_sra_loc_expr): Adjust callers. For memory expressions
+ compute offset.
+
+2010-05-20 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/44202
+ * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
+ settings for 16-bit-constant "addo" alternative.
+
+2010-05-19 James E. Wilson <wilson@codesourcery.com>
+
+ * config/mips/mips-dsp.md (add<DSPV:mode>3,
+ mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
+
+ PR target/43764
+ * mips.c (mips_call_expr_from_insn): New arg second_call. Set it.
+ (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
+ Use it.
+
+2010-05-19 Joseph Myers <joseph@codesourcery.com>
+
+ * diagnostic.c (FLOAT, FFS): Don't undefine.
+ * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
+ * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
+ include ordering.
+
+2010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * combine.c (propagate_for_debug): Call make_compound_operation
+ on the source value.
+ (try_combine): When implementing a split chosen by find_split_point,
+ either copy i2src or set it to null. Assert that i2src is not null
+ before substituting into CALL_INSN_FUNCTION_USAGE.
+
+2010-05-19 Anatoly Sokolov <aesok@post.ru>
+
+ * double-int.h (double_int_ior): New function.
+ * tree.h (build_int_cst_wide_type): Remove.
+ * tree.c (build_int_cst_wide_type): Remove.
+ * fold-const.c (native_interpret_int): Use double_int_to_tree instead
+ of build_int_cst_wide_type.
+ * stor-layout.c (set_sizetype): (Ditto.).
+ * dojump.c (do_jump): Use build_int_cstu instead of
+ build_int_cst_wide_type.
+
+2010-05-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
+ * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
+ (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
+ * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
+ TARGET_EXPR nodes, but only once, if instructed to do so. Do not
+ propagate the 'data' argument to copy_tree_r.
+ (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
+ Propagate 'data' argument to walk_tree.
+ (copy_if_shared): New function.
+ (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
+ (unmark_visited): New function.
+ (unshare_body): Call copy_if_shared instead of doing it manually.
+ (unvisit_body): Call unmark_visited instead of doing it manually.
+
+2010-05-19 Nathan Froyd <froydnj@codesourcery.com>
+
+ * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
+ (hook_tree_tree_int_treep_bool_null): ...this. Update signature.
+ * hooks.c: Likewise.
+ * target-def.h (TARGET_FOLD_BUILTIN): Define to
+ hook_tree_tree_int_treep_bool_null.
+ * target.h (struct gcc_target): Update signature of fold_builtin
+ field.
+ * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
+ * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
+ instead of the call expression.
+ (fold_builtin_call_array): Pass n and argarray directly.
+ (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
+ consing a list.
+ * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
+ MAX_ARGS check out of the loop. Delete declaration of `arity', declare
+ `i' and use it in place of `arity'.
+ * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
+ Dereference `args' directly.
+ * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
+
+2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (Effective-Target Keywords): Document
+ 3dnow, sse3, sse2.
+ (Directives): Document optional dg-require-effective-target
+ selector.
+
+2010-05-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/44196
+ * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
+
+2010-05-19 Richard Guenther <rguenther@suse.de>
+
+ * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
+ * common.opt (fwhopr=): New.
+ * opts.c (common_handle_option): Handle OPT_fwhopr.
+ * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
+ * collect2.c (main): Match -fwhopr*.
+ * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
+ Execute ltrans stage in parallel when jobs is bigger than 1.
+
+2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
+ pentiumpro on Solaris 8/x86 with Sun as.
+ * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
+ hidden alias bug.
+ (gcc_cv_as_ix86_quad): Check for .quad directive.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
+
+2010-05-19 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
+ also for indirect edges. Actual printing moved...
+ (ipa_print_node_jump_functions_for_edge): ...here.
+ (ipa_compute_jump_functions): Renamed to
+ ipa_compute_jump_functions_for_edge and made static.
+ (ipa_compute_jump_functions): New function.
+ (make_edge_direct_to_target): Check if the number of arguments on
+ the newly direct edge is the same as the number of parametrs of
+ the callee.
+ * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
+ ipa_compute_jump_functions. Call ipa_analyze_params_uses.
+ * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
+ analysis functions unconditionally, call the new
+ ipa_analyze_params_uses on the node instead of every edge.
+
+2010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
+
+ * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
+ to tree.
+ (dump_mem_ref): Adopt debug code to handle a tree as step. This
+ also checks for a constant int vs. non-constant but
+ loop-invariant steps.
+ (find_or_create_group): Change the sort algorithm to only consider
+ steps that are constant ints.
+ (idx_analyze_ref): Adopt code to handle a tree instead of a
+ HOST_WIDE_INT for step.
+ (gather_memory_references_ref): Handle tree instead of int and be
+ prepared to see a NULL_TREE.
+ (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
+ prefetches if the step cannot be calculated at compile time.
+ (issue_prefetch_ref): Issue prefetches for non-constant but
+ loop-invariant steps.
+
+2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
+
+ Revert:
+ 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (build_call_list): Remove.
+ * tree.c (build_call_list): Remove.
+
+2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (build_call_list): Remove.
+ * tree.c (build_call_list): Remove.
+
+2010-05-18 Jan Hubicka <jh@suse.cz>
+
+ * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
+
+2010-05-18 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/43332
+ * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
+
+2010-05-18 Anatoly Sokolov <aesok@post.ru>
+
+ * tree.h (build_int_cstu): Implement as static inline.
+ * tree.c (build_int_cstu): Remove function.
+ (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
+ sign extended.
+
+2010-05-18 Richard Guenther <rguenther@suse.de>
+
+ PR lto/44143
+ * lto-wrapper.c (verbose): New variable. Initialize from -v.
+ (debug): Initialize from -save-temps.
+ (collect_execute): Print command-line when verbose.
+ (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
+ for ltrans invocation. Produce -dumpbase flag again.
+ (process_args): Remove.
+ (main): Simplify.
+ * collect2.c (maybe_run_lto_and_relink): Only pass object
+ files to lto-wrapper.
+ * gcc.c (LINK_COMMAND_SPEC): Likewise.
+
+2010-05-18 Jan Hubicka <jh@suse.cz>
+
+ * opts.c (decode_options): Do not disable whopr at ipa_cp.
+ * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
+
+2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR lto/44184
+ * lto-streamer-out.c (output_gimple_stmt): Output number of labels
+ in a GIMPLE_ASM.
+ * lto-streamer-in.c (input_gimple_stmt): Read number of labels
+ in a GIMPLE_ASM.
+
+2010-05-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/41371
+ * var-tracking.c (find_loc_in_1pdv): Add a few checks from
+ rtx_equal_p inline.
+
+2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
+ lto-macho as lto_binary_reader.
+
+ * darwin.c (darwin_asm_named_section): Do not add assembler comment
+ after .section directive; just print it before the directive instead.
+
+2010-05-17 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_create_virtual_clone): Only check
+ versionable_function_p when not in wpa and checking is enabled.
+ * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
+ there are no more functions to materialize.
+
+2010-05-17 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
+ * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
+ New functions.
+ (output_cgraph): Call output_cgraph_opt_summary.
+ (input_cgrpah): Call input_cgraph_opt_summary.
+ (output_cgraph_opt_summary_p, output_node_opt_summary,
+ input_node_opt_summary, input_cgraph_opt_section): New functions.
+ * lto-section-in.c (lto_section_name): Add cgraphopt.
+ * tree-inline.c (tree_function_versioning): Handle parm_num.
+ * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
+ * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
+
+2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
+
+ * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
+ * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
+ the insn to prefetch ratio heuristic to loops with known trip count.
+
+2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
+ (schedule_prefetches): Do not generate a prefetch if the unroll factor
+ is far from what is required by the prefetch.
+
+2010-05-17 Jan Hubicka <jh@suse.cz>
+
+ * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
+ (ipcp_estimate_growth): Likewise.
+ (ipcp_const_param_count): Likewise.
+ (ipcp_insert_stage): Likewise.
+ * ipa-prop.c (visit_load_for_mod_analysis): New function.
+ (visit_store_addr_for_mod_analysis): Set used flag.
+ (ipa_detect_param_modifications): Set used flag for SSE params;
+ update use of walk_stmt_load_store_addr_ops.
+ (ipa_print_node_params): Print used flag.
+ (ipa_write_node_info): Stream used flag.
+ (ipa_read_node_info): Likewise.
+ * ipa-prop.h (struct ipa_param_descriptor): Add used field.
+ (ipa_is_param_used): New function.
+ (lto_ipa_fixup_call_notes): Remove unused declaration.
+
+2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/44074
+ * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
+ !HAVE_AS_IX86_REP_LOCK_PREFIX.
+ Don't emit whitespace.
+ * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
+ (*rep_movsi): Likewise.
+ (*rep_movsi_rex64): Likewise.
+ (*rep_movqi): Likewise.
+ (*rep_movqi_rex64): Likewise.
+ (*rep_stosdi_rex64): Likewise.
+ (*rep_stossi): Likewise.
+ (*rep_stossi_rex64): Likewise.
+ (*rep_stosqi): Likewise.
+ (*rep_stosqi_rex64): Likewise.
+ (*cmpstrnqi_nz_1): Use {%;} after repz.
+ (*cmpstrnqi_nz_rex_1): Likewise.
+ (*cmpstrnqi_1): Likewise.
+ (*cmpstrnqi_rex_1): Likewise.
+ (*strlenqi_1): Use {%;} after repnz.
+ (*strlenqi_rex_1): Likewise.
+ * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
+ (*sync_compare_and_swap<mode>): Likewise.
+ (sync_double_compare_and_swap<mode>): Likewise.
+ (*sync_double_compare_and_swapdi_pic): Likewise.
+ (sync_old_add<mode>): Likewise.
+ (sync_add<mode>): Likewise.
+ (sync_sub<mode>): Likewise.
+ (sync_<code><mode>): Likewise.
+
+2010-05-17 Martin Jambor <mjambor@suse.cz>
+
+ * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
+ otr_token and polymorphic.
+ * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
+ (cgraph_clone_edge): Copy the above fields.
+ * tree.c (get_binfo_at_offset): New function.
+ * tree.h (get_binfo_at_offset): Declare.
+ * ipa-prop.h (enum jump_func_type): Added known_type jump function
+ type, reordered items, updated comments.
+ (union jump_func_value): Added base_type field, reordered fields.
+ (enum ipa_lattice_type): Moved down in the file.
+ (struct ipa_param_descriptor): New field polymorphic.
+ (ipa_is_param_polymorphic): New function.
+ * ipa-prop.c: Include gimple.h and gimple-fold.h.
+ (ipa_print_node_jump_functions): Print known type jump functions.
+ (compute_complex_pass_through): Renamed to...
+ (compute_complex_assign_jump_func): this.
+ (compute_complex_ancestor_jump_func): New function.
+ (compute_known_type_jump_func): Likewise.
+ (compute_scalar_jump_functions): Create known type and complex ancestor
+ jump functions.
+ (ipa_note_param_call): New parameter polymorphic, set the corresponding
+ flag in the call note accordingly.
+ (ipa_analyze_call_uses): Renamed to...
+ (ipa_analyze_indirect_call_uses): this. New parameter target, define
+ variable var only in the block where it is used.
+ (ipa_analyze_virtual_call_uses): New function.
+ (ipa_analyze_call_uses): Likewise.
+ (combine_known_type_and_ancestor_jfs): Likewise.
+ (update_jump_functions_after_inlining): Implemented handling of a
+ number of new jump function types combination.
+ (print_edge_addition_message): Removed.
+ (make_edge_direct_to_target): New function.
+ (try_make_edge_direct_simple_call): Likewise.
+ (try_make_edge_direct_virtual_call): Likewise.
+ (update_call_notes_after_inlining): Renamed to...
+ (update_indirect_edges_after_inlining): this. Moved edge creation for
+ indirect calls to try_make_edge_direct_simple_call, also calls
+ try_make_edge_direct_virtual_call for virtual calls.
+ (ipa_print_node_params): Changed the header message.
+ (ipa_write_jump_function): Stream also known type jump functions.
+ (ipa_read_jump_function): Likewise.
+ (ipa_write_indirect_edge_info): Stream new fields in
+ cgraph_indirect_call_info.
+ (ipa_read_indirect_edge_info): Likewise.
+ * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
+ GIMPLE_FOLD_H.
+
+2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
+
+2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (CALL_EXPR_ARGS): Delete.
+ (call_expr_arglist): Delete.
+ * tree.c (call_expr_arglist): Delete.
+ * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
+ targetm.fold_builtin.
+ * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
+ Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
+ * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
+ arglist parameter. Use CALL_EXPR_ARG.
+ (picochip_expand_builtin_3op): Likewise.
+ (picochip_expand_builtin_2opvoid): Likewise.
+ (picochip_expand_array_get): Likewise.
+ (picochip_expand_array_put): Likewise.
+ (picochip_expand_array_testport): Likewise.
+ (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
+ rather than arglist.
+ * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
+ CALL_EXPR_ARGS.
+ * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
+ than TREE_VALUE and TREE_CHAIN.
+ * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
+ * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
+ the arglist.
+
+2010-05-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/42347
+ * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
+ to have no fallthru edge.
+
+ PR middle-end/44102
+ * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
+ bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
+ mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
+ add BARRIER after previous bb if needed.
+
+2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.c (build_function_type_list_1): Remove bogus assert condition.
+
+2010-05-17 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
+ unnecessary prototype. Replace copy_r12 and copy_r11 flag params
+ with copy_reg rtx param.
+ (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
+ Correct cases where code for ABI_V4 did not initialise the reg
+ used to access frame. Also leave frame_reg_rtx as sp for large
+ frames that save no regs.
+
+2010-05-17 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/44133
+ * tree-sra.c (create_access_replacement): New parameter rename, mark
+ the replaement for renaming only when it is true.
+ (get_access_replacement): Pass true in the rename parameter of
+ create_access_replacement.
+ (get_unrenamed_access_replacement): New function.
+ (replace_uses_with_default_def_ssa_name): New parameter racc, get the
+ replacement declaration from it.
+
+2010-05-17 Bernd Schmidt <bernds@codesourcery.com>
+
+ * function.c (try_fit_stack_local, add_frame_space): New static
+ functions.
+ (assign_stack_local_1): Use them. Look for opportunities to use
+ space previously wasted on alignment.
+ * function.h (struct frame_space): New.
+ (struct rtl_data): Add FRAME_SPACE_LIST member.
+ * reload1.c (something_was_spilled): New static variable.
+ (alter_reg): Set it.
+ (reload): Test it in addition to testing if the frame size changed.
+
+2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
+
+ * config/s390/s390.c: Define sane prefetch settings and activate
+ flag_prefetch_loop_arrays on -O3.
+ * config/s390/s390.h: Declare that read can use write prefetch.
+
+2010-05-17 Jakub Jelinek <jakub@redhat.com>
+
+ * lto-streamer-out.c (lto_output): Fix --enable-checking=release
+ build.
+
+2010-05-16 Jan Hubicka <jh@suse.cz>
+
+ * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
+ function body; do not check stdarg field of struct function.
+
+2010-05-16 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (dump_cgraph_node): Dump versionable flag.
+ * cgraph.h (cgraph_local_info): Add versionable flag.
+ * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
+ (ipcp_versionable_function_p): Use it.
+ * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
+ versionable flag.
+
+2010-05-16 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_clone_node): Take decl argument and insert
+ clone into hash when it is different from orig.
+ (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
+ * cgraph.h (cgraph_clone_node): Update prototype.
+ * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
+ (lto_cgraph_encoder_delete): Delete body map.
+ (lto_cgraph_encoder_size): Move to header.
+ (lto_cgraph_encoder_encode_body_p,
+ lto_set_cgraph_encoder_encode_body): New.
+ (lto_output_node): Do not take written_decls argument; output clone_of
+ pointer.
+ (add_node_to): Add include_body_argument; call
+ lto_set_cgraph_encoder_encode_body on master of the clone.
+ (add_references): Update use of add_node_to.
+ (compute_ltrans_boundary): Likewise.
+ (output_cgraph): Do not create written_decls bitmap.
+ (input_node): Take nodes argument; stream in clone_of correctly.
+ (input_cgraph_1): Update use of input_node.
+ * lto-streamer-out.c (lto_output): Use encoder info to decide
+ what bodies to output.
+ * ipa-inline.c (cgraph_clone_inlined_nodes,
+ cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
+ * lto-streamer.h (lto_cgraph_encoder_d): Add body.
+ (lto_cgraph_encoder_size): Define here.
+ (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
+ Declare.
+
+2010-05-16 Richard Guenther <rguenther@suse.de>
+
+ * doc/invoke.texi (-fipa-struct-reorg): Do not mention
+ -fipa-type-escape.
+ * ipa-type-escape.c (gate_type_escape_vars): Run when
+ -fipa-struct-reorg runs.
+ * opts.c (decode_options): Do not unset flag_ipa_type_escape.
+ * common.opt (fipa-type-escape): Remove.
+
+2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
+ (decode_options): Likewise.
+ * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
+
+2010-05-16 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (function_and_variable_visibility): Also bring local all
+ aliases.
+
+2010-05-16 Richard Guenther <rguenther@suse.de>
+
+ * alias.c (nonoverlapping_memrefs_p): Remove use of
+ IPA type-escape information.
+
+2010-05-16 Joseph Myers <joseph@codesourcery.com>
+
+ * c-common.c (c_common_reswords): Add _Static_assert for C.
+ * c-parser.c (c_token_starts_declaration,
+ c_parser_next_token_starts_declaration,
+ c_parser_static_assert_declaration_no_semi,
+ c_parser_static_assert_declaration): New.
+ (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
+ Handle static assertions if static_assert_ok.
+ (c_parser_external_declaration, c_parser_declaration_or_fndef,
+ c_parser_compound_statement_nostart, c_parser_label,
+ c_parser_for_statement, c_parser_objc_methodprotolist,
+ c_parser_omp_for_loop): All callers of
+ c_parser_declaration_or_fndef changed.
+ (c_parser_struct_declaration): Handle static assertions.
+ (c_parser_compound_statement_nostart): Use
+ c_parser_next_token_starts_declaration and
+ c_token_starts_declaration to detect start of declarations.
+ (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
+ Likewise.
+
+2010-05-16 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
+ LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
+ * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+ TARGET_FUNCTION_VALUE_REGNO_P): Define.
+ (mmix_function_outgoing_value): Rename to...
+ (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
+ (mmix_function_value_regno_p): Make static.
+ (mmix_libcall_value): New function.
+ * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
+ mmix_function_value_regno_p): Remove declaration.
+
+2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
+ BUILT_IN_ALLOCA if stack checking is enabled.
+
+2010-05-16 Richard Guenther <rguenther@suse.de>
+
+ * var-tracking.c (vars_copy_1): Inline ...
+ (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
+ (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
+ (variable_merge_over_cur): Adjust. Merge asserts.
+ (variable_merge_over_src): Likewise.
+ (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
+ (variable_post_merge_new_vals): Merge asserts.
+ (variable_post_merge_perm_vals): Likewise.
+ (find_mem_expr_in_1pdv): Likewise.
+ (dataflow_set_different_value): Remove.
+ (onepart_variable_different_p): Merge asserts.
+ (variable_different_p): Likewise.
+ (dataflow_set_different_1): Inline ...
+ (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
+ (emit_notes_for_differences_1): Merge asserts.
+
+2010-05-16 Richard Guenther <rguenther@suse.de>
+
+ * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
+ * optabs.c (libfunc_decl_hash): Likewise.
+ * varasm.c (emutls_decl): Likewise.
+
+2010-05-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * c-decl.c: Don't include gimple.h.
+ (merge_decls): Do not copy gimple_body.
+
+2010-05-15 Jason Merrill <jason@redhat.com>
+
+ * c.opt: Add -fnothrow-opt.
+
+2010-05-15 Jan Hubicka <jh@suse.cz>
+
+ * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
+ analyzed.
+ * passes.c (ipa_write_summaries): Write all analyzed nodes.
+
+2010-05-15 Steven Bosscher <steven@gcc.gnu.org>
+
+ * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
+ * Makefile.in: Add it.
+ Fix all other Makefile dependencies for changes below.
+ * tree.h: Include it instead of defining VEC primitives here.
+ * gimple.h: Likewise.
+ * rtl.h: Likewise.
+ * tree-inline.h: Inlclude vecir.h instead of gimple.h.
+ * except.h: Include vecir.h, break dependence on tree.h.
+
+ * gimplify.c (append_to_statement_list_1, append_to_statement_list):
+ Move from here...
+ * tree-iterator.c: ...to here.
+ * tree-iterator.h: Fix file introduction comment. Add extern markers.
+
+ * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
+ tm_p.h.
+ * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
+ * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
+ integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
+ tree-mudflap.h, and target.h.
+ * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
+ predict.h, tree-inline.h, gimple.h, and langhooks.h.
+ * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
+ Add FIXME for why gimple.h is still included (should be unnecessary
+ since GCC 4.5 gimplification unit-at-a-time).
+ * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
+ * c-pragma.c: Add FIXME for why function.h needs to be included just
+ for cfun, at front-end level.
+ Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
+ Do not include ggc.h, but include vecprim.h for VEC(char).
+ * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
+ Explain why target.h is included.
+ * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
+ Explain why gimple.h is included.
+ * c-ppoutput.c: Do not include tm.h.
+ * c-common.c: Do not include gimple.h. Explain why expr.h is included.
+ * c-parses.c: Explain why rtl.h is included, and that this (and only
+ this) is also why tm.h must be included.
+ Do not include except.h.
+ * c-lang.c: Do not include ggc.h.
+
+2010-05-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
+
+2010-05-15 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (grokfield): Allow typedefs for anonymous structs and
+ unions by default if those structs and unions have no tags. Do
+ not condition anonymous struct and unions handling on flag_iso.
+ Allow anonymous structs and unions for C1X.
+ (finish_struct): Do not diagnose lack of named fields when
+ anonymous structs and unions present for C1X. Accept flexible
+ array members in structure with anonymous structs or unions but no
+ directly named fields.
+ * doc/extend.texi (Unnamed Fields): Update.
+
+2010-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple.h (compare_field_offset): Rename into...
+ (gimple_compare_field_offset): ...this.
+ * gimple.c (compare_field_offset): Rename into...
+ (gimple_compare_field_offset): ...this. Compare the full access if
+ the offset is self-referential.
+ (gimple_types_compatible_p): Adjust for above renaming.
+ * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
+ DECL_NONADDRESSABLE_P flag of fields before merging them.
+
+2010-05-15 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (ctor_to_list): Delete.
+ * tree.c (ctor_to_list): Delete.
+
+2010-05-15 Jan Hubicka <jh@suse.cz>
+
+ * ipa-reference.c: Include toplev.h
+ (is_proper_for_analysis): Only add to all_module_statics
+ if it is allocated.
+ (write_node_summary_p, stream_out_bitmap,
+ ipa_reference_write_optimization_summary,
+ ipa_reference_read_optimization_summary): New.
+ (struct ipa_opt_pass_d pass_ipa_reference): Add
+ optimization summary streaming.
+ * lto-cgraph.c (referenced_from_this_partition_p,
+ reachable_from_this_partition_p): New functions.
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
+ call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
+ * opts.c (decode_options): Enable ipa_reference.
+ * Makefile.in (ipa-reference.o): Add toplev.h dependency.
+ * lto-streamer.h (referenced_from_this_partition_p,
+ reachable_from_this_partition_p): Declare.
+
+2010-05-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44038
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
+ taking the address of a V_C_E of a constant.
+
+2010-05-14 Jan Hubicka <jh@suse.cz>
+
+ * tree.h (memory_identifier_string): Remove.
+ * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
+ (ipa_reference_global_vars_info_d): Remove statics_not_read and
+ statics_not_written.
+ (ipa_reference_optimization_summary_d): New structure.
+ (ipa_reference_optimization_summary_t): New type and vector.
+ (ipa_reference_vars_info_d): Embedd structures instead of using
+ pointers.
+ (reference_vars_to_consider): Remove out of GGC space.
+ (module_statics_escape): Remove.
+ (global_info_obstack): Rename to ...
+ (optimization_summary_obstack): ... this one.
+ (initialization_status_t): Remove.
+ (memory_identifier_string): Remove.
+ (get_reference_vars_info): Fix indenting.
+ (set_reference_vars_info): Likewise.
+ (get_reference_optimization_summary): New.
+ (set_reference_optimization_summary): New.
+ (get_global_reference_vars_info): Remove.
+ (ipa_reference_get_read_global): Remove.
+ (ipa_reference_get_written_global): Remove.
+ (ipa_reference_get_not_read_global): Update.
+ (ipa_reference_get_not_written_global): Update.
+ (is_proper_for_analysis): Outlaw addressable.
+ (propagate_bits): Update for new datastructures.
+ (analyze_variable): Remove.
+ (init_function_info): Update for new datastructures.
+ (clean_function_local_data): Remove.
+ (clean_function): Remove.
+ (copy_global_bitmap): Use optimizations_summary_obstack.
+ (duplicate_node_data): Duplicate optimization summary only.
+ (remove_node_data): Remove optimization summary only.
+ (generate_summary): Do not analyze variables; do not compute
+ module_statics_escape; do not prune solutions by it.
+ (read_write_all_from_decl): Fix typos in comments.
+ (propagate): Doscover readonly and nonaddressable first;
+ update for new datastructures; share global bitmaps.
+ * ipa-reference.h (ipa_reference_get_read_global,
+ ipa_reference_get_written_global): Remove.
+ * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
+ * Makefile.in: Remove ipa-refereference from GT files.
+
+2010-05-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44112
+ * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
+ for all SYMBOL_REF_DECLs.
+
+2010-05-14 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
+ (varpool_all_refs_explicit_p): New inline function.
+ * ipa-reference.c: Update comment.
+ (module_statics_written): Remove.
+ (get_static_decl): Remove.
+ (ipa_init): Do not initialize module_statics_written.
+ (analyze_function): Likewise.
+ (generate_summary): Likewise; do not compute module_statics_readonly
+ and do not update variable flags.
+ (propagate): Call ipa_discover_readonly_nonaddressable_vars.
+ * ipa.c: Inlucde flags.h
+ (cgraph_local_node_p): New.
+ (cgraph_remove_unreachable_nodes): Return early when not optimizing;
+ promote functions to local.
+ (ipa_discover_readonly_nonaddressable_vars): New function.
+ (function_and_variable_visibility): Use cgraph_local_node_p.
+ * varpool.c (varpool_finalize_decl): Set force_output for
+ DECL_PRESERVE_P vars.
+
+2010-05-14 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
+
+2010-05-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44119
+ * tree-ssa-pre.c (eliminate): Properly mark replacement of
+ a PHI node necessary.
+
+2010-05-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
+
+2010-05-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/44127
+ * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
+ (gimple_call_set_nothrow): New.
+ * gimple.c (gimple_build_call_from_tree): Call it.
+ (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
+
+ PR c++/44127
+ * gimplify.c (gimplify_seq_add_stmt): No longer static.
+ * gimple.h: Declare it.
+ * gimple.c (gimple_build_eh_filter): No ops.
+
+2010-05-14 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
+ nodes already in queue.
+ (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
+ re-enqueueing node.
+
+2010-05-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44136
+ * cfgexpand.c (expand_debug_expr): If non-memory op0
+ has BLKmode, return NULL.
+
+2010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
+
+ * config.gcc: Add support for --with-cpu option for bdver1.
+ * config/i386/i386.h (TARGET_BDVER1): New macro.
+ (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
+ to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
+ (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
+ to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
+ Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
+ (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
+ (processor_type): Add PROCESSOR_BDVER1.
+ * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
+ processor_type in config/i386/i386.h.
+ Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
+ movaps <reg, reg> instead of movapd <reg, reg> when replacing
+ movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
+ Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
+ to emit packed xor instead of packed double/packed integer
+ xor for SSE and AVX when moving a zero value.
+ * config/i386/sse.md: Add check for
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
+ movapd/movdqa for SSE and AVX.
+ Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
+ single logical operations i.e and, or and xor instead of packed double
+ logical operations for SSE and AVX.
+ * config/i386/i386-c.c (ix86_target_macros_internal):
+ Add PROCESSOR_BDVER1.
+ * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
+ (has_fma4, has_xop): New.
+ * config/i386/i386.c (bdver1_cost): New variable.
+ (m_BDVER1): New macro.
+ (m_AMD_MULTIPLE): Add m_BDVER1.
+ (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
+ x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
+ x86_tune_use_simode_fiop, x86_tune_promote_qimode,
+ x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
+ x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
+ x86_tune_sse_partial_reg_dependency,
+ x86_tune_sse_unaligned_load_optimal,
+ x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
+ x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
+ x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
+ x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
+ x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
+ Enable/disable for bdver1.
+ (processor_target_table): Add bdver1_cost.
+ (cpu_names): Add bdver1.
+ (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
+ processor_alias_table.
+ (ix86_expand_vector_move_misalign): Change.
+ TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
+ Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
+ Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
+ of movupd/movdqu for SSE and AVX.
+ (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
+ (ix86_tune_adjust_cost): Add code for bdver1.
+ (standard_sse_constant_opcode): Add check for
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
+ of packed double xor for SSE and AVX.
+
+2010-05-14 Pat Haugen <pthaugen@us.ibm.com>
+
+ * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
+ result to unsigned.
+
+2010-05-14 Tristan Gingold <gingold@adacore.com>
+
+ * toplev.c (default_debug_hooks): Remove this variable.
+ (process_options): Remove assignments to default_debug_hooks.
+
+2010-05-14 Martin Jambor <mjambor@suse.cz>
+
+ * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
+ (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
+ * langhooks.h (struct lang_hooks_for_decls): Removed field
+ fold_obj_type_ref.
+ * tree.c (free_lang_data): Remove assignment to
+ lang_hooks.fold_obj_type_ref.
+ * tree.def (OBJ_TYPE_REF): Update comment.
+
+2010-05-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44124
+ * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
+
+2010-05-14 Alan Modra <amodra@gmail.com>
+
+ PR target/44075
+ * config/rs6000/rs6000.c (struct machine_function): Reorder
+ fields for better packing. Add lr_save_state.
+ (rs6000_ra_ever_killed): Return lr_save_state if set.
+ (rs6000_emit_eh_reg_restore): Set lr_save_state.
+
+2010-05-13 Jan Hubicka <jh@suse.cz>
+
+ * varpool.c (decide_is_variable_needed): Drop code checking
+ TREE_SYMBOL_REFERENCED.
+
+2010-05-13 Jan Hubicka <jh@suse.cz>
+
+ * final.c (output_addr_const): Do not call mark_decl_referenced.
+ * cgraphunit.c (process_function_and_variable_attributes): Use
+ mark_needed_node dirrectly.
+ (assemble_thunk): Do not call mark_decl_referenced.
+
+2010-05-13 Anatoly Sokolov <aesok@post.ru>
+
+ * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
+
+2010-05-13 Jeff Law <law@redhat.com>
+
+ * ira-conflicts.c (print_allocno_conflicts): New function broken out
+ from...
+ (print_conflicts): Call print_allocno_conflicts.
+
+2010-05-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44104
+ * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
+ if it is NULL.
+
+2010-05-13 Kai Tietz <kai.tietz@onevision.com>
+
+ * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
+ t-mingw-w64 or t-mingw-w32 for multilib configuration.
+ * config/i386/t-mingw-w32: New.
+ * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
+
+2010-05-13 Martin Jambor <mjambor@suse.cz>
+
+ * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
+ gimple-fold.c).
+ * gimple-fold.c (get_base_binfo_for_type): New function.
+ (gimple_get_relevant_ref_binfo): Likewise.
+ (gimple_fold_obj_type_ref_known_binfo): Likewise.
+ (gimple_fold_obj_type_ref): Likewise.
+ (fold_gimple_call): Simplify condition for folding virtual calls
+ and call gimple_fold_obj_type_ref.
+ * gimple.h (gimple_get_relevant_ref_binfo): Declare.
+ (gimple_fold_obj_type_ref_known_binfo): Likewise.
+
+2010-05-13 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/rs6000/rs6000-protos.h
+ (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
+ * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
+ (rs6000_debug_mode_dependent_address)
+ (rs6000_mode_dependent_address_ptr): Likewise.
+
+2010-05-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43983
+ * var-tracking.c (track_expr_p): Allow tracking of variables optimized
+ by SRA.
+ * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
+ * tree-sra.c (create_access_replacement): Call unshare_expr before
+ passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
+ * dwarf2out.c: Include tree-flow.h.
+ (struct var_loc_node): Rename var_loc_note field to loc, add comment.
+ (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
+ Handle DW_OP_bit_piece.
+ (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
+ construct_piece_list, adjust_piece_list): New functions.
+ (add_var_loc_to_decl): Handle SRA optimized variables.
+ Adjust for var_loc_note to loc field renaming.
+ (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
+ in VAR_LOCATION note.
+ (new_loc_descr_op_bit_piece): New function.
+ (dw_sra_loc_expr): New function.
+ (dw_loc_list): Use it. Don't handle the last range after the
+ loop, handle it inside of the loop. Adjust for var_loc_note
+ to loc field renaming.
+ (add_location_or_const_value_attribute): Only special case
+ single entry loc lists if loc is NOTE_P. Adjust for
+ var_loc_note to loc field renaming.
+ (dwarf2out_var_location): Don't set newloc->var_loc_note
+ and newloc->next here.
+
+2010-05-12 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
+ flag.
+ * cgraph.h (cgraph_only_called_directly_p,
+ cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
+ (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
+ * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
+ (assemble
+ * ipa.c (cgraph_remove_unreachable_nodes): Use
+ cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
+ flags.
+ * tree-inline.c (copy_bb): Check address_taken flag.
+ * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
+ externally_visible flag.
+
+2010-05-12 Jason Merrill <jason@redhat.com>
+
+ PR bootstrap/44048
+ PR target/44099
+ * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
+ * sdbout.c (plain_type_1): Likewise.
+ * dwarf2out.c (is_base_type): Likewise.
+ (gen_type_die_with_usage): Likewise. Generate
+ DW_TAG_unspecified_type for any LANG_TYPE.
+
+2010-05-12 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
+ indrect edges too.
+ * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
+ (cgraph_clone_edge): Update.
+ (cgraph_node_remove_callees): Remove indirect calls too.
+ * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
+ (cgraph_create_indirect_edge): Update prototype.
+ * ipa-reference.c (has_proper_scope_for_analysis): Rename to
+ is_proper_for_analysis.
+ (add_new_function, visited_nodes, function_insertion_hook_holder,
+ get_local_reference_vars_info, mark_address_taken, mark_address,
+ mark_load, mark_store, check_asm_memory_clobber, check_call,
+ scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
+ (ipa_init): Do not initialize visited_nodes;
+ function_insertion_hook_holder.
+ (analyze_variable): Rewrite.
+ (analyze_function): Rewrite.
+ (copy_local_bitmap): Remove.
+ (duplicate_node_dat): Do not duplicate local info.
+ (generate_summary): Simplify to only walk cgraph.
+ (write_node_summary_p, ipa_reference_write_summary,
+ ipa_reference_read_summary): Remove.
+ (propagate): Do not remove function insertion;
+ generate summary.
+ (pass_ipa_reference): NULLify summary handling fields.
+ * lto-cgraph.c (lto_output_edge): Output ecf_flags.
+ (input_edge): Input ecf_flags.
+ * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
+ (update_indirect_edges_after_inlining): Ignore edges with unknown
+ param.
+
+2010-05-12 Sriraman Tallam <tmsriram@google.com>
+
+ * implicit-zee.c: New file.
+ * tree-pass.h (pass_implicit_zee): Declare.
+ * passes.c (init_optimization_passes): Add zee pass.
+ * common.opt (fzee): New flag.
+ * timevar.def (TV_ZEE): Define.
+ * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
+ and beyond.
+ * Makefile.in (implicit-zee.o): Add new build file.
+
+2010-05-12 Kazu Hirata <kazu@codesourcery.com>
+ Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-common.c (sync_resolve_params): Remove write-only variable.
+
+2010-05-12 Anatoly Sokolov <aesok@post.ru>
+
+ * target.h (struct gcc_target): Add mode_dependent_address_p field.
+ * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
+ (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
+ * targhooks.c (default_mode_dependent_address_p): New function.
+ * targhooks.h (default_mode_dependent_address_p): Declare function.
+ * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
+ (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
+ * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
+ target hook. Change return type to bool.
+ * recog.h (mode_dependent_address_p): Change return type to bool.
+
+2010-05-12 Kazu Hirata <kazu@codesourcery.com>
+ Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree-mudflap.c (build_function_type_0, build_function_type_1,
+ build_function_type_2, build_function_type_3): Remove.
+ (mudflap_init): Use build_function_type_list.
+
+2010-05-12 Kazu Hirata <kazu@codesourcery.com>
+ Nathan Froyd <froydnj@codesourcery.com>
+
+ * coverage.c (build_fn_info_value): Call build_constructor instead of
+ build_constructor_from_list.
+ (build_ctr_info_value): Likewise.
+ (build_gcov_info): Likewise.
+
+2010-05-12 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.c (build_constructor): Compute TREE_CONSTANT for the
+ resultant constructor.
+ (build_constructor_single): Don't set TREE_CONSTANT.
+ (build_constructor_from_list): Don't compute TREE_CONSTANT.
+
+2010-05-12 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (struct varpool_node): Add aux.
+ * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
+ * varpool.c (varpool_remove_node): Do not remove initializer.
+ (varpool_reset_queue): Export.
+ (varpool_finalize_decl): Volatile vars are forced to be output.
+ * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
+ replaced decl.
+ * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
+ process_references, varpool_can_remove_if_no_refs): New functions.
+ (cgraph_remove_unreachable_nodes): Handle variables too.
+
+2010-05-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44088
+ * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
+
+2010-05-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/44085
+ * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
+ change value of ORT_TASK.
+ (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
+ (omp_notice_threadprivate_variable): New function.
+ (omp_notice_variable): Call it for threadprivate variables.
+ If enclosing ctx is a task, print enclosing task rather than
+ enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
+ (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
+ if task has untied clause.
+
+ PR debug/42278
+ * dwarf2out.c (base_type_die): Don't add name attribute here.
+ (modified_type_die): Instead of sizetype use
+ its underlying original type. If a DW_TAG_base_type doesn't
+ have name added, add __unknown__.
+ (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
+ always call force_type_die instead.
+
+2010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
+ for __stack_chk_guard.
+
+2010-05-11 Jakub Jelinek <jakub@redhat.com>
+
+ * c-opts.c (c_common_parse_file): If start_end_main_source_file,
+ don't call start_source_file debug hook here...
+ (finish_options): ... but here, after outputting predefined and
+ command line defines and undefs.
+
+ PR middle-end/44071
+ * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
+ no fallthru edge.
+ * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
+ optimizing away empty bb with no successors, move over its
+ footer chain to fallthru predecessor.
+ * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
+ (rtl_split_edge): For asm goto call patch_jump_insn even if
+ splitting fallthru edge.
+
+ PR c++/44059
+ * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
+ even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
+ * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
+ * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
+ on DW.ref.* decls.
+
+ PR c++/44062
+ * c-parser.c (c_parser_expression): Mark LHS of a comma
+ expression as read if it is a decl, handled component or
+ COMPOUND_EXPR with that on the RHS.
+ * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
+ if it is a decl or handled component.
+
+2010-05-11 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_symtab_free): New function.
+ * lto-streamer.h (lto_symtab_free): Declare.
+
+2010-05-11 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
+ that if function is needed it is reachable.
+ (lto_output_node): See if it the function is reachable or referenced.
+ (output_cgraph): Update call of lto_output_node.
+ * lto-streamer.h (reachable_from_other_partition_p): Declare.
+
+2010-05-11 Jan Hubicka <jh@suse.cz>
+
+ * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
+ Mark as used.
+
+2010-05-11 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/44063
+ * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
+ queue.
+ (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
+ limits.
+ (estimate_function_body_sizes): Compute sizes even when disregarding.
+
+2010-05-11 Kai Tietz <kai.tietz@onevision.com>
+
+ * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
+
+2010-05-11 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
+ into every boundary.
+
+2010-05-11 Jan Hubicka <jh@suse.cz>
+
+ * matrix-reorg.c (matrix_reorg): Rebuild edges.
+
+2010-05-11 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer.c (lto_streamer_cache_add_to_node_array,
+ lto_streamer_cache_delete): Put nodes into heap.
+ * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
+ heap.
+
+2010-05-11 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (cgraph_rebuild_references): New.
+ * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
+ out extern inlines.
+ * cgraph.h (cgraph_rebuild_references): Declare.
+ * tree-inline.c (tree_function_versioning): Use it.
+ * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
+
+2010-05-11 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c: Include ipa-utils.h
+ (cgraph_create_virtual_clone): Update references.
+ * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
+
+2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
+
+ * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
+ prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
+ cache size.
+
+2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
+
+ * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
+
+2010-05-11 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c (execute): For -### don't quote arguments that
+ contain just alphanumerics and _/-. characters.
+ * doc/invoke.texi: Document that change for -###.
+
+ PR debug/44023
+ * df-problems.c (struct dead_debug): Add to_rescan field.
+ (dead_debug_init): Clear to_rescan field.
+ (dead_debug_finish): Rescan all debug insns in to_rescan
+ bitmap and free the bitmap.
+ (dead_debug_insert_before): Instead of rescanning debug insns
+ immediately queue their rescanning until dead_debug_finish.
+ (df_note_bb_compute): After dead_debug_add do continue instead
+ of break.
+
+2010-05-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/44028
+ * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
+ clear also INSN_REG_USE_LIST.
+
+2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
+
+2010-05-10 Jan Hubicka <jh@suse.cz>
+
+ * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
+ commited change.
+
+2010-05-10 Jan Hubicka <jh@suse.cz>
+
+ * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
+ Allocate encoders.
+ * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
+ * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
+ (lto_streamer_cache_create): Init alloc pool.
+ (lto_streamer_cache_delete): Free alloc pool.
+ * lto-streamer.h: Include alloc pool.
+ (lto_streamer_cache_d): Use alloc pool.
+ * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
+
+2010-05-10 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (cgraphbuild.o): Add dependency on except.h.
+ * cgraphbuild.c: Include except.h
+ (record_type_list, record_eh_tables): New function.
+ (build_cgraph_edges, rebuild_cgraph_edges): Use it.
+
+2010-05-10 Jan Hubicka <jh@suse.cz>
+
+ * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
+ __frame_dummy_init_array_entry, force_to_data): Attribute as used
+ rather than unused.
+
+2010-05-10 Michael Matz <matz@suse.de>
+
+ * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
+ (can_reassociate_p): Use FLOAT_TYPE_P.
+ * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
+ (vect_force_simple_reduction): ... this.
+ * tree-parloops.c (gather_scalar_reductions): Use
+ vect_force_simple_reduction.
+ * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
+ vect_is_simple_reduction, add modify argument, if true rewrite
+ "a-b" into "a+(-b)".
+ (vect_is_simple_reduction, vect_force_simple_reduction): New
+ functions.
+ (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
+
+2010-05-10 H.J. Lu <hongjiu.lu@intel.com>
+ Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/44012
+ * ira-build.c (remove_unnecessary_allocnos): Nullify
+ regno_allocno_map of the removed allocno.
+
+2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
+ to /dev/null.
+ * configure: Regenerate.
+
+2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
+ unused.
+ Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
+ * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
+ support in Sun ld.
+ * configure: Regenerate.
+
+2010-05-10 Richard Guenther <rguenther@suse.de>
+
+ * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
+ marked if the entry identifier is marked.
+
+2010-05-10 Richard Guenther <rguenther@suse.de>
+
+ * c-common.c (struct c_common_attributes): Add fnspec attribute.
+ (handle_fnspec_attribute): New function.
+ * gimple.h (gimple_call_return_flags): Declare.
+ (gimple_call_arg_flags): Likewise.
+ * gimple.c (gimple_call_arg_flags): New function.
+ (gimple_call_return_flags): Likewise.
+ * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
+ New argument flags.
+ (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
+ return value flags.
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
+ * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
+ main work to ...
+ (make_heapvar_for): ... this new function.
+ (handle_rhs_call): Handle fnspec attribute argument specifiers.
+ (handle_lhs_call): Likewise.
+ (find_func_aliases): Adjust.
+
+2010-05-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44050
+ * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
+
+2010-05-10 Wei Guozhi <carrot@google.com>
+
+ PR target/42879
+ * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
+
+2010-05-09 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/10676
+ * c-typeck.c (lookup_field): Take a type directly. Update
+ recursive calls.
+ (build_component_ref): Update call to lookup_field.
+ (set_init_label): Use lookup_field to find initialized field.
+ Handle returned list of fields like a sequence of designators.
+
+2010-05-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44024
+ * fold-const.c (tree_single_nonzero_warnv_p): Properly
+ handle &FUNCTION_DECL.
+
+2010-05-09 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/4784
+ * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
+ structures and unions recursively.
+ (detect_field_duplicates): Move duplicate detection with a hash to
+ detect_field_duplicates_hash. Always use a hash if anonymous
+ structures or unions are present.
+ * doc/extend.texi (Unnamed Fields): Document that duplicate fields
+ give errors.
+
+2010-05-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/44046
+ * config/i386/driver-i386.c (host_detect_local_cpu): Properly
+ detect Atom, Core 2 and Core i7.
+
+2010-05-09 Richard Guenther <rguenther@suse.de>
+
+ * gcc.c (store_arg): Handle temporary file deletion for
+ joined arguments.
+
+2010-05-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44043
+ * ipa-inline.c (estimate_function_body_sizes): Return after
+ disregarding inline limits.
+
+2010-05-09 Richard Guenther <rguenther@suse.de>
+
+ * gcc.c (store_arg): Revert last change.
+
+2010-05-08 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR middle-end/28685
+ * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
+ (optimize_ops_list): Call it.
+
+2010-05-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44030
+ * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
+ NECESSARY flag if we propagate from a inserted expression.
+
+2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
+ domain types as equal if they are both PLACEHOLDER_EXPRs.
+
+2010-05-08 Richard Guenther <rguenther@suse.de>
+
+ * lto-wrapper.c (run_gcc): Remove linker output from
+ command line for LTRANS invocation.
+
+2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
+ lto-macho as lto_binary_reader.
+ * target.h (struct gcc_target): New hooks lto_start and lto_end.
+ * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
+ * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
+ in lto_start and lto_end calls.
+ (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
+ magic numbers.
+ (scan_prog_file): Update is_elf_or_coff call.
+ * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
+
+ * collect2.c (main): Fix enum comparison.
+
+ * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
+ Add prototypes.
+ * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
+ * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
+ and TARGET_ASM_LTO_END.
+ * darwin.c: Include obstack.h and lto-streamer.h.
+ (lto_section_names_offset, lto_section_names_obstack,
+ lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
+ global variables.
+ (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
+ (darwin_asm_lto_start): New function. Redirect output to asm_out_file
+ to a temporary file.
+ (darwin_asm_lto_end): New function. Restore asm_out_file.
+ (darwin_asm_named_section): For LTO sections, replace the name with
+ the offset of the section name in a string table, and build this
+ table.
+ (darwin_file_start): Initialize global vars for LTO support.
+ (darwin_file_end): If output to asm_out_file was redirected, append it
+ to the proper asm_out_file here. Add the section names section.
+
+2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * c-pragma.c (pending_weak_d, pending_weak): New.
+ (pending_weaks): Change the type to VEC((pending_weak,gc) *.
+ (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
+ handle_pragma_weak): Update the uses of pending_weaks.
+
+2010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR documentation/44016
+ * doc/standards.texi (Standards): Link to unversioned
+ cxx0x_status.html page.
+
+2010-05-07 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/43708
+ * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
+ in addition to TREE_USED, to avoid "set but unused" warnings.
+
+2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
+
+ * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
+ (is_loop_prefetching_profitable): Do not insert prefetches
+ when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
+ times the prefetch ahead distance.
+
+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>
+
+ 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 VEC(tree,gc) *.
+ (get_pending_sizes, put_pending_size, put_pending_sizes):
+ Update the uses of pending_sizes.
+ * c-decl.c (store_parm_decls): Likewise.
+ * c-tree.h (struct c_arg_info): Likewise.
+ * tree.h: Update the prototype for get_pending_sizes and
+ put_pending_sizes.
+
+2010-05-05 Jason Merrill <jason@redhat.com>
+
+ PR debug/43370
+ * c-common.c (handle_aligned_attribute): Respect
+ ATTR_FLAG_TYPE_IN_PLACE.
+
+ PR testsuite/43758
+ * target.h (struct gcc_target): Add attribute_takes_identifier_p.
+ * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
+ (TARGET_INITIALIZER): Use it.
+ * c-common.c (attribute_takes_identifier_p): Call it.
+ * c-common.h: Update prototype.
+ * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
+ (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
+
+2010-05-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43950
+ * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
+ DW_ID_down_case for Fortran compilation units.
+
+2010-05-05 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
+ handle aliases.
+
+2010-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
+ a variable-sized RESULT_DECL.
+
+2010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
+
+2010-05-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/43787
+ * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
+ returns GS_OK.
+ (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
+
+2010-05-05 Alexandre Oliva <aoliva@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43478
+ * df-problems.c (struct dead_debug_use, struct dead_debug): New.
+ (dead_debug_init, dead_debug_finish): New functions.
+ (dead_debug_add, dead_debug_insert_before): Likewise.
+ (df_note_bb_compute): Initialize a dead_debug object, add dead
+ debug uses to it, insert debug bind insns before death insns,
+ reset debug insns that refer to pending uses at the end.
+ * rtl.h (make_debug_expr_from_rtl): New prototype.
+ * varasm.c (make_debug_expr_from_rtl): New function.
+
+2010-05-05 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
+ (lto_varpool_encoder_new, lto_varpool_encoder_delete,
+ lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
+ lto_varpool_encoder_deref, lto_varpool_encoder_size,
+ lto_varpool_encoder_encode_initializer_p,
+ lto_set_varpool_encoder_encode_initializer): New functions.
+ (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
+ call output_varpool.
+ (input_varpool_node): Do not always set analyzed.
+ (input_cgraph_1): Return vector of cgraph nodes.
+ (input_varpool_1): Return vector of varpools.
+ (input_cgraph): Free the vectors.
+ * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
+ output only initializers needed.
+ (lto_output): Only call output_cgraph.
+ (produce_asm_for_decls): Call lto_varpool_encoder_delete.
+ * lto-section-out.c (lto_new_out_decl_state): Initialize
+ state->varpool_node_encoder.
+ * lto-streamer.h (lto_varpool_encoder_d): New.
+ (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
+ (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
+ (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
+ lto_varpool_encoder_encode, lto_varpool_encoder_delete,
+ lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
+ Declare.
+ (output_varpool, input_varpool): Remove declarations.
+
+2010-05-05 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
+ with body can prevail.
+
+2010-05-05 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
+ size.
+
+2010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
+
+ * gengtype.h (erro_at_line): Constify pos argument.
+
+ * gengtype.c: Include hashtab.h.
+ (enum gc_used): Document GC_MAYBE_POINTED_TO.
+ (error_at_line): Constify pos argument.
+ (do_typedef): Initialize p->opt field.
+ (get_file_gtfilename): Fix comment typo.
+ (struct walk_type_data): Constify line field.
+ (get_output_file_for_structure): New function.
+ (write_local_func_for_structure): Constify orig_s argument.
+ Use get_output_file_for_structure.
+ (write_func_for_structure): Use get_output_file_for_structure.
+ (INDENT): New define.
+ (dump_pair, dump_type, dump_type_list, dump_typekind)
+ (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
+ (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
+ functions.
+ (seen_types): New variable.
+ (main): New variable do_dump. Process "-d" command line option.
+ Call dump_everything if dump requested.
+
+2010-05-05 Jakub Jelinek <jakub@redhat.com>
+
+ * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
+ in a temporary instead of invoking the macro multiple times.
+ (track_expr_p): Likewise.
+
+2010-05-04 Neil Vachharajani <nvachhar@google.com>
+
+ * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
+ per new semantics.
+ * opts.c (decode_options): Enable -Werror=coverage-mismatch.
+ * coverage.c (get_coverage_counts): Always emit a warning. Adjust
+ conditions for printing notes.
+ * common.opt (-Wcoverage-mismatch): Allow negative, default to
+ true, update documentation.
+ * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
+
+2010-05-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/43981
+ * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
+ on dimen.
+
+2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/43799
+ * config/i386/i386.md (sse_prologue_save): Clobber CC register.
+ (*sse_prologue_save_insn1): Likewise.
+ (SSE prologue save splitter): Likewise.
+
+2010-05-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.c (free_lang_data_in_one_sizepos): New inline function.
+ (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
+ types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
+ (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
+ all decls. Call it on DECL_FIELD_OFFSET of fields.
+ (find_decls_types_r): Follow DECL_VALUE_EXPR.
+ (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
+
+2010-05-04 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (build_access_from_expr_1): The first parameter type
+ changed to simple tree.
+ (build_access_from_expr): Likewise, gsi parameter was eliminated.
+ (scan_assign_result): Renamed to assignment_mod_result, enum elements
+ renamed as well.
+ (build_accesses_from_assign): Removed all parameters except for a
+ simple gimple statement. Now returns a simple bool.
+ (scan_function): All non-analysis parts moved to separate functions
+ sra_modify_function_body and ipa_sra_modify_function_body. Removed all
+ parameters and updated both callers.
+ (sra_modify_expr): Removed parameter data.
+ (sra_modify_function_body): New function.
+ (perform_intra_sra): Call sra_modify_function_body to modify the
+ function body.
+ (replace_removed_params_ssa_names): Parameter data changed into
+ adjustments vector.
+ (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
+ changed the parameter dont_convert to convert with the opposite
+ meaning.
+ (sra_ipa_modify_assign): Parameter data changed into adjustments
+ vector, return value changed to bool.
+ (ipa_sra_modify_function_body): New function.
+ (sra_ipa_reset_debug_stmts): Updated a comment.
+ (modify_function): Use ipa_sra_modify_function_body to modify function
+ body.
+
+2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/43671
+ * alias.c (true_dependence): Handle the same VALUE in x and mem.
+ (canon_true_dependence): Likewise.
+ (write_dependence_p): Likewise.
+
+2010-05-04 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
+ * cgraphbuild.c: Include ipa-utils.h
+ (record_reference_ctx): New struct.
+ (record_reference): Simplify to work on initializers; not statements.
+ (mark_address, mark_load, mark_store): New.
+ (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
+ walk PHI nodes too.
+ (record_references_in_initializer): Update use of record_reference.
+ (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
+ walk PHI nodes too.
+
+2010-05-04 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
+ node will be removed anyway.
+ (lto_varpool_replace_node): Allow also unanalyzed nodes;
+ relink aliases of node into prevailing node.
+ * varpool.c (varpool_remove_node): Remove aliases properly;
+ when removing node, remove all its aliases too; remove DECL_INITIAL
+ of removed node; ggc_free the varpool node.
+
+2010-05-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43879
+ * tree-ssa-structalias.c (alias_get_name): Use
+ DECL_ASSEMBLER_NAME if available.
+ (create_function_info_for): Return the varinfo node.
+ (ipa_pta_execute): Associate same-body aliases and extra names
+ with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
+
+2010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
+
+2010-05-04 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR bootstrap/43964
+ * ira-color.c (assign_hard_reg): Declare rclass and add_cost
+ only if HONOR_REG_ALLOC_ORDER is not defined.
+
+2010-05-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43949
+ * tree-vrp.c (extract_range_from_binary_expr): Only handle
+ TRUNC_MOD_EXPR.
+
+2010-04-26 Jason Merrill <jason@redhat.com>
+
+ * c.opt (-fstrict-enums): New.
+ * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
+
+2010-05-03 David Ung <davidu@mips.com>
+ James E. Wilson <wilson@codesourcery.com>
+
+ * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
+ emit the trap instruction before the divide for TUNE_74K.
+
+2010-05-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
+ (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
+ based on the above, for new target hook.
+
+ * hooks.c (hook_bool_mode_true): New generic hook.
+ * hooks.h (hook_bool_mode_true): Add prototype.
+
+ * target.h (struct gcc_target): Add small_register_classes_for_mode_p
+ target hook.
+ * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
+ target hook, set to hook_bool_mode_false.
+ * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
+ * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
+ with targetm.small_register_classes_for_mode_p.
+ (find_reusable_reload): Likewise.
+ (combine_reloads): Likewise.
+ * reload1.c (reload_as_needed): Likewise.
+ * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
+ * ifcvt.c (noce_process_if_block, check_cond_move_block,
+ dead_or_predicable): Likewise.
+ * regmove.c (optimize_reg_copy_1): Likewise.
+ * calls.c (prepare_call_address): Likewise.
+ (precompute_register_parameters): Likewise.
+
+ * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
+ hook definition.
+ * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
+ implementation of the hook that considers all register classes
+ small except for SH64.
+ (sh_override_options): Use the new hook.
+ * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
+ Add prototype.
+
+ * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
+ hook definition.
+ * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
+ implementation of the hook that considers all register classes
+ small for THUMB1.
+ * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
+ Add prototype.
+
+ * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
+ hook definition.
+ * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
+ implementation of the hook that considers all register classes
+ small for MIPS16.
+ * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
+ Add prototype.
+
+ * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
+ hook definition.
+ * config/m32c/m32c.h: Likewise.
+ * config/pdp11/pdp11.h: Likewise.
+ * config/avr/avr.h: Likewise.
+ * config/xtensa/xtensa.h: Likewise.
+ * config/m68hc11/m68hc11.h: Likewise.
+ * config/mn10300/mn10300.h: Likewise.
+ * config/mcore/mcore.h: Likewise.
+ * config/h8300/h8300.h: Likewise.
+ * config/bfin/bfin.h: Likewise.
+
+ * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
+ * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
+
+2010-05-03 Anatoly Sokolov <aesok@post.ru>
+
+ * double-int.h (tree_to_double_int): Remove macro.
+ (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
+ * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
+ (tree_to_double_int): New function.
+ * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
+ Move ...
+ * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
+
+2010-05-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43971
+ * tree-ssa-structalias.c (get_constraint_for_1): Fix
+ constraints in the !flag_delete_null_pointer_checks case.
+
+2010-05-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43972
+ * config/i386/i386.c (ix86_delegitimize_address): Make sure the
+ result mode matches original rtl mode.
+
+2010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR target/43888
+ * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
+
+2010-05-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
+ when processing flag options.
+
+2010-05-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcov-iov.c (main): Change format string placeholder
+ from %#08x to 0x%08x.
+ * genchecksum.c (dosum): Change format string placeholder
+ from %#02x to 0x%02x.
+
+2010-05-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43879
+ * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
+
+2010-05-02 Bruno Haible <bruno@clisp.org>
+
+ * doc/extend.texi (Function Attributes): Fix a typo.
+
+2010-05-02 Uros Bizjak <ubizjak@gmail.com>
+
+ Revert:
+ * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
+ placeholder from 0x%x to %#x.
+ (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
+ * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
+ * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
+ * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
+ * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
+ * config/i386/i386.c (ix86_target_string): Ditto.
+ * config/i386/i386.c (output_pic_addr_const): Ditto.
+ (print_operand): Ditto.
+
+2010-05-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
+ placeholder from 0x%x to %#x.
+ (ASM_OUTPUT_DEBUG_DATA1): Ditto.
+ (ASM_OUTPUT_DEBUG_DATA4): Ditto.
+ (ASM_OUTPUT_DEBUG_DATA): Ditto.
+ (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
+ (ASM_OUTPUT_DEBUG_DATA8): Ditto.
+ * optc-gen.awk: Ditto.
+ * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
+ (HOST_WIDE_INT_PRINT_HEX): Ditto.
+ (HOST_WIDEST_INT_PRINT_HEX): Ditto.
+ (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
+
+2010-05-01 Anatoly Sokolov <aesok@post.ru>
+
+ * target.h (struct calls): Add function_value_regno_p field.
+ * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
+ (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
+ * targhooks.c (default_function_value_regno_p): New function.
+ * targhooks.h (default_function_value_regno_p): Declare function.
+ * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
+ * builtins.c. (apply_result_size): (Ditto.).
+ * combine.c. (likely_spilled_retval_p): (Ditto.).
+ * mode-switching.c. Include 'target.h'.
+ (create_pre_exit): Use function_value_regno_p hook.
+ * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
+ * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
+ TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
+
+ * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
+ * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
+ (ix86_function_value_regno_p): Declare as static, change argument
+ type to const unsigned int.
+ * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
+
+2010-05-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43949
+ * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
+ types.
+ (extract_range_from_binary_expr): Handle *_MOD_EXPR.
+
+2010-05-01 Anatoly Sokolov <aesok@post.ru>
+
+ * rtl.h (CONST_DOUBLE_P): Define.
+ (rtx_to_double_int): Declare.
+ * emit-rtl.c (rtx_to_double_int): New function.
+ * dwarf2out.c (insert_double): New function.
+ (loc_descriptor, add_const_value_attribute): Clean up, use
+ rtx_to_double_int and insert_double functions.
+
+2010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/extend.texi (Inline): Add missing return keyword to examples.
+ (Function Attributes, Variable Attributes, Pragmas): Hyphenate
+ "command-line".
+
+2010-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
+ the variable part of the offset as well. Use highest_pow2_factor for
+ all alignment checks.
+
+2010-04-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43879
+ * tree-ssa-structalias.c (type_could_have_pointers): Functions
+ can have pointers.
+
+2010-04-30 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
+ varpool.
+ (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
+
+2010-04-30 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
+ New.
+ * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
+ * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
+ (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
+ cgraph_node_set_needs_ltrans_p): Remove.
+
+2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
+
+ * sdbout.c: Include vec.h, do not include varray.h.
+ (deferred_global_decls, sdbout_global_decl,
+ sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
+ * toplev.c: Do not include varray.h.
+ (dump_memory_report): Do not dump VARRAY statistics.
+ * gengtype.c (open_base_file): Ignore varray.h.
+ * Makefile.in: Update for abovementioned changes.
+ Remove all traces of varray.c and varray.h.
+ * varray.c: Remove file.
+ * varray.h: Remove file.
+
+2010-04-30 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
+ references.
+
+2010-04-30 Jan Hubicka <jh@suse.cz>
+
+ * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
+ needed.
+
+2010-04-30 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (get_constraint_for_1): Generate
+ constraints for CONSTRUCTOR.
+
+2010-04-30 Richard Guenther <rguenther@suse.de>
+
+ PR lto/43946
+ * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
+ first after all lowering passes.
+
+2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
+
+ * toplev.c: Include varray.h for statistics dumping.
+ * tree.h: Do not declare varray_head_tag.
+ * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
+ regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
+ c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
+ gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
+ lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
+ tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
+ c-common.c, c-common.h, reg-stack.c, basic-block.h,
+ tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
+ include varray.h.
+ * Makefile.in: Update for abovementioned changes.
+
+2010-04-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43942
+ * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
+
+2010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (picochip_legitimize_address): Define.
+ Use this function to do machine-specific conversion.
+ (picochip_legitimize_reload_address): Likewise.
+ (picochip_legitimate_address_p): Check valid base register only if
+ strict.
+ (picochip_check_conditional_copy): Check for modw only if opnd is
+ register.
+ * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
+ to call the function in c.
+ * config/picochip/picochip-protos.h
+ (picochip_legitimize_reload_address): Define.
+ * config/picochip/picochip.md (supported_compare1): Define.
+
+2010-04-30 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (cgraph_local_info): Remove for_functions_valid.
+ (cgraph_global_info): Remove inlined.
+ (LTO_cgraph_tag_names): Remove.
+ (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
+ * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
+ simplify cgraph tags and document.
+ (lto_output_node): Use only LTO_cgraph_unavail_node and
+ LTO_cgraph_analyzed_node; Do not save analzed, reachable,
+ for_functions_valid, global info, process and output flags.
+ (input_overwrite_node): Initialize estimated stack size and
+ estimated growth. Do not read flags we no longer store.
+ (input_node): Likewise do not read info no longer stored.
+ * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
+ flag.
+
+2010-04-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43879
+ * tree-ssa-structalias.c (get_constraint_for_1): Properly
+ handle non-zero initializers.
+
+2010-04-30 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (fold_builtin_1): Delete free (0).
+
+2010-04-29 Jan Hubicka <jh@suse.cz>
+
+ * gengtype.c (open_base_files): Add lto-streamer.h
+ * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
+ (pass_ipa_cp): GGC collect.
+ * toplev. (compile_file): Do not output symbols.
+ * ipa-inline.c (pass_ipa_inline): Add ggc collect.
+ * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
+ TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
+ * lto-section-in.c: Include ggc.h
+ (lto_new_in_decl_state): Alloc in GGC.
+ (lto_delete_in_decl_state): Likewise.
+ * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
+ Collect.
+
+2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/42895
+ * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
+ ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
+ (HONOR_REG_ALLOC_ORDER): Describe new macro.
+ * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
+ * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
+ account only if HONOR_REG_ALLOC_ORDER is not defined.
+ * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
+ * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
+
+2010-04-29 Jon Grant <04@jguk.org>
+
+ * collect2.c (vflag): Change type from int to bool.
+ (debug): Likewise.
+ (helpflag): New global bool.
+ (main): Set vflag and debug with boolean, not integer truth values.
+ Accept new "--help" option and output usage text if found.
+ * collect2.h (vflag): Update prototype.
+ (debug): Likewise.
+
+2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/43936
+ * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
+
+2010-04-29 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/43935
+ * plugin.h (invoke_plugin_callbacks): Annotate arguments
+ with ATTRIBUTE_UNUSED.
+
+2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/43921
+ * config/i386/i386.c (get_some_local_dynamic_name): Replace
+ INSN_P with NONDEBUG_INSN_P.
+ (distance_non_agu_define): Likewise.
+ (distance_agu_use): Likewise.
+
+2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
+
+ From Dominique d'Humieres <dominiq@lps.ens.fr>
+ PR bootstrap/43858
+ * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
+ test_set.
+
+2010-04-29 Brian Hackett <bhackett1024@gmail.com>
+
+ * plugin.h (invoke_plugin_callbacks): New inline function.
+ * plugin.c (flag_plugin_added): New global flag.
+ (add_new_plugin): Initialize above flag.
+ (invoke_plugin_callbacks): Rename to ...
+ (invoke_plugin_callbacks_full): ... this.
+
+2010-04-28 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_symtab_entry_def) Add vnode.
+ (lto_varpool_replace_node): New.
+ (lto_symtab_resolve_symbols): Resolve varpool nodes.
+ (lto_symtab_merge_decls_1): Prefer decls with varpool node.
+ (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
+ * cgraph.h (varpool_node_ptr): New type.
+ (varpool_node_ptr): New vector.
+ (varpool_node_set_def): New structure.
+ (varpool_node_set): New type.
+ (varpool_node_set): New vector.
+ (varpool_node_set_element_def): New structure.
+ (varpool_node_set_element, const_varpool_node_set_element): New types.
+ (varpool_node_set_iterator): New type.
+ (varpool_node): Add prev pointers, add used_from_other_partition,
+ in_other_partition.
+ (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
+ varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
+ varpool_get_node, varpool_remove_node): Declare.
+ (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
+ varpool_node_set_size): New inlines.
+ * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
+ * tree-pass.h (varpool_node_set_def): Forward declare.
+ (ipa_opt_pass_d): Summary writting takes vnode sets too.
+ (ipa_write_optimization_summaries): Update prototype.
+ * ipa-cp.c (ipcp_write_summary): Update.
+ * ipa-reference.c (ipa_reference_write_summary): Update.
+ * lto-cgraph.c (lto_output_varpool_node): New static function.
+ (output_varpool): New function.
+ (input_varpool_node): New static function.
+ (input_varpool_1): New function.
+ (input_cgraph): Input varpool.
+ * ipa-pure-const.c (pure_const_write_summary): Update.
+ * lto-streamer-out.c (lto_output): Update, output varpool too.
+ (write_global_stream): Kill WPA hack.
+ (produce_asm_for_decls): Update.
+ (output_alias_pair_p): Handle variables.
+ (output_unreferenced_globals): Output only needed partition of varpool.
+ * ipa-inline.c (inline_write_summary): Update.
+ * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
+ cgraph.
+ * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
+ * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
+ varpool_node_set_new, varpool_node_set_add,
+ varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
+ debug_varpool_node_set): New functions.
+ * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
+ (execute_one_pass): Process new decls too.
+ (ipa_write_summaries_2): Pass around vsets.
+ (ipa_write_summaries_1): Likewise.
+ (ipa_write_summaries): Build vset; be more selective about cgraph nodes
+ to add.
+ (ipa_write_optimization_summaries_1): Pass around vsets.
+ (ipa_write_optimization_summaries): Likewise.
+ * varpool.c (varpool_get_node): New.
+ (varpool_node): Update doubly linked lists.
+ (varpool_remove_node): New.
+ (dump_varpool_node): More dumping.
+ (varpool_enqueue_needed_node): Update doubly linked lists.
+ (decide_is_variable_needed): Kill ltrans hack.
+ (varpool_finalize_decl): Kill lto hack.
+ (varpool_assemble_decl): Skip decls in other partitions.
+ (varpool_assemble_pending_decls): Update doubly linkes lists.
+ (varpool_empty_needed_queue): Likewise.
+ (varpool_extra_name_alias): Likewise.
+ * lto-streamer.c (lto_get_section_name): Add vars section.
+ * lto-streamer.h (lto_section_type): Update.
+ (output_varpool, input_varpool): Declare.
+
+2010-04-28 Mike Stump <mikestump@comcast.net>
+
+ * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
+
+2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
+ record or union type with RECORD_OR_UNION_TYPE_P predicate.
+ (lto_input_ts_type_tree_pointers): Likewise.
+ * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
+ (lto_output_ts_type_tree_pointers): Likewise.
+
+2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ Uniquization of constants at the Tree level
+ * tree.h (DECL_IN_CONSTANT_POOL): New macro.
+ (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
+ bit to the end.
+ (tree_output_constant_def): Declare.
+ * gimplify.c (gimplify_init_constructor): When using block copy, first
+ uniquize the constant constructor on the RHS.
+ * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
+ DECL_IN_CONSTANT_POOL flag.
+ * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
+ * varasm.c (make_decl_rtl): Deal with variables belonging to the global
+ constant pool.
+ (assemble_variable): Deal with symbols belonging to the tree constant
+ pool.
+ (get_constant_section): Add ALIGN parameter and simplify.
+ (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
+ (assemble_constant_contents): Use the expression of the VAR_DECL.
+ (output_constant_def_contents): Use the alignment of the VAR_DECL.
+ (tree_output_constant_def): New global function.
+ (mark_constant): Use the expression of the VAR_DECL.
+ (place_block_symbol): Use the alignment of the VAR_DECL and the size of
+ its expression.
+ (output_object_block): Likewise and assemble the expression.
+
+2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
+ hash_tree, eq_tree): New tree hash table.
+ (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
+ [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
+ lto_orig_address_remove): Reimplement.
+
+2010-04-28 Xinliang David Li <davidxl@google.com>
+
+ PR c/42643
+ * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
+ (compute_uninit_opnds_pos): New function.
+ (is_non_loop_exit_postdominating): New function.
+ (compute_control_dep_chain): New function.
+ (find_pdom): New function.
+ (convert_control_dep_chain_into_preds): New function.
+ (find_predicates): New function.
+ (find_control_equiv_block): New function.
+ (collect_phi_def_edges): New function.
+ (find_def_preds): New function.
+ (find_dom): New function.
+ (dump_predicates): New function.
+ (get_cmp_code): New function.
+ (is_value_included_in): New function.
+ (find_matching_predicate_in_rest_chains): New function.
+ (use_pred_not_overlap_with_undef_path_pred): New function.
+ (is_use_properly_guarded): New function.
+ (normalize_cond_1): New function.
+ (is_and_or_or): New function.
+ (normalize_cond): New function.
+ (is_gcond_subset_of): New function.
+ (is_subset_of_any): New function.
+ (is_or_set_subset_of): New function.
+ (is_and_set_subset_of): New function.
+ (is_norm_cond_subset_of): New function.
+ (is_pred_expr_subset_of): New function.
+ (is_pred_chain_subset_of): New function.
+ (is_included_in): New function.
+ (is_superset_of): New function.
+ (find_uninit_use): New function.
+ (warn_uninitialized_phi): New function.
+ (compute_possibly_undefined_names): New function.
+ (ssa_undefined_value_p): New function.
+ (execute_late_warn_uninitialized): New function.
+ * tree-ssa.c (ssa_undefined_value_p): Removed.
+ (warn_uninit): Changed to extern.
+ (warn_uninitialized_phi): Removed.
+ (warn_uninitialized_vars): Changed to extern.
+ (execute_late_warn_uninitialized): Removed
+ * tree-flow.h: Add new prototypes.
+ * timevar.def: Add new time variable.
+ * Makefile.in: Add new build file.
+
+2010-04-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
+ type if available.
+
+2010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/22224
+ * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
+
+2010-04-28 Martin Jambor <mjambor@suse.cz>
+
+ * cgraph.h (struct cgraph_node): New field indirect_calls.
+ (struct cgraph_indirect_call_info): New type.
+ (struct cgraph_edge): Removed field indirect_call. New fields
+ indirect_info, indirect_inlining_edge and indirect_unknown_callee.
+ (cgraph_create_indirect_edge): Declare.
+ (cgraph_make_edge_direct): Likewise.
+ (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
+ * ipa-prop.h (struct ipa_param_call_note): Removed.
+ (struct ipa_node_params): Removed field param_calls.
+ (ipa_create_all_structures_for_iinln): Declare.
+ * cgraph.c: Described indirect edges and uids in initial comment.
+ (cgraph_add_edge_to_call_site_hash): New function.
+ (cgraph_edge): Search also among the indirect edges, use
+ cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
+ (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
+ one, use cgraph_add_edge_to_call_site_hash to add edges to the call
+ site hash.
+ (initialize_inline_failed): Assign a reason to indirect edges.
+ (cgraph_create_edge_1): New function.
+ (cgraph_create_edge): Moved some functionality to
+ cgraph_create_edge_1.
+ (cgraph_create_indirect_edge): New function.
+ (cgraph_edge_remove_callee): Add an assert checking for
+ non-indirectness.
+ (cgraph_edge_remove_caller): Special-case indirect edges.
+ (cgraph_remove_edge): Likewise.
+ (cgraph_set_edge_callee): New function.
+ (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
+ (cgraph_make_edge_direct): New function.
+ (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
+ the declaration of the call statement matches.
+ (cgraph_node_remove_callees): Special-case indirect edges.
+ (cgraph_clone_edge): Likewise.
+ (cgraph_clone_node): Clone also the indirect edges.
+ (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
+ indirect_call, dump count of indirect_calls edges.
+ * ipa-prop.c (iinlining_processed_edges): New variable.
+ (ipa_note_param_call): Create indirect edges instead of
+ creating notes. New parameter node.
+ (ipa_analyze_call_uses): New parameter node, pass it on to
+ ipa_note_param_call.
+ (ipa_analyze_stmt_uses): Likewise.
+ (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
+ (print_edge_addition_message): Work on edges rather than on notes.
+ (update_call_notes_after_inlining): Likewise, renamed to
+ update_indirect_edges_after_inlining.
+ (ipa_create_all_structures_for_iinln): New function.
+ (ipa_free_node_params_substructures): Do not free notes.
+ (ipa_edge_duplication_hook): Propagate bits within
+ iinlining_processed_edges bitmap.
+ (ipa_node_duplication_hook): Do not duplicate notes.
+ (free_all_ipa_structures_after_ipa_cp): Renamed to
+ ipa_free_all_structures_after_ipa_cp.
+ (free_all_ipa_structures_after_iinln): Renamed to
+ ipa_free_all_structures_after_iinln.
+ (ipa_write_param_call_note): Removed.
+ (ipa_read_param_call_note): Removed.
+ (ipa_write_indirect_edge_info): New function.
+ (ipa_read_indirect_edge_info): Likewise.
+ (ipa_write_node_info): Do not stream notes, do stream information
+ in indirect edges.
+ (ipa_read_node_info): Likewise.
+ (lto_ipa_fixup_call_notes): Removed.
+ * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
+ * ipa-inline.c (pass_ipa_inline): Likewise.
+ * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
+ * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
+ * tree-inline.c (copy_bb): Removed an unnecessary double check for
+ is_gimple_call.
+ * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
+ edges.
+ * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
+ (output_cgraph): Stream also indirect edges.
+ (lto_output_edge): Added capability to stream indirect edges.
+ (input_edge): Likewise.
+ (input_cgraph_1): Likewise.
+ * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
+ of indirect edges.
+
+2010-04-28 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43879
+ PR tree-optimization/43909
+ * tree-ssa-structalias.c (struct variable_info): Add
+ only_restrict_pointers flag.
+ (new_var_info): Initialize it. Increment stats.total_vars here.
+ (create_function_info_for): Do not increment stats.total_vars here.
+ (get_function_part_constraint): Fix build with C++.
+ (insert_into_field_list): Remove.
+ (push_fields_onto_fieldstack): Properly merge fields.
+ (create_variable_info_for): Split and simplify.
+ (create_variable_info_for_1): New piece.
+ (intra_create_variable_infos): Properly make restrict constraints
+ from parameters.
+
+2010-04-28 Richard Guenther <rguenther@suse.de>
+
+ PR c++/43880
+ * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
+
+2010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
+ Jan Hubicka <hubicka@ucw.cz>
+
+ * doc/invoke.texi (-Wsuggest-attribute=const,
+ -Wsuggest-attribute=pure): Document.
+ * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
+ (function_always_visible_to_compiler_p,
+ suggest_attribute, warn_function_pure, warn_function_const):
+ New functions.
+ (check_call): Improve debug info.
+ (analyze_function): Do not check availability.
+ (add_new_function): Check availability.
+ (propagate): Output warnings.
+ (skip_function_for_local_pure_const): New function.
+ (local_pure_const): Use it; output warnings.
+ * common.opt (Wsuggest-attribute=const,
+ Wsuggest-attribute=pure): New.
+
+2010-04-27 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
+ force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
+ or DW_CFA_def_cfa_offset{,_sf}.
+
+2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h: Fix truncated long macros.
+
+2010-04-27 Kai Tietz <kai.tietz@onevision.com>
+
+ * collect2.c (TARGET_64BIT): Redefine to target's default.
+ * tlink.c: Likewise.
+ * config/i386/cygming.h (USER_LABEL_PREFIX): Define
+ dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
+ * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
+ for underscoring __USER_LABEL_PREFIX__.
+ * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
+ (SUB_LINK_ENTRY32): New.
+ (SUB_LINK_ENTRY64): New.
+ (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
+ * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
+ (SUB_LINK_ENTRY64): New.
+ (SUB_LINK_ENTRY): New.
+ (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
+ (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
+ x64 target is choosen.
+ * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
+ * configure: Regenerated.
+ * configure.ac (leading-mingw64-underscores): Option added.
+
+2010-04-27 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (-fipa-profile): Document.
+ * opts.c (decode_options): Enable ipa-profile at -O1.
+ * timevar.def (TV_IPA_PROFILE): Define.
+ * common.opt (fipa-profile): Add.
+ * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
+ flag for clones.
+ (cgraph_propagate_frequency): Handle only local ones.
+ * tree-pass.h (pass_ipa_profile): Declare.
+ * ipa-profile.c (gate_profile): Use flag_ipa_profile.
+ (pass_ipa_profile): Use TV_IPA_PROFILE.
+ * ipa.c (ipa_profile): New function.
+ (gate_ipa_profile): Likewise.
+ (pass_ipa_profile): New global variable.
+ * passes.c (pass_ipa_profile): New.
+
+2010-04-27 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
+
+2010-04-27 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/43812
+ * ipa.c (dissolve_same_comdat_group_list): New function.
+ (function_and_variable_visibility): Call
+ dissolve_same_comdat_group_list when comdat group contains external or
+ newly local nodes.
+ * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
+ lists are circular and that they contain only DECL_ONE_ONLY nodes.
+
+2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
+ (const_hash_1) <VECTOR_CST>: New case.
+ (compare_constant) <VECTOR_CST>: Likewise.
+ <ADDR_EXPR>: Deal with LABEL_REFs.
+ (copy_constant) <VECTOR_CST>: New case.
+
+2010-04-27 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_propagate_frequency): New function.
+ * cgraph.h (cgraph_propagate_frequency): Declare.
+ * ipa-inline.c (cgraph_clone_inlined_nodes): Call
+ cgraph_propagate_frequency.
+
+2010-04-27 Jakub Jelinek <jakub@redhat.com>
+
+ * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
+
+2010-04-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/40657
+ * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
+ (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
+ here to determine which regs to push and how much stack to reserve.
+
+2010-04-27 Jie Zhang <jie@codesourcery.com>
+
+ * doc/gimple.texi (gimple_statement_with_ops): Remove
+ addresses_taken field.
+ (gimple_statement_with_memory_ops): Likewise.
+
+2010-04-27 Jan Hubicka <jh@suse.cz>
+
+ * tree-inline.c (eni_inlining_weights): Remove.
+ (estimate_num_insns): Special case more builtins.
+
+2010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
+
+ PR c/32207
+ * c-typeck.c (build_binary_op): Move forward check for comparison
+ pointer with null pointer constant and adjust the diagnostic message.
+
+2010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR lto/42776
+ * configure.ac (gcc_cv_as_section_has_align): Set if installed
+ binutils supports extended .section directive needed by LTO, or
+ warn if older binutils found.
+ (LTO_BINARY_READER): New AC_SUBST'd variable.
+ (LTO_USE_LIBELF): Likewise.
+ * config.gcc (lto_binary_reader): New target-specific configure
+ variable.
+ * Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
+ (LTO_USE_LIBELF): Likewise.
+ * configure: Regenerate.
+
+ * collect2.c (is_elf): Rename from this ...
+ (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
+ object files in addition to ELF-formatted ones.
+ (scan_prog_file): Caller updated. Also allow for LTO info marker
+ symbol to be prefixed or not by an extra underscore.
+
+ * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
+ * config/i386/winnt.c: Also #include lto-streamer.h
+ (i386_pe_asm_named_section): Specify 1-byte section alignment for
+ LTO named sections.
+ (i386_pe_asm_output_aligned_decl_common): Add comment.
+ (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
+
+2010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR target/43889
+ * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
+ Add missing earlyclobber for second alternative.
+
+2010-04-26 Bernd Schmidt <bernds@codesourcery.com>
+
+ * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
+ bits for artificial defs at the top of the block.
+ * fwprop.c (single_def_use_enter_block): Don't call it.
+
+2010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR 43715
+ * configure.ac: Use "$gcc_cv_nm -g" on darwin
+ instead of "$gcc_cv_objdump -T".
+ Use "-undefined dynamic_lookup" on darwin.
+ * configure: Regenerate.
+
+2010-04-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/43893
+ * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
+
+2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-parser.c (struct c_token): Move location field up.
+ * c-tree.h (struct c_typespec): Move expr_const_operands field up.
+ (struct c_declspecs): Convert typespec_word, storage_class, and
+ default_int_p into bitfields.
+ (struct c_declarator): Move loc field up.
+
+2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cfgloop.h (struct loop): Move can_be_parallel field up.
+ * ipa-prop.h (struct ip_node_params): Move bitfields up.
+ * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
+ down.
+ (struct iv_cand): Convert pos field into a bitfield.
+ * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
+ field up.
+ (struct _stmt_vec_info): Shuffle fields for better packing.
+
+2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * varasm.c (IN_NAMED_SECTION): Remove guard.
+ * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
+ (IN_NAMED_SECTION_P): ...this.
+ (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
+ (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
+
+2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
+ Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
+ of shadowing it. Fix comments.
+
+2010-04-26 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_create_node): Set node frequency to normal.
+ (cgraph_clone_node): Copy function frequency.
+ * cgraph.h (node_frequency): New enum
+ (struct cgraph_node): Add.
+ * final.c (rest_of_clean_state): Update.
+ * lto-cgraph.c (lto_output_node): Output node frequency.
+ (input_overwrite_node): Input node frequency.
+ * tre-ssa-loop-ivopts (computation_cost): Update.
+ * lto-streamer-out.c (output_function): Do not output function
+ frequency.
+ * predict.c (maybe_hot_frequency_p): Update and handle functions
+ executed once.
+ (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
+ attribute lookup.
+ (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
+ (compute_function_frequency): Set noreturn functions to be executed
+ once.
+ (choose_function_section): Update.
+ * lto-streamer-in.c (input_function): Do not input function frequency.
+ * function.c (allocate_struct_function): Do not initialize function
+ frequency.
+ * function.h (function_frequency): Remove.
+ (struct function): Remove function frequency.
+ * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
+ (try_update): Update.
+ * tree-inline.c (initialize_cfun): Do not update function frequency.
+ * passes.c (pass_init_dump_file): Update.
+ * i386.c (ix86_compute_frame_layout): Update.
+ (ix86_pad_returns): Update.
+
+2010-04-26 Jie Zhang <jie@codesourcery.com>
+
+ PR tree-optimization/43833
+ * tree-vrp.c (range_int_cst_p): New.
+ (range_int_cst_singleton_p): New.
+ (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
+ when both operands are constants. Use range_int_cst_p in
+ BIT_IOR_EXPR case.
+
+2010-04-26 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
+
+2010-04-26 Richard Guenther <rguenther@suse.de>
+
+ PR lto/43080
+ * gimple.c (gimple_decl_printable_name): Deal gracefully
+ with a NULL DECL_NAME.
+
+2010-04-26 Richard Guenther <rguenther@suse.de>
+
+ PR lto/42425
+ * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
+ if emitting debug information and it is either a function
+ or a namespace decl.
+
+2010-04-26 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
+ determine if the statement is vectorizable, and a macro to access it.
+ * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
+ Skip statements that can't be vectorized. If the analysis fails,
+ mark the statement as unvectorizable if vectorizing basic block.
+ (vect_compute_data_refs_alignment): Likewise.
+ (vect_verify_datarefs_alignment): Skip statements marked as
+ unvectorizable. Add print.
+ (vect_analyze_group_access): Skip statements that can't be
+ vectorized. If the analysis fails, mark the statement as
+ unvectorizable if vectorizing basic block.
+ (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
+ * tree-vect-stmts.c (vectorizable_store): Fix the number of
+ generated stmts for SLP.
+ (new_stmt_vec_info): Initialize the new field.
+ * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
+ statements marked as unvectorizable.
+
+2010-04-25 Joseph Myers <joseph@codesourcery.com>
+
+ * c-common.c (flag_isoc1x): New.
+ (flag_isoc99): Update comment.
+ * c-common.h (flag_isoc1x): New.
+ (flag_isoc99): Update comment.
+ * c-cppbuiltin.c (builtin_define_float_constants): Also define
+ __<type>_DECIMAL_DIG__.
+ * c-opts.c (set_std_c1x): New.
+ (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
+ (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
+ * c.opt (-std=c1x, -std=gnu1x): New options.
+ * doc/cpp.texi: Mention -std=c1x.
+ * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
+ * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
+ * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
+ * doc/standards.texi: Mention C1X.
+ * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
+ LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
+ LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
+ Define for C1X.
+
+2010-04-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/gmon-sol2.c (_mcleanup): Change format string
+ placeholder from 0x%x to %#x.
+ * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
+ * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
+ * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
+ * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
+ * config/i386/i386.c (ix86_target_string): Ditto.
+ (output_pic_addr_const): Ditto.
+ (print_operand): Ditto.
+
+2010-04-25 Paolo Bonzini <bonzini@gnu.org>
+
+ * combine.c (find_split_point): Add third argument. Use it
+ to find nested multiply-accumulate instructions. Adjust calls.
+ (try_combine): Adjust call to find_split_point.
+
+2010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi (Contributors): Add Dodji Seketeli.
+
+2010-04-24 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR tree-optimization/41442
+ * fold-const.c (merge_truthop_with_opposite_arm): New function.
+ (fold_binary_loc): Call it.
+
+2010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * toplev.c (general_init): Set default for fdiagnostics-show-option.
+ * opts.c (common_handle_option): Allow disabling it.
+ * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
+
+2010-04-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
+ between modes if both types are integral.
+
+2010-04-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43572
+ * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
+
+2010-04-23 Richard Guenther <rguenther@suse.de>
+
+ PR lto/43455
+ * tree-inline.c (tree_can_inline_p): Also check compatibility
+ of return types.
+
+2010-04-23 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/43846
+ * tree-sra.c (struct access): New flag grp_assignment_read.
+ (build_accesses_from_assign): Set grp_assignment_read.
+ (sort_and_splice_var_accesses): Propagate grp_assignment_read.
+ (enum mark_read_status): New type.
+ (analyze_access_subtree): Propagate grp_assignment_read, create
+ accesses also if both direct_read and root->grp_assignment_read.
+
+2010-04-23 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/43835
+ * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
+ function does not have type attributes.
+
+2010-04-23 Richard Guenther <rguenther@suse.de>
+
+ PR lto/42653
+ * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
+ of FUNCTION_DECLs.
+
+2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * sese.h (create_if_region_on_edge): Remove.
+
+ * sese.c (create_if_region_on_edge): Make static.
+
+ * tree-inline.c: Do not include ggc.h.
+
+ * expr.c: Do not include ggc.h.
+
+ * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
+ dependencies.
+
+2010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/43744
+ * config/sh/sh.c (find_barrier): Don't emit a constant pool
+ in the middle of insns for casesi_worker_2.
+
+2010-04-22 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
+
+2010-04-22 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/43842
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
+ loop unrolling in update of exit phis. Fix comment.
+ * tree-vect-slp.c (vect_analyze_slp): Check that there are at
+ least two reduction statements in the loop before starting SLP
+ analysis.
+
+2010-04-22 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
+
+2010-04-22 Alexander Monakov <amonakov@ispras.ru>
+
+ * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
+ to simplify a + ~a.
+
+2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * tree-parloops.c (loop_parallel_p): New argument
+ parloop_obstack. Pass it down.
+ (parallelize_loops): New variable parloop_obstack. Initialize it,
+ pass it down, free it.
+
+ * tree-loop-linear.c (linear_transform_loops): Pass down
+ lambda_obstack.
+
+ * tree-data-ref.h (lambda_compute_access_matrices): New argument
+ of type struct obstack *.
+
+ * tree-data-ref.c (analyze_subscript_affine_affine): New variable
+ scratch_obstack. Initialize it, pass down, free it.
+
+ * lambda.h (lambda_loop_new): Remove.
+ (lambda_matrix_new, lambda_matrix_inverse)
+ (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
+ argument of type struct obstack *.
+
+ * lambda-trans.c (lambda_trans_matrix_new): New argument
+ lambda_obstack. Pass it down, use obstack allocation for ret.
+ (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
+ it down.
+
+ * lambda-mat.c (lambda_matrix_get_column)
+ (lambda_matrix_project_to_null): Remove.
+ (lambda_matrix_new): New argument lambda_obstack. Use obstack
+ allocation for mat.
+ (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
+ lambda_obstack.
+
+ * lambda-code.c (lambda_loop_new): New function.
+ (lambda_lattice_new, compute_nest_using_fourier_motzkin)
+ (lambda_compute_auxillary_space, lambda_compute_target_space)
+ (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
+ (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
+ (build_access_matrix): New argument lambda_obstack. Use obstack
+ allocation for am.
+ (lambda_compute_step_signs, lambda_compute_access_matrices): New
+ argument lambda_obstack. Pass it down.
+
+2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
+
+ * optabs.h (expand_widening_mult): Declare.
+
+2010-04-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43845
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
+ lookup the CALL_EXPR function and arguments.
+
+2010-04-22 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16.c
+ (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
+ * config/stormy16/stormy16.h: Tidy up formatting.
+ (DONT_USE_BUILTIN_SETJMP): Remove definition.
+ * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
+ (ineqbranchsi): Delete pattern.
+ * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
+ * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
+ * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
+ stormy16-lib2-ucmpsi2.c.
+
+2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
+
+ * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
+ df_simulate_find_noclobber_defs as appropriate. Keep track of an
+ extra set merge_set_noclobber, and use it to relax the final test
+ slightly.
+ * df.h (df_simulate_find_noclobber_defs): Declare.
+ * df-problems.c (df_simulate_find_defs): Don't ignore partial or
+ conditional defs.
+ (df_simulate_find_noclobber_defs): New function.
+
+2010-04-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md: Use {} around multi-line preparation statements.
+
+2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * c-tree.h (push_init_level, pop_init_level, set_init_index)
+ (process_init_element): New argument of type struct obstack *.
+
+ * c-typeck.c (push_init_level, pop_init_level, set_designator)
+ (set_init_index, set_init_label, set_nonincremental_init)
+ (set_nonincremental_init_from_string, find_init_member)
+ (output_init_element, output_pending_init_elements)
+ (process_init_element): New argument braced_init_obstack. Pass it
+ down.
+ (push_range_stack, add_pending_init): New argument
+ braced_init_obstack. Use obstack allocation.
+
+ * c-parser.c (c_parser_initelt, c_parser_initval): New argument
+ braced_init_obstack. Pass it down.
+ (c_parser_braced_init): New variables ret, braced_init_obstack.
+ Initialize obstack, pass it down and finally free it.
+
+2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR middle-end/29274
+ * tree-pass.h (pass_optimize_widening_mul): Declare.
+ * tree-ssa-math-opts.c (execute_optimize_widening_mul,
+ gate_optimize_widening_mul): New static functions.
+ (pass_optimize_widening_mul): New.
+ * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
+ <case MULT_EXPR>: Remove support for widening multiplies.
+ * tree.def (WIDEN_MULT_EXPR): Tweak comment.
+ * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
+ simplify_gen_unary rather than directly building extensions.
+ * tree-cfg.c (verify_gimple_assign_binary): Add tests for
+ WIDEN_MULT_EXPR.
+ * expmed.c (expand_widening_mult): New function.
+ * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
+
+2010-04-21 Jan Hubicka <jh@suse.cz>
+
+ * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
+ * lto-section-in.c (lto_section_name): Remove wpa_fixup.
+ * lto-wpa-fixup.c: Remove.
+ * Makefile.in (lto-wpa-fixup.o): Remove.
+ * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
+ (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
+ * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
+
+2010-04-21 Jan Hubicka <jh@suse.cz>
+
+ * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
+ add write_optimization_summary, read_optimization_summary.
+ (ipa_write_summaries_of_cgraph_node_set): Remove.
+ (ipa_write_optimization_summaries): Declare.
+ (ipa_read_optimization_summaries): Declare.
+ * ipa-cp.c (pass_ipa_cp): Update.
+ * ipa-reference.c (pass_ipa_reference): Update.
+ * ipa-pure-const.c (pass_ipa_pure_const): Update.
+ * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
+ Update.
+ * ipa-inline.c (pass_ipa_inline): Update.
+ * ipa.c (pass_ipa_whole_program): Update.
+ * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
+ * passes.c (ipa_write_summaries_1): Do not test wpa.
+ (ipa_write_optimization_summaries_1): New.
+ (ipa_write_optimization_summaries): New.
+ (ipa_read_summaries): Do not test ltrans.
+ (ipa_read_optimization_summaries_1): New.
+ (ipa_read_optimization_summaries): New.
+
+2010-04-21 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (lto_output_node): Do not output comdat groups
+ for boundary nodes.
+ (output_cgraph): Do not arrange comdat groups for boundary nodes.
+
+2010-04-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/40040
+ * dwarf2out.c (add_name_and_src_coords_attributes): Add
+ DW_AT_{,MIPS_}linkage_name even for Fortran decls.
+
+2010-04-21 Jan Hubicka <jh@suse.cz>
+
+ * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
+
+2010-04-21 Jan Hubicka <jh@suse.cz>
+
+ * varpool.c (decide_is_variable_needed): Variable is always needed
+ during ltrans.
+
+2010-04-21 Jan Hubicka <jh@suse.cz>
+
+ * opts.c (decode_options): Enable pure-const pass for whopr.
+
+2010-04-21 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (dump_cgraph_node): Dump also assembler name.
+ * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
+ at WPA dumping.
+ (cgraph_decide_inlining): Do not expect callee to be removed in all
+ cases.
+
+2010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
+
+ * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
+
+2010-04-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (x86_shrd): Add athlon_decode and
+ amdfam10_decode attributes.
+
+2010-04-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/43570
+ * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
+ OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
+ (lower_copyprivate_clauses): Use private var in outer
+ context instead of original var. Make sure the types
+ are correct for VLAs.
+
+2010-04-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
+ to non-pointer objects.
+
+2010-04-21 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
+ last chain entry if it starts with the still current label.
+ (add_location_or_const_value_attribute): Check that
+ loc_list->first->next is NULL instead of comparing ->first with ->last.
+ (dwarf2out_var_location): Pass last_label resp. last_postcall_label
+ to add_var_loc_to_decl.
+
+ * dwarf2out.c (output_call_frame_info): For dw_cie_version
+ >= 4 add also address size and segment size fields into CIE header.
+
+ * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
+ long as address size is the same as sizeof (void *) and
+ segment size is 0.
+ * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
+ address size or segment size is unexpected, return DW_EH_PE_omit.
+ (classify_object_over_fdes): If get_cie_encoding returned
+ DW_EH_PE_omit, return -1.
+ (init_object): If classify_object_over_fdes returned -1,
+ pretend there were no FDEs at all.
+
+2010-04-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (bswap<mode>2): Macroize expander from
+ bswap{si,di}2 using SWI48 mode iterator.
+ (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
+ SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
+ set modrm attribute of bswap insn to 0 and remove length attribute.
+ (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
+ iterator. Set type attribute to bitmanip, set modrm attribute to 0,
+ set mode attribute to <MODE> and remove length attribute.
+
+2010-04-20 James E. Wilson <wilson@codesourcery.com>
+
+ PR rtl-optimization/43520
+ * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
+ zero available registers.
+
+2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (fold_builtin_cproj): Fold more cases.
+
+2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
+ (fold_builtin_1): Fold builtin cproj.
+ * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
+ Use ATTR_CONST_NOTHROW_LIST.
+
+2010-04-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
+ and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
+ ffsi2_no_cmove for !TARGET_CMOVE.
+ (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
+ (ffssi2): Remove expander.
+ (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
+ mode iterator.
+ (ctz<mode>2): Ditto from ctz{si,di}2.
+ (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
+ mode iterator.
+ (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
+ mode iterator.
+
+2010-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (AT_linkage_name): Define.
+ (clone_as_declaration): Handle DW_AT_linkage_name.
+ (add_name_and_src_coords_attributes): Use AT_linkage_name instead
+ of DW_AT_MIPS_linkage_name.
+ (move_linkage_attr): Likewise.
+ (dwarf2out_finish): Likewise.
+
+2010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
+
+ PR middle-end/41952
+ * fold-const.c (fold_comparison): New folding rule.
+
+2010-04-20 Anatoly Sokolov <aesok@post.ru>
+
+ * double-int.h (double_int_setbit): Declare.
+ * double-int.c (double_int_setbit): New function.
+ * rtl.h (immed_double_int_const): Declare.
+ * emit-rtl.c (immed_double_int_const): New function.
+ * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
+ and immed_double_int_const functions.
+ * optabs.c (expand_absneg_bit, expand_copysign_absneg,
+ expand_copysign_bit): (Ditto.).
+ * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
+ * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
+ * dojump.c (prefer_and_bit_test): (Ditto.).
+ * expr.c (convert_modes, reduce_to_bit_field_precision,
+ const_vector_from_tree): (Ditto.).
+ * expmed.c (mask_rtx, lshift_value): (Ditto.).
+
+2010-04-20 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
+ (dump_cgraph_node): Dump new flags.
+ * cgraph.h (struct cgraph_node): Add flags
+ reachable_from_other_partition and in_other_partition.
+ (cgraph_can_remove_if_no_direct_calls_p): Functions used by
+ other partition can not be removed.
+ * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
+ the other partition must be output; silence sanity checking on
+ leaking functions bodies from other paritition.
+ * lto-cgraph.c (reachable_from_other_partition_p): New function.
+ (lto_output_node): Output new flags; do not sanity check that inline
+ clones are output; drop lto_forced_extern_inline_p code; do not mock
+ visibility flags at partition boundaries.
+ (add_node_to): New function.
+ (output_cgraph): Use it to sort functions so masters appear before
+ clones.
+ (input_overwrite_node): Input new flags.
+ * passes.c (ipa_write_summaries): Do not call
+ lto_new_extern_inline_states.
+ * lto-section-out.c (forced_extern_inline,
+ lto_new_extern_inline_states lto_delete_extern_inline_states,
+ lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
+ * lto-streamer.h (lto_new_extern_inline_states,
+ * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
+ lto_forced_extern_inline_p): Kill.
+
+2010-04-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (do_sd_constraint): Add edges only
+ from vars that can have pointers.
+ (process_constraint): Dump useless constraints.
+
+2010-04-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
+ (dump_sa_points_to_info): Remove asserts.
+ (init_base_vars): nothing_id isn't an escape point nor does it
+ have pointers.
+
+2010-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.h (TYPE_REF_IS_RVALUE): Define.
+ * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
+ should_move_die_to_comdat, prune_unused_types_walk): Handle
+ DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
+ (modified_type_die, gen_reference_type_die): Emit
+ DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
+ if TYPE_REF_IS_RVALUE and -gdwarf-4.
+
+2010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR target/43635
+ * config/s390/s390.c (s390_emit_call): Turn direct into indirect
+ calls for -fpic -m31 if they have been sibcall optimized.
+
+2010-04-19 James E. Wilson <wilson@codesourcery.com>
+
+ * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
+ ar.lc fixed and call-used.
+
+ * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
+
+2010-04-19 Jan Hubicka <jh@suse.cz>
+
+ * opts.c (decode_options): Disable whpr incompatible passes.
+ * lto/lto.c (lto_1_to_1_map): Skip clones.
+ (read_cgraph_and_symbols): Do not mark everything as needed.
+ (do_whole_program_analysis): Do map only after optimizing;
+ set proper cgraph_state; use passmanager.
+
+2010-04-19 DJ Delorie <dj@redhat.com>
+
+ * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
+ POINTER_PLUS_EXPR and fix them.
+
+2010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
+
+ * config/avr/avr-devices.c (avr_mcu_types): Add support for new
+ devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
+ attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
+ atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
+ atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
+ atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
+ atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
+ atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
+ m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
+ atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
+ * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
+
+2010-04-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ifcvt.c (noce_try_cmove_arith): Fix long lines.
+ (check_cond_move_block): Likewise.
+ (cond_move_process_if_block): Likewise.
+ (noce_find_if_block): Improve formatting.
+ (find_if_header): Pass 0 to memset and tweak conditions.
+ (cond_exec_find_if_block): Fix long lines and tweak conditions.
+
+2010-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
+ for -gdwarf-4.
+
+ PR middle-end/43337
+ * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
+ with non-local decl doesn't need chain.
+
+2010-04-19 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-color.c (allocno_reload_assign): Avoid accumulating
+ reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
+
+2010-04-19 Martin Jambor <mjambor@suse.cz>
+
+ * gimple.h (create_tmp_reg): Declare.
+ * gimplify.c (create_tmp_reg): New function.
+ (gimplify_return_expr): Use create_tmp_reg.
+ (gimplify_omp_atomic): Likewise.
+ (gimple_regimplify_operands): Likewise.
+ * tree-dfa.c (make_rename_temp): Likewise.
+ * tree-predcom.c (predcom_tmp_var): Likewise.
+ (reassociate_to_the_same_stmt): Likewise.
+ * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
+ (get_replaced_param_substitute): Likewise.
+ * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
+ * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
+ * tree-ssa-pre.c (get_representative_for): Likewise.
+ (create_expression_by_pieces): Likewise.
+ * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
+ (create_tailcall_accumulator): Likewise.
+
+2010-04-19 Martin Jambor <mjambor@suse.cz>
+
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
+ new_stmt.
+ (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
+
+2010-04-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43796
+ * tree-vrp.c (adjust_range_with_scev): Lookup init and step
+ from SCEV in the lattice.
+ (vrp_visit_phi_node): Dump change.
+
+2010-04-19 Richard Guenther <rguenther@suse.de>
+
+ * configure.ac: Fix quoting around elf_getshstrndx ABI check.
+ * configure: Re-generated.
+
+2010-04-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43783
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
+ constant ARRAY_REF operands two and three if possible.
+
+2010-04-19 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/43766
+ * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
+
+2010-04-19 Jie Zhang <jie@codesourcery.com>
+
+ PR target/43662
+ * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
+
+2010-04-19 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/37027
+ * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
+ and macro to access it.
+ (vectorizable_reduction): Add argument.
+ (vect_get_slp_defs): Likewise.
+ * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
+ statements for possible use in SLP.
+ (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
+ (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
+ (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
+ add new argument.
+ (vectorizable_reduction): Likewise.
+ * tree-vect-stmts.c (vect_get_vec_defs): Update call to
+ vect_get_slp_defs.
+ (vectorizable_type_demotion, vectorizable_type_promotion,
+ vectorizable_store): Likewise.
+ (vect_analyze_stmt): Update call to vectorizable_reduction.
+ (vect_transform_stmt): Likewise.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
+ (vect_build_slp_tree): Fix indentation. Check that there are no loads
+ from different interleaving chains in same node.
+ (vect_slp_rearrange_stmts): New function.
+ (vect_supported_load_permutation_p): Allow load permutations for
+ reductions. Call vect_slp_rearrange_stmts() to rearrange statements
+ inside SLP nodes if necessary.
+ (vect_analyze_slp_instance): Handle reductions.
+ (vect_analyze_slp): Try to build SLP instances originating from groups
+ of reductions.
+ (vect_detect_hybrid_slp_stmts): Skip reduction statements.
+ (vect_get_constant_vectors): Create initial vectors for reductions
+ according to reduction code. Add new argument.
+ (vect_get_slp_defs): Add new argument, pass it to
+ vect_get_constant_vectors.
+ (vect_schedule_slp_instance): Remove SLP tree root statements.
+
+2010-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.h (ENUM_IS_SCOPED): Define.
+ * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
+ for ENUM_IS_SCOPED enums.
+
+2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (fold_comparison): Use ssizetype.
+ * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
+ * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
+ * tree-loop-distribution.c (build_size_arg_loc): Likewise.
+ * tree-object-size.c (compute_object_sizes): Use size_type_node.
+
+ * tree.h (initialize_sizetypes): Remove parameter.
+ (build_common_tree_nodes): Remove second parameter.
+ * stor-layout.c (initialize_sizetypes): Remove parameter.
+ Always create an unsigned type.
+ (set_sizetype): Assert that the passed type is unsigned and simplify.
+ * tree.c (build_common_tree_nodes): Remove second parameter.
+ Adjust call to initialize_sizetypes.
+ * c-decl.c (c_init_decl_processing): Remove second argument in call to
+ build_common_tree_nodes.
+
+2010-04-18 Matthias Klose <doko@ubuntu.com>
+
+ * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
+
+2010-04-18 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/43771
+ * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
+ load permutation doesn't have gaps.
+
+2010-04-18 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
+ (sse_prologue_save_insn expander): Use new pattern.
+ (sse_prologue_save_insn1): New pattern and splitter.
+ (sse_prologue_save_insn): Update to deal also with 64bit aligned
+ blocks.
+ * i386.c (setup_incoming_varargs_64): Do not compute jump
+ destination here.
+ (ix86_gimplify_va_arg): Update alignment needed.
+ (ix86_local_alignment): Do not align all local arrays to 128bit.
+
+2010-04-17 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
+
+2010-04-17 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (negdi2): Remove redundant code to force values into a
+ register.
+
+2010-04-17 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm/bpabi.S: Add EABI alignment attributes to objects.
+ * arm/bpabi-v6m.S: Likewise.
+ * arm/crti.asm: Likewise.
+ * arm/crtn.asm: Likewise.
+ * arm/lib1funcs.asm: Likewise.
+ * arm/libunwind.S: Likewise.
+
+2010-04-17 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-protos.h (tune_params): New structure.
+ * arm.c (current_tune): New variable.
+ (arm_constant_limit): Delete.
+ (struct processors): Add pointer to the tune parameters.
+ (arm_slowmul_tune): New tuning option.
+ (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
+ (all_cores): Adjust to pick up the tuning model.
+ (arm_constant_limit): New function.
+ (arm_override_options): Select the appropriate tuning model. Delete
+ initialization of arm_const_limit.
+ (arm_split_constant): Use the new constant-limit model.
+ (arm_rtx_costs): Pick up the current tuning model.
+ * arm.md (is_strongarm, is_xscale): Delete.
+ * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
+ for Xscale variant architectures.
+ (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
+
+2010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm.c (arm_gen_constant): Remove unused variable
+ can_shift.
+ (arm_rtx_costs_1): Remove unused variable extra_cost.
+ (arm_unwind_emit_set): Use variable offset.
+ (thumb1_output_casesi): Remove unused variable flags.
+
+2010-04-16 Jeff Law <law@redhat.com>
+
+ * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
+ needing assignment rather than doing a two-phase assignment. Remove
+ unused variable 'm'.
+
+2010-04-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/43767
+ * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
+
+2010-04-16 Doug Kwan <dougkwan@google.com>
+
+ * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
+ (next_operand_entry_id): New static variable.
+ (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
+ (add_to_ops_vec): Assigned unique ID to operand entry.
+ (struct oecount_s): New field ID.
+ (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
+ (undistribute_ops_list): Assign unique IDs to oecounts.
+ (init_reassoc): reset next_operand_entry_id.
+
+2010-04-16 Doug Kwan <dougkwan@google.com>
+
+ * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
+ missing left parenthesis.
+
+2010-04-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
+ *btdi_rex64 using SWI48 mode iterator.
+ (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
+ (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
+ *jcc_btdi_mask_rex64.
+
+2010-04-16 Anatoly Sokolov <aesok@post.ru>
+
+ * double-int.h (tree_to_double_int): Convert to macro.
+ * double-int.c (tree_to_double_int): Remove.
+
+2010-04-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43762
+ * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
+ with want_address 2 and in case a single element list might be
+ possible, call it again with want_address 0.
+
+2010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
+
+ * config/h8300/h8300.c (print_operand) : Modify case 'V' and
+ case 'W' print operands for HI mode.
+ * config/h8300/h8300.h (Y0, Y2) : New constraints.
+ * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
+ (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
+ * config/h8300/predicate.md (bit_register_indirect_operand): New.
+
+ * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
+
+ * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
+ cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
+ #xx:3 and #xx:4 mode.
+
+ * config/h8300/h8300.md (inverted load with HImode dest): Add
+ support for H8300SX.
+
+ * config/h8300/predicate.md (bit_operand): Allow immediate values that
+ satisfy 'U' constraint.
+
+2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
+ works.
+
+2010-04-16 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (struct tree_decl_minimal): Move pt_uid ...
+ (struct tree_decl_common): ... here.
+ (DECL_PT_UID): Adjust.
+ (SET_DECL_PT_UID): Likewise.
+ (DECL_PT_UID_SET_P): Likewise.
+
+2010-04-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43572
+ * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
+ * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
+ * tree-flow.h (is_call_clobbered): Remove.
+ * tree-flow-inline.h (is_call_clobbered): Likewise.
+ * tree-dfa.c (dump_variable): Do not dump call clobber state.
+ * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
+ (execute_return_slot_opt): Adjust.
+ * tree-tailcall.c (suitable_for_tail_opt_p): Remove
+ check for call clobbered vars here.
+ (find_tail_calls): Move tailcall verification to the
+ proper place.
+
+2010-04-16 Diego Novillo <dnovillo@google.com>
+
+ * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
+
+2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/40603
+ * config/arm/arm.md (cbranchqi4): New pattern.
+ * config/arm/predicates.md (const0_operand,
+ cbranchqi4_comparison_operator): New predicates.
+
+2010-04-16 Richard Guenther <rguenther@suse.de>
+
+ * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
+ (dump_gimple_stmt): Likewise.
+
+2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
+
+ * recog.h (struct recog_data): New field is_operator.
+ (struct insn_operand_data): New field is_operator.
+ * recog.c (extract_insn): Set recog_data.is_operator.
+ * genoutput.c (output_operand_data): Emit code to set the
+ is_operator field.
+ * reload.c (find_reloads): Use it rather than testing for an
+ empty constraint string.
+
+ PR target/41514
+ * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
+ If the previous insn is a cbranchsi4_insn with the same arguments,
+ omit the compare instruction.
+
+ * config/arm/arm.md (addsi3_cbranch): If destination is a high
+ register, inputs must be low registers and we need a low register
+ scratch. Handle alternative 2 like alternative 3.
+
+2010-04-16 Jakub Jelinek <jakub@redhat.com>
+
+ * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
+ don't call get_addr on both. If one expression is a VALUE and
+ the other a REG, check VALUE's locs if the REG isn't among them.
+
+2010-04-16 Christian Bruel <christian.bruel@st.com>
+
+ * config/sh/sh.h (sh_frame_pointer_required): New function.
+ * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
+ (flag_omit_frame_pointer) Set.
+ (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
+ (rounded_frame_size): Adjust size with outgoing_args_size.
+ (sh_set_return_address): Must return from stack pointer.
+ * config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
+ (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
+ (ACCUMULATE_OUTGOING_ARGS): Define.
+ * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
+ * config/sh/sh.opt (maccumulate-outgoing-args): New option.
+
+2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/43471
+ * config/sh/sh.c (sh_legitimize_reload_address): Use
+ MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
+ Remove a unneeded check for offset_base.
+
+2010-04-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure: Regenerated.
+
+2010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_call_save_register_used): Switch back
+ to HARD_REGNO_NREGS.
+
+2010-04-15 Richard Guenther <rguenther@suse.de>
+
+ * alias.c (alias_set_subset_of): Handle alias-set zero
+ child properly.
+
+2010-04-15 Mark Shinwell <shinwell@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
+ alternatives according to use of high and low regs.
+ * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
+ * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
+ optimizing for size on Thumb-2.
+
+2010-04-15 Thomas Schwinge <tschwinge@gnu.org>
+
+ * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
+
+2010-04-15 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (struct variable_info): Add
+ is_fn_info flag.
+ (new_var_info): Initialize it.
+ (dump_constraints): Support printing last added constraints.
+ (debug_constraints): Adjust.
+ (dump_constraint_graph): Likewise.
+ (make_heapvar_for): Check for NULL cfun.
+ (get_function_part_constraint): New function.
+ (get_fi_for_callee): Likewise.
+ (find_func_aliases): Properly implement IPA PTA constraints.
+ (process_ipa_clobber): New function.
+ (find_func_clobbers): Likewise.
+ (insert_into_field_list_sorted): Remove.
+ (create_function_info_for): Properly allocate vars for IPA mode.
+ Do not use insert_into_field_list_sorted.
+ (create_variable_info_for): Properly generate constraints for
+ global vars in IPA mode.
+ (dump_solution_for_var): Always dump the solution.
+ (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
+ (find_what_var_points_to): Adjust.
+ (pt_solution_set): Change.
+ (pt_solution_ior_into): New function.
+ (pt_solution_empty_p): Export.
+ (pt_solution_includes_global): Adjust.
+ (pt_solution_includes_1): Likewise.
+ (pt_solutions_intersect_1): Likewise.
+ (dump_sa_points_to_info): Check some invariants.
+ (solve_constraints): Move constraint dumping ...
+ (compute_points_to_sets): ... here.
+ (ipa_pta_execute): ... and here.
+ (compute_may_aliases): Do not re-compute points-to info
+ locally if IPA info is available.
+ (ipa_escaped_pt): New global var.
+ (ipa_pta_execute): Properly implement IPA PTA.
+ * tree-into-ssa.c (dump_decl_set): Support dumping
+ decls not in referenced-vars.
+ * tree-flow.h (struct gimple_df): Add ipa_pta flag.
+ * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
+ (dump_points_to_solution): Likewise.
+ * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
+ * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
+ (remap_gimple_stmt): Reset call clobber/use information if necessary.
+ (copy_decl_to_var): Copy DECL_PT_UID.
+ (copy_result_decl_to_var): Likewise.
+ * tree.c (make_node_stat): Initialize DECL_PT_UID.
+ (copy_node_stat): Copy it.
+ * tree.h (DECL_PT_UID): New macro.
+ (SET_DECL_PT_UID): Likewise.
+ (DECL_PT_UID_SET_P): Likewise.
+ (struct tree_decl_minimal): Add pt_uid member.
+ * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
+ (pt_solution_empty_p): Declare.
+ (pt_solution_set): Adjust.
+ (ipa_escaped_pt): Declare.
+ * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
+ * gimple-pretty-print.c (pp_points_to_solution): New function.
+ (dump_gimple_call): Dump call clobber/use information.
+ * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
+ * tree-pass.h (TDF_ALIAS): New dump option.
+ * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
+ * doc/invoke.texi (-fipa-pta): Update documentation.
+
+2010-04-15 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (OBJS-common): Add gimple-fold.o.
+ (gimple-fold.o): New rule.
+ * tree.h (maybe_fold_offset_to_reference,
+ maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
+ prototypes ...
+ * gimple.h: ... here.
+ * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
+ may_propagate_address_into_dereference): Move prototypes ...
+ * gimple.h: ... here.
+ * tree-ssa-ccp.c (get_symbol_constant_value,
+ may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
+ maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
+ maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
+ maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
+ ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
+ fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
+ gimplify_and_update_call_from_tree): Move ...
+ * gimple-fold.c: ... here. New file.
+ (ccp_fold_builtin): Rename to ...
+ (gimple_fold_builtin): ... this.
+ * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
+
+2010-04-15 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
+ fit_double_type, force_fit_type_double, add_double_with_sign,
+ neg_double, mul_double_with_sign, lshift_double, rshift_double,
+ lrotate_double, rrotate_double, div_and_round_double): Move ...
+ * double-int.c: ... here.
+ * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
+ add_double, neg_double, mul_double_with_sign, mul_double,
+ lshift_double, rshift_double, lrotate_double, rrotate_double,
+ div_and_round_double): Move prototypes ...
+ * double-int.h: ... here.
+
+2010-04-15 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/43742
+ * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
+ matching constraints to ensure inputs match the output.
+
+2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/43742
+ * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
+ in an input-only operand.
+
+2010-04-15 Anatoly Sokolov <aesok@post.ru>
+
+ * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
+ (double_int_not, double_int_lshift, double_int_rshift): Declare.
+ (double_int_negative_p): Convert to static inline function.
+ * double-int.c (double_int_lshift, double_int_lshift): New functions.
+ (double_int_negative_p): Remove.
+ * tree.h (lshift_double, rshift_double):
+ * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
+ * fold-const.c (fold_convert_const_int_from_real,
+ fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
+ (lshift_double): Change type of arith argument to bool.
+ (rshift_double): Change type of arith argument to bool. Correct
+ comment.
+ * expmed.c (mask_rtx, lshift_value): (Ditto.).
+
+2010-04-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/21803
+ * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
+ at the start and end of the then/else blocks, and omit them from the
+ conversion.
+ * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
+ argument; all callers changed. Pass zero to old_insns_match_p instead.
+ (flow_find_head_matching_sequence): New function.
+ (old_insns_match_p): Check REG_EH_REGION notes for calls.
+ * basic-block.h (flow_find_cross_jump,
+ flow_find_head_matching_sequence): Declare functions.
+
+2010-04-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/36625
+ * c-common.c (attribute_takes_identifier_p): New fn.
+ * c-common.h: Declare it.
+
+2010-04-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
+ splitter condition.
+ (*udivmod<mode>4): Ditto.
+
+2010-04-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (maxmin_int): Rename code attribute from
+ maxminiprefix and update all users.
+ (maxmin_float): Ditto from maxminfprefix.
+ (logic): Ditto from logicprefix.
+ (absneg_mnemonic): Ditto from absnegprefix.
+ * config/i386/mmx.md: Update all users of maxminiprefix,
+ maxminfprefix and logicprefix for rename.
+ * config/i386/sse.md: Ditto.
+ * config/i386/sync.md (sync_<code><mode>): Update for
+ logicprefix rename.
+
+2010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 42966
+ * diagnostics.c (diagnostic_report_diagnostic): Mark specially
+ warnings converted to errors.
+
+2010-04-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
+ used insn_type variable.
+ (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
+ to avoid set-but-not-used warning.
+
+2010-04-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * df-core.c (df_ref_debug): Change format string placeholder
+ from 0x%x to %#x.
+ * dwarf2asm.c (dw2_asm_output_data_raw,
+ dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
+ dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
+ * dwarf2out.c (output_cfi, output_cfi_directive,
+ dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
+ output_cfa_loc_raw, output_die, output_ranges, output_file_names):
+ Ditto.
+ * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
+ * print-rtl.c (print_rtx): Ditto.
+
+2010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR middle-end/42694
+ * builtins.c (expand_builtin_pow_root): New function to expand pow
+ calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
+ series of sqrt and cbrt calls under -ffast-math.
+ (expand_builtin_pow): Call it.
+
+2010-04-14 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/42963
+ * tree-cfg.c (touched_switch_bbs): New static variable.
+ (group_case_labels_stmt): New function broken out from ...
+ (group_case_labels): ... here, use the above.
+ (start_recording_case_labels): Allocate touched_switch_bbs.
+ (end_recording_case_labels): Deallocate it, call
+ group_case_labels_stmt.
+ (gimple_redirect_edge_and_branch): Remember index of affected BB.
+
+2010-04-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
+ from insn template.
+
+2010-04-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
+
+2010-04-13 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
+ of optimized out static functions.
+ (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
+ cost computation. Also sanity check for overflows.
+ (update_caller_keys): Update cgraph_edge_badness call; properly
+ update fibheap and sanity check that it is up to date.
+ (add_new_edges_to_heap): Update cgraph_edge_badness.
+ (cgraph_decide_inlining_of_small_function): Likewise;
+ add sanity checking that badness in heap is up to date;
+ improve dumping of reason; Update badness of calls to the
+ offline copy of function currently inlined; dump badness
+ of functions not inlined because of unit growth limits.
+
+2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/32628
+ * c-common.c (pointer_int_sum): Disregard overflow that occured only
+ because of sign-extension change when converting to sizetype here...
+ * fold-const.c (fold_convert_const_int_from_int): ...and not here.
+
+ * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
+ the folding to constants. Remove redundant final conversion.
+ (fold_binary) <associate>: Do not associate if the re-association of
+ constants alone overflows.
+ (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
+ to the end of the list.
+ (multiple_of_p) <COND_EXPR>: New case.
+
+2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * opt-functions.awk (opt_sanitized_name): New.
+ (opt_enum): New.
+ * optc-gen.awk: Use it
+ * opth-gen.awk: Use it.
+
+2010-04-13 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
+ (sra_modify_assign): Delete stmts loading dead data even if racc has no
+ children. Call replace_uses_with_default_def_ssa_name to handle
+ SSA_NAES on lhs.
+
+2010-04-13 Michael Matz <matz@suse.de>
+
+ PR middle-end/43730
+ * builtins.c (expand_builtin_interclass_mathfn): Also create
+ a register if the predicate doesn't match.
+
+2010-04-13 Diego Novillo <dnovillo@google.com>
+
+ * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
+ * c-pch.c: Include timevar.h.
+ (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
+ (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
+ * ggc-common.c: Include timevar.h.
+ (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
+ * timevar.def (TV_PCH_SAVE): Define.
+ (TV_PCH_CPP_SAVE): Define.
+ (TV_PCH_PTR_REALLOC): Define.
+ (TV_PCH_PTR_SORT): Define.
+ (TV_PCH_RESTORE): Define.
+ (TV_PCH_CPP_RESTORE): Define.
+
+2010-04-13 Michael Matz <matz@suse.de>
+
+ * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
+ into MINUS_EXPRs.
+ (can_reassociate_p): New function.
+ (break_up_subtract_bb, reassociate_bb): Use it.
+
+2010-04-13 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/43737
+ * builtins.c (c_readstr): Fix assert.
+
+2010-04-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
+ when generating cltd insn.
+
+ (*ashl<mode>3_1): Remove special handling for register operand 2.
+ (*ashlsi3_1_zext): Ditto.
+ (*ashlhi3_1): Ditto.
+ (*ashlhi3_1_lea): Ditto.
+ (*ashlqi3_1): Ditto.
+ (*ashlqi3_1_lea): Ditto.
+ (*<shiftrt_insn><mode>3_1): Ditto.
+ (*<shiftrt_insn>si3_1_zext): Ditto.
+ (*<shiftrt_insn>qi3_1_slp): Ditto.
+ (*<rotate_insn><mode>3_1): Ditto.
+ (*<rotate_insn>si3_1_zext): Ditto.
+ (*<rotate_insn>qi3_1_slp): Ditto.
+
+2010-04-13 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (callused_id): Remove.
+ (call_stmt_vars): New.
+ (get_call_vi): Likewise.
+ (lookup_call_use_vi): Likewise.
+ (lookup_call_clobber_vi): Likewise.
+ (get_call_use_vi): Likewise.
+ (get_call_clobber_vi): Likewise.
+ (make_transitive_closure_constraints): Likewise.
+ (handle_const_call): Adjust to do per-call call-used handling.
+ (handle_pure_call): Likewise.
+ (find_what_var_points_to): Remove general callused handling.
+ (init_base_vars): Likewise.
+ (init_alias_vars): Initialize call_stmt_vars.
+ (compute_points_to_sets): Process call-used and call-clobbered
+ vars for call statements.
+ (delete_points_to_sets): Free call_stmt_vars.
+
+2010-04-13 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
+ Only add RW dependence for dependence distance zero.
+ Adjust maximal vectorization factor according to dependences.
+ Move alignment handling ...
+ (vect_find_same_alignment_drs): ... here. New function.
+ (vect_analyze_data_ref_dependences): Adjust.
+ (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
+ (vect_analyze_data_refs): Adjust minimal vectorization factor
+ according to data references.
+ * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
+ dependences before determining the vectorization factor.
+ Analyze alignment after determining the vectorization factor.
+ * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
+ dependences before alignment.
+ * tree-vectorizer.h (vect_analyze_data_ref_dependences):
+ Adjust prototype.
+ (vect_analyze_data_refs): Likewise.
+ (MAX_VECTORIZATION_FACTOR): New define.
+
+2010-04-13 Duncan Sands <baldrick@free.fr>
+
+ * except.h (lang_eh_type_covers): Remove.
+ * except.c (lang_eh_type_covers): Likewise.
+
+2010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+ Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
+ * config/s390/s390.c: Replace UNTIS_PER_WORD with
+ UNITS_PER_LONG where it is ABI relevant.
+ (s390_return_addr_rtx): Likewise.
+ (s390_back_chain_rtx): Likewise.
+ (s390_frame_area): Likewise.
+ (s390_frame_info): Likewise.
+ (s390_initial_elimination_offset): Likewise.
+ (save_gprs): Likewise.
+ (s390_emit_prologue): Likewise.
+ (s390_emit_epilogue): Likewise.
+ (s390_function_arg_advance): Likewise.
+ (s390_function_arg): Likewise.
+ (s390_va_start): Likewise.
+ (s390_gimplify_va_arg): Likewise.
+ (s390_function_profiler): Likewise.
+ (s390_optimize_prologue): Likewise.
+ (s390_rtx_costs): Likewise.
+ (s390_secondary_reload): Likewise.
+ (s390_promote_function_mode): Likewise.
+ (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
+ (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
+ registers available.
+ (s390_unwind_word_mode): New function.
+ (s390_function_value): Split 64 bit values into register pair if
+ used as return value.
+ (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
+ function call parameters. Handle parallels.
+ (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
+ (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
+ (DWARF_CIE_DATA_ALIGNMENT): New macro.
+ (s390_expand_setmem): Remove unused variable src_addr.
+ * longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
+ deal with 64 bit registers.
+ * config/s390/s390.h: Define __zarch__ predefined macro.
+ Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
+ (UNITS_PER_LONG): New macro.
+ * libjava/include/s390-signal.h: Define extended ucontext
+ structure containing the upper halfs of the 64 bit registers.
+
+2010-04-13 Simon Baldwin <simonb@google.com>
+
+ * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
+
+2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
+ rvalue on the RHS if the LHS is of a non-renamable type.
+ * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
+
+2010-04-13 Matthias Klose <doko@ubuntu.com>
+
+ * gcc.c (cc1_options): Handle -iplugindir before processing
+ the cc1 spec. Only add -iplugindir once.
+ (cpp_unique_options): Add -iplugindir option if -fplugin* options
+ found.
+ * common.opt (iplugindir): Remove `Separate' property, initialize.
+ * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
+ option.
+ * Makefile.in (check-%, check-parallel-%): Create plugin dir.
+ (distclean): Remove plugin dir.
+ * doc/invoke.texi: Document -iplugindir.
+
+2010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * doc/plugins.texi (Loading Plugins): Document short
+ -fplugin=foo option.
+ (Plugin API): Mention default_plugin_dir_name function.
+
+ * gcc.c (find_file_spec_function): Add new declaration.
+ (static_spec_func): Use it for "find-file".
+ (find_file_spec_function): Add new function.
+ (cc1_options): Add -iplugindir option if -fplugin* options found.
+
+ * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
+
+ * plugin.c (add_new_plugin): Updated comment, and handle short
+ plugin name.
+ (default_plugin_dir_name): Added new function.
+
+ * common.opt (iplugindir): New option to set the plugin directory.
+
+2010-04-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (any_rotate): New code iterator.
+ (rotate_insn): New code attribute.
+ (rotate): Ditto.
+ (SWIM124): New mode iterator.
+ (<rotate_insn>ti3): New expander.
+ (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
+ any_rotate code iterator.
+ (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
+ using any_rotate code iterator and SWIM124 mode iterator.
+ (ix86_rotlti3): New insn_and_split pattern.
+ (ix86_rotrti3): Ditto.
+ (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
+ ix86_rotl{di,ti}3 patterns.
+ (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
+ (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
+ and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
+ *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
+ code iterator and SWI mode iterator.
+ (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
+ Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
+ code iterator.
+ (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
+ Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
+ (bswap rotatert splitter): Add splitter.
+ (bswap splitter): Macroize splitter using any_rotate code iterator.
+ Add insn predicate to split only for TARGET_USE_XCHGB or when
+ optimizing function for size.
+
+2010-04-12 Steve Ellcey <sje@cup.hp.com>
+
+ * config/pa/pa.c (emit_move_sequence): Remove use of
+ deleted variable flag_argument_noalias.
+
+2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc: Removed *-*-solaris2.7* from list of obsolete
+ configurations.
+ Add to unsupported targets list.
+ * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
+ sparc*-sun-solaris2.[567]* from target lists.
+ * configure: Regenerate.
+ * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
+ removal.
+ Remove Solaris 7 patch references.
+ (Specific, sparc-sun-solaris2.7): Removed.
+ (sparc-sun-solaris2*): Update Solaris 7 example.
+ (sparc64-*-solaris2*): Likewise.
+
+2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.build (alpha*-dec-osf4*): Remove.
+ * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
+ of obsolete configurations.
+ (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
+ support.
+ * config/alpha/t-osf4: Renamed to ...
+ * config/alpha/t-osf5: ... this.
+ * config/alpha/osf.h: Renamed to ...
+ * config/alpha/osf5.h: ... this.
+ Merged old osf5.h contents.
+ Update comments.
+ (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
+ (EXTRA_SPECS): Removed.
+ * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
+ reflect removal of Tru64 UNIX V4.0/V5.0 support.
+ Document that.
+
+2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/contrib.texi (Contributors, Rainer Orth): Update.
+
+2010-04-12 Kai Tietz <kai.tietz@onevision.com>
+
+ PR/43702
+ * config/i386/i386.c (x86_this_parameter): Handle aggregate for
+ __thiscall convention.
+
+2010-04-12 Steve Ellcey <sje@cup.hp.com>
+
+ * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
+ orig_base.
+ * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
+
+2010-04-12 Steve Ellcey <sje@cup.hp.com>
+
+ * function.c (assign_parms_initialize_all): Add unused attribute
+ to fntype.
+
+2010-04-12 Richard Guenther <rguenther@suse.de>
+
+ * gsstruct.def (GSS_CALL): New.
+ * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
+ * gimple.h: Include tree-ssa-alias.h.
+ (struct gimple_statement_call): New.
+ (union gimple_statement_struct_d): Add gimple_call member.
+ (gimple_call_reset_alias_info): Declare.
+ (gimple_call_use_set): New function.
+ (gimple_call_clobber_set): Likewise.
+ * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
+ * gimple.c (gimple_call_reset_alias_info): New function.
+ (gimple_build_call_1): Call it.
+ * lto-streamer-in.c (input_gimple_stmt): Likewise.
+ * tree-inline.c (remap_gimple_stmt): Likewise.
+ (expand_call_inline): Remove callused handling.
+ * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
+ * tree-dfa.c (dump_variable): Likewise.
+ * tree-parloops.c (parallelize_loops): Likewise.
+ * tree-ssa.c (init_tree_ssa): Likewise.
+ (delete_tree_ssa): Likewise.
+ * tree-flow-inline.h (is_call_used): Remove.
+ * tree-flow.h (struct gimple_df): Remove callused member.
+ * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
+ * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
+ (ref_maybe_used_by_call_p_1): Simplify.
+ (call_may_clobber_ref_p_1): Likewise.
+ * tree-ssa-structalias.c (compute_points_to_sets): Set
+ the call stmt used and clobbered sets.
+ * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
+ (find_tail_calls): Verify the tail call.
+
+2010-04-12 Richard Guenther <rguenther@suse.de>
+
+ * ipa.c (cgraph_postorder): Adjust postorder to guarantee
+ single-iteration always-inline inlining.
+ * ipa-inline.c (cgraph_mark_inline): Do not return anything.
+ (cgraph_decide_inlining): Do not handle always-inline specially.
+ (try_inline): Remove always-inline cycle detection special case.
+ Do not recurse on always-inlines.
+ (cgraph_early_inlining): Do not iterate if not optimizing.
+ (cgraph_gate_early_inlining): remove.
+ (pass_early_inline): Run unconditionally.
+ (gate_cgraph_decide_inlining): New function.
+ (pass_ipa_inline): Use it. Do not run the IPA inliner if
+ not inlining or optimizing.
+ (cgraph_decide_inlining_of_small_functions): Also consider
+ always-inline functions.
+ (cgraph_default_inline_p): Return true for nodes which should
+ disregard inline limits.
+ (estimate_function_body_sizes): Assume zero size and time for
+ nodes which are marked as disregarding inline limits.
+ (cgraph_decide_recursive_inlining): Do not perform recursive
+ inlining on always-inline nodes.
+
+2010-04-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/43699
+ * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
+ for exprs satisfying handled_component_p.
+
+2010-04-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
+ non-constant aggregate elements.
+
+ * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
+ is a real initialization.
+
+2010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
+
+ PR c/36774
+ * c-decl.c (start_function): Move forward check for nested function.
+
+2010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
+ * config/sh/sh.c: Include reload.h.
+ (sh_legitimize_reload_address): New.
+ * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
+ sh_legitimize_reload_address.
+
+2010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
+
+ * config/sh/sh.md (*movqi_pop): New insn pattern.
+ * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
+
+2010-04-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (any_shiftrt): New code iterator.
+ (shiftrt_insn): New code attribute.
+ (shiftrt): Ditto.
+ (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
+ using any_shiftrt code iterator.
+ (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
+ *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
+ (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
+ pattern from corresponding peephole2 patterns.
+ (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
+ using any_shiftrt code iterator.
+ (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
+ (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
+ (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
+ (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
+ *{ashr,lshr}<mode>3_cmp_zext.
+ (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
+
+2010-04-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
+ scratch register.
+ (*lshr<mode>3_cconly): Ditto.
+
+2010-04-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (lshr<mode>3): Macroize expander from
+ lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
+ (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
+ pattern from *lshr{di,ti}3_1 and corresponding splitters using
+ DWI mode iterator.
+ (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
+ from corresponding peephole2 patterns.
+ (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
+ *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
+ and *lshrdi3_1_rex64 using SWI mode iterator.
+ (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
+ (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
+ (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
+ *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
+ and *lshrdi3_cmp_rex64 using SWI mode iterator.
+ (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
+ (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
+ *lshrdi3_one_bit_cconly_rex64. Macroize insn from
+ *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
+ SWI mode iterator.
+
+2010-04-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ashr<mode>3): Macroize expander from
+ ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
+ (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
+ pattern from *ashr{di,ti}3_1 and corresponding splitters using
+ DWI mode iterator.
+ (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
+ from corresponding peephole2 patterns.
+ (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
+ (ashrsi3_cvt): Rename from ashrsi3_31.
+ (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
+ (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
+ and x86_64_shift_adj_3 using SWI48 mode iterator.
+ (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
+ *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
+ and *ashrdi3_1_rex64 using SWI mode iterator.
+ (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
+ (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
+ (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
+ *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
+ and *ashrdi3_cmp_rex64 using SWI mode iterator.
+ (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
+ (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
+ *ashrdi3_one_bit_cconly_rex64. Macroize insn from
+ *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
+ SWI mode iterator.
+ (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
+ * config/i386/i386.c (ix86_split_ashr): Update for renamed
+ x86_shift<mode>_adj_3 expanders.
+
+2010-04-10 Wei Guozhi <carrot@google.com>
+
+ PR target/42601
+ * config/arm/arm.c (arm_pic_static_addr): New function.
+ (legitimize_pic_address): Call arm_pic_static_addr when it detects
+ a static symbol.
+ (arm_output_addr_const_extra): Output expression for new pattern.
+ * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
+
+2010-04-10 Bernd Schmidt <bernds@codesourcery.com>
+
+ * ira-costs.c (record_reg_classes): Ignore alternatives that are
+ not enabled.
+
+ * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
+ * web.c: Include "insn-config.h" and "recog.h".
+ (union_match_dups): New function.
+ (web_main): Call it.
+ (union_defs): Don't try to recognize match_dups.
+
+ * reload1.c (eliminate_regs_in_insn): Don't restore an operand
+ if doing so would replace the entire pattern.
+
+2010-04-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/43707
+ PR target/43709
+ * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
+ and splitter pattern. Change splitter operand 1 predicate to
+ nonmemory_operand.
+
+2010-04-09 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
+ lattices are addresses of CONST_DECLs with the same initial value.
+ (ipcp_print_all_lattices): Print values of CONST_DECLs.
+ * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
+
+2010-04-09 Eric Botcazou <ebotcazou@adacore.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+
+ * loop-invariant.c (replace_uses): New static function.
+ (move_invariant_reg): Use it to ensure we can replace the uses.
+
+2010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (picochip_rtx_costs): Use correct
+ function template.
+ (picochip_override_options): Enable section anchors only above -O1.
+ (picochip_reorg): Fixed a couple of build warnings.
+
+2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (plugin -rdynamic test): Log result.
+ * configure: Regenerate.
+ * config/sol2.h (LINK_SPEC): Handle -rdynamic.
+ (RDYNAMIC_SPEC): Define.
+ * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
+
+2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac: Determine Sun ld version numbers.
+ (comdat_group): Restrict GNU ld version checks to gld.
+ (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
+ (enable_comdat): Support --enable-comdat.
+ * configure: Regenerate.
+ * doc/install.texi (Configuration): Document --enable-comdat.
+
+2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
+ * config/sol2-gld.h: ... here.
+ * config.gcc (sparc*-*-solaris2*): Reflect this.
+ (i[34567]86-*-solaris2*): Use it.
+
+2010-04-09 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
+ setup_clocks_p.
+ (final_emit_insn_group_barriers): Remove unused variable prev_insn.
+
+2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 42965
+ * diagnostic.c (diagnostic_initialize): Initialize
+ some_warnings_are_errors.
+ (diagnostic_finish): New.
+ (diagnostic_action_after_output): Call it before exiting.
+ (diagnostic_report_diagnostic): Do not print message here. Set
+ some_warnings_are_errors.
+ * diagnostic.h (diagnostic_context): Delete
+ issue_warnings_are_errors_message. Add some_warnings_are_errors.
+ (diagnostic_finish): Declare.
+ * toplev.c (toplev_main): Call it before exit.
+
+2010-04-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/42623
+ * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
+ for incomplete type.
+
+ PR c++/41788
+ * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
+ based on a warning flag.
+
+2010-04-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
+
+2010-04-09 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR bootstrap/43684
+ * varasm.c (default_assemble_visibility): Wrap vars that are
+ set, but unused, by targets without GAS.
+ * config/rs6000/rs6000.c (paired_emit_vector_compare):
+ Remove set, but unused, vars.
+ (rs6000_legitimize_tls_address): Likewise.
+ (altivec_expand_dst_builtin): Likewise.
+ * config/darwin.c (machopic_classify_symbol): Likewise.
+ (machopic_indirection_name): Likewise.
+
+2010-04-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (DWI): New mode iterator.
+ (S): New mode attribute.
+ (shift_operand): Ditto.
+ (shift_immediate_operand): Ditto.
+ (ashl_input_operand): Ditto.
+ (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
+ using SDWIM mode iterator.
+ (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
+ pattern from *ashl{di,ti}3_1 and corresponding splitters using
+ DWI mode iterator.
+ (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
+ from corresponding peephole2 patterns.
+ (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
+ and x86_64_shift_adj_1 using SWI48 mode iterator.
+ (x86_shift<mode>_adj_2): Ditto.
+ (*ashldi3_1_rex64): Split TYPE_LEA pattern.
+ (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
+ using SWI48 mode iterator.
+ (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
+ *ashldi3_cmp_rex64 using SWI mode iterator.
+ (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
+ *ashldi3_cconly_rex64 using SWI mode iterator.
+ * config/i386/i386.c (ix86_split_ashl): Update for renamed
+ x86_shift<mode>_adj_{1,2}.
+ (ix86_split_ashr): Ditto.
+ (ix86_split_lshr): Ditto.
+
+2010-04-09 Richard Guenther <rguenther@suse.de>
+
+ * target.h (builtin_conversion): Pass in input and output types.
+ * targhooks.c (default_builtin_vectorized_conversion): Adjust.
+ * targhooks.h (default_builtin_vectorized_conversion): Likewise.
+ * tree-vect-stmts.c (vectorizable_conversion): Adjust.
+ * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
+
+ * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
+ Handle AVX modes.
+ * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
+
+2010-04-09 Richard Guenther <rguenther@suse.de>
+
+ PR target/43152
+ * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
+
+2010-04-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-vectorizer.h (struct _stmt_vec_info): Document
+ that vectype is the type of the LHS.
+ (supportable_widening_operation, supportable_narrowing_operation):
+ Get both input and output vector types as arguments.
+ (vect_is_simple_use_1): Declare.
+ (get_same_sized_vectype): Likewise.
+ * tree-vect-loop.c (vect_determine_vectorization_factor):
+ Set STMT_VINFO_VECTYPE to the vector type of the def.
+ (vectorizable_reduction): Adjust.
+ * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
+ Adjust. Specify the output vector type.
+ (vect_pattern_recog_1): Adjust.
+ * tree-vect-stmts.c (get_same_sized_vectype): New function.
+ (vectorizable_call): Adjust.
+ (vectorizable_conversion): Likewise.
+ (vectorizable_operation): Likewise.
+ (vectorizable_type_demotion): Likewise.
+ (vectorizable_type_promotion): Likewise.
+ (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
+ the def.
+ (vect_is_simple_use_1): New function.
+ (supportable_widening_operation): Get both input and output
+ vector types.
+ (supportable_narrowing_operation): Likewise.
+ * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
+
+2010-04-09 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
+ __thiscall and _thiscall as predefined macros.
+ * config/i386/i386.c (ix86_handle_cconv_attribute): Add
+ thiscall attribute handling.
+ (ix86_comp_type_attributes): Likewise.
+ (ix86_function_regparm): Likewise.
+ (ix86_return_pops_args): Likewise.
+ (init_cumulative_args): Likewise.
+ (find_drap_reg): Likewise.
+ (ix86_static_chain): Likewise.
+ (x86_this_parameter): Likewise.
+ (x86_output_mi_thunk): Likewise.
+ (ix86_attribute_table): Add description for thiscall attribute.
+ * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
+ * doc/extend.texi: Add documentation for thiscall.
+
+2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/28584
+ * c.opt (Wint-to-pointer-cast): Available in C++.
+ * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
+
+2010-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
+ * calls.c (expand_call): Pass the function type to aggregate_value_p.
+ * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
+ the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
+ function type instead. Reorder and simplify checks.
+
+ * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
+
+2010-04-08 Jing Yu <jingyu@google.com>
+ Zdenek Dvorak <ook@ucw.cz>
+
+ PR tree-optimization/42720
+ * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
+ loop unswitch conditions here from ...
+ (tree_unswitch_single_loop): ... here.
+
+2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c: Fix comments and simplify logic.
+
+2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
+ (tree_if_conversion): Same. Update call to if_convertible_loop_p.
+ (main_tree_if_conversion): Update call to tree_if_conversion.
+
+2010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 42485
+ * doc/invoke.texi (-b,-V): Delete.
+ * doc/tm.texi: Do not mention -b.
+ * gcc.c (display_help): Delete -b and -V.
+ (process_command): Delete -b and -V.
+ * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
+
+2010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
+ Wolfgang Gellerich <gellerich@de.ibm.com>
+
+ Implement target hook for loop unrolling
+ * target.h (loop_unroll_adjust): Add a new target hook function.
+ * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
+ * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
+ * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
+ (s390_loop_unroll_adjust): Implement the new target hook for s390.
+ * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
+ target hook.
+ (decide_unroll_stupid): Likewise.
+
+2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/43643
+ * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
+
+2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
+ (Specific, *-*-solaris2*): Likewise.
+ Don't prefer Sun as over GNU as.
+
+2010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
+
+ * config/s390/s390.c (override_options): Adjust the z10 defaults
+ for max-unroll-times, max-completely-peeled-insns
+ and max-completely-peel-times.
+
+2010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_expand_movmem): Issue prefetch
+ instructions for z10.
+ (s390_expand_setmem): Likewise.
+ (s390_expand_cmpmem): Likewise.
+
+2010-04-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43679
+ * tree-ssa-pre.c (eliminate): Only propagate copies.
+
+2010-04-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/43681
+ * expr.c (block_move_libcall_safe_for_call_parm): Avoid
+ set but not used variable warning.
+
+2010-04-08 Wei Guozhi <carrot@google.com>
+
+ PR target/41653
+ * config/arm/arm.c (thumb1_size_rtx_costs): New function.
+ (arm_size_rtx_costs): Call the new function when optimized for size.
+
+2010-04-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43670
+ * cfgexpand.c (expand_debug_expr): If for non-NULL offset
+ op0 is not a MEM, just return NULL instead of assertion
+ failure.
+ (discover_nonconstant_array_refs): Don't walk debug stmts.
+
+2010-04-08 Doug Kwan <dougkwan@google.com>
+
+ * configure.ac: Recognize gold and do not use its version number
+ to test ld features.
+ * configure: Regenerate.
+
+2010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR middle-end/40815
+ * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
+ (negate_value): Move code to push elements to broken_up_substracts ...
+ (eliminate_plus_minus_pair): ... here. Push operands that have no
+ negative pair to plus_negates.
+ (repropagate_negates, init_reassoc, fini_reassoc): Update.
+
+2010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/install.texi (Configuration): Move description of
+ --enable-lto, --with-libelf*, --enable-gold from Java section to
+ general section.
+
+ * doc/generic.texi (Working with declarations)
+ (Function Properties, C and C++ Trees): Fix typos.
+ * doc/sourcebuild.texi (Top Level): Likewise.
+
+2010-04-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/18624
+ * tree.h (DECL_READ_P): Define.
+ (struct tree_decl_common): Add decl_read_flag.
+ * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
+ a set but not used warning.
+ (merge_decls): Merge DECL_READ_P flag.
+ (finish_decl, build_compound_literal): Set DECL_READ_P flag.
+ (finish_function): Issue -Wunused-but-set-parameter diagnostics.
+ * c-common.c (handle_used_attribute, handle_unused_attribute):
+ Likewise.
+ * c-tree.h (default_function_array_read_conversion, mark_exp_read):
+ New prototypes.
+ * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
+ New functions.
+ (default_conversion, c_process_expr_stmt): Call mark_exp_read.
+ * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
+ c_parser_binary_expression, c_parser_cast_expression,
+ c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
+ Call default_function_array_read_conversion instead of
+ default_function_array_conversion where needed.
+ (c_parser_unary_expression, c_parser_conditional_expression,
+ c_parser_postfix_expression_after_primary, c_parser_initelt):
+ Likewise. Call mark_exp_read where needed.
+ (c_parser_statement_after_labels, c_parser_asm_operands,
+ c_parser_typeof_specifier, c_parser_sizeof_expression,
+ c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
+ where needed.
+ * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
+ New.
+ * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
+ (warn_unused_but_set_parameter): Default to warn_unused
+ && extra_warnings.
+ * doc/invoke.texi: Document -Wunused-but-set-variable and
+ -Wunused-but-set-parameter.
+
+ * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
+ used count variable.
+ * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
+ when operandN variables aren't used in the body of the expander
+ or splitter.
+ * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
+ FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
+ * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
+ * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
+ FOR_EACH_IMM_USE_ON_STMT): Likewise.
+ * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
+ * tree.c (PROCESS_ARG): Likewise.
+
+2010-04-07 Simon Baldwin <simonb@google.com>
+
+ * diagnostic.h (diagnostic_override_option_index): New macro to
+ set a diagnostic's option_index.
+ * c-tree.h (c_cpp_error): Add warning reason argument.
+ * opts.c (_warning_as_error_callback): New.
+ (register_warning_as_error_callback): Store callback for
+ warnings enabled via enable_warning_as_error.
+ (enable_warning_as_error): Call callback, minor code tidy.
+ * opts.h (register_warning_as_error_callback): Declare.
+ * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
+ response to -Werror=.
+ (c_common_init_options): Register warning_as_error_callback in opts.c.
+ * common.opt: Add -Wno-cpp option.
+ * c-common.c (struct reason_option_codes_t): Map cpp warning
+ reason codes to gcc option indexes.
+ * (c_option_controlling_cpp_error): New function, lookup the gcc
+ option index for a cpp warning reason code.
+ * (c_cpp_error): Add warning reason argument, call
+ c_option_controlling_cpp_error for diagnostic_override_option_index.
+ * doc/invoke.texi: Document -Wno-cpp.
+
+2010-04-07 Richard Guenther <rguenther@suse.de>
+
+ * ipa-reference.c (mark_load): Use get_base_address.
+ (mark_store): Likewise.
+
+ * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
+ inserting GIMPLE_NOPs into the IL.
+ * tree-ssa-structalias.c (get_constraint_for_component_ref):
+ Explicitly strip handled components and indirect references.
+
+ * fold-const.c (fold_unary_loc): Do not strip qualifiers when
+ folding address expressions.
+ * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
+ * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
+ operand_equal_p to compare decls.
+ (ptr_deref_may_alias_decl_p): Likewise.
+ * tree-ssa-operands.c (get_asm_expr_operands): Simplify
+ * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
+ Handle reversed comparison ops.
+ * tree-sra.c (asm_visit_addr): Use get_base_address.
+ * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
+ * ipa-reference.c (mark_address): Use get_base_address.
+
+2010-04-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr):
+ Propagate constants everywhere.
+
+2010-04-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43516
+ * tree.c (MAX_INT_CACHED_PREC): Define.
+ (nonstandard_integer_type_cache): New array.
+ (build_nonstandard_integer_type): Cache results for precision
+ <= MAX_INT_CACHED_PREC.
+
+2010-04-07 Richard Guenther <rguenther@suse.de>
+
+ * doc/invoke.texi (-fargument-alias, -fargument-noalias,
+ -fargument-noalias-global, -fargument-noalias-anything): Remove.
+ * common.opt: Likewise.
+ * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
+ * alias.c (base_alias_check): Remove flag_argument_noalias handling.
+ (nonoverlapping_memrefs_p): Likewise.
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+ * opts.c (common_handle_option): Handle OPT_fargument_alias,
+ OPT_fargument_noalias, OPT_fargument_noalias_anything and
+ OPT_fargument_noalias_global for backward compatibility.
+
+2010-04-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43270
+ * tree-vrp.c (check_array_ref): Fix flexible array member detection.
+ * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
+ * tree-ssa-pre.c (phi_translate_1): Adjust.
+ (fully_constant_expression): Split out vn_reference handling to ...
+ * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
+ Fold reads from constant strings.
+ (vn_reference_lookup): Handle fully constant references.
+ (vn_reference_lookup_pieces): Likewise.
+ * Makefile.in (expmed.o-warn): Add -Wno-error.
+
+2010-04-07 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (find_param_candidates): Allow scalar va_list types.
+
+2010-04-07 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR driver/41594
+ * gcc.c: Add -static-libstdc++ to list of recognized options.
+
+2010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
+
+2010-04-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42617
+ * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
+ bases build simple mem attributes to retain points-to information.
+
+2010-04-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42617
+ * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
+ preserve points-to related information.
+
+2010-04-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42617
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
+ discard plain indirect references.
+ * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
+ * tree.c (tree_nop_conversion): Likewise.
+
+2010-04-07 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/43628
+ * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
+
+2010-04-06 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
+ calling convention attributes on METHOD_TYPEs for w64 ABI, too.
+
+2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c: Fix indentation and comments.
+
+2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c: Sort static functions in topological order.
+
+2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c: Fix indentation and comments.
+
+2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43519
+ * graphite-clast-to-gimple.c (max_signed_precision_type): Use
+ lang_hooks.types.type_for_size instead of
+ build_nonstandard_integer_type.
+ When converting an unsigned type to signed, double its precision.
+ (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
+ (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
+ (graphite_create_new_loop_guard): When ub + 1 wraps around,
+ use lb <= ub.
+
+2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43519
+ * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
+ POINTER_PLUS_EXPR for pointer types.
+
+2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43519
+ * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
+ * graphite-clast-to-gimple.c: Include langhooks.h.
+ (max_signed_precision_type): New.
+ (max_precision_type): Takes two types as arguments.
+ (precision_for_value): New.
+ (precision_for_interval): New.
+ (gcc_type_for_interval): New.
+ (gcc_type_for_value): New.
+ (gcc_type_for_clast_term): New.
+ (gcc_type_for_clast_red): New.
+ (gcc_type_for_clast_bin): New.
+ (gcc_type_for_clast_expr): Split up into several functions.
+ (gcc_type_for_clast_eq): Rewritten.
+ (compute_bounds_for_level): New.
+ (compute_type_for_level_1): New.
+ (compute_type_for_level): New.
+ (gcc_type_for_cloog_iv): Removed.
+ (gcc_type_for_iv_of_clast_loop): Rewritten.
+ (graphite_create_new_loop): Compute the lower and upper bound types
+ with gcc_type_for_clast_expr.
+ (graphite_create_new_loop_guard): Same.
+ (find_cloog_iv_in_expr): Removed.
+ (compute_cloog_iv_types_1): Removed.
+ (compute_cloog_iv_types): Removed.
+ (gloog): Do not call compute_cloog_iv_types.
+ * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
+ GBB_CLOOG_IV_TYPES.
+ (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
+ * sese.h (struct gimple_bb): Removed field cloog_iv_types.
+ (GBB_CLOOG_IV_TYPES): Removed.
+
+2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
+ gimple_phi_num_args of the loop close SSA phi node is equal to 1.
+ (detect_commutative_reduction): Same.
+
+2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
+ call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
+ argument.
+ * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
+ * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
+ (rewrite_commutative_reductions_out_of_ssa): Same.
+ * passes.c (execute_function_todo): Call verify_ssa for every pass
+ in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
+ * tree-flow.h (verify_loop_closed_ssa): Update declaration.
+ * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
+ with an extra argument.
+ * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
+ verify_ssa only when the extra argument is true.
+ (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
+ with an extra argument.
+ (tree_transform_and_unroll_loop): Same.
+
+2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
+
+ * passes.c (execute_function_todo): Call verify_loop_closed_ssa
+ for all the passes of the LNO having LOOP_CLOSED_SSA.
+ * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
+ * tree-loop-distribution.c (pass_loop_distribution): Same.
+ * tree-pass.h (TODO_verify_loops): Removed.
+ * tree-ssa-loop.c (pass_tree_loop_init): Same.
+ (pass_lim): Same.
+ (pass_tree_unswitch): Same.
+ (pass_predcom): Same.
+ (pass_vectorize): Same.
+ (pass_linear_transform): Same.
+ (pass_graphite_transforms): Same.
+ (pass_iv_canon): Same.
+ (pass_complete_unroll): Same.
+ (pass_complete_unrolli): Same.
+ (pass_parallelize_loops): Same.
+ (pass_loop_prefetch): Same.
+ (pass_iv_optimize): Same.
+
+2010-04-06 Changpeng Fang <changpeng.fang@amd.com>
+
+ PR middle-end/32824
+ * passes.c (init_optimization_passes): Move pass_lim before
+ pass_copy_prop and pass_dce_loop.
+
+2010-04-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/43667
+ * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
+ instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
+ (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
+ MULTI_* defines for 4 argument vpermil2p* builtins.
+
+2010-04-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
+ * config/i386/i386.c (x86_maybe_negate_const_int): New.
+ (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
+ * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
+ *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
+ *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
+ *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
+ Use x86_maybe_negate_const_int to output insn mnemonic.
+ (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
+ check from instruction predicate. Update comments.
+ * config/i386/sync.md (sync_add<mode>): Use
+ x86_maybe_negate_const_int to output insn mnemonic.
+
+2010-04-06 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/42906
+ * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
+ IGNORE_SELF argument. Set visited_control_parents for fully
+ processed BBs.
+ (find_obviously_necessary_stmts): Update call of
+ mark_control_dependent_edges_necessary.
+ (propagate_necessity): Likewise. Handle PHI edges more curefully.
+
+2010-04-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md: Remove comment about 'e' and 'E'
+ operand modifier.
+
+2010-04-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43627
+ * tree-vrp.c (extract_range_from_unary_expr): Widenings
+ of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
+ not varying.
+
+2010-04-06 Jakub Jelinek <jakub@redhat.com>
+
+ * BASE-VER: Change to 4.6.0.
+
+ PR target/43638
+ * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
+ handling.
+
+2010-04-06 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/43661
+ * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
+
+2010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/invoke.texi (Optimize Options): Document that LTO
+ won't remove object access purely due to incompatible
+ declarations.
+
+2010-04-04 Matthias Klose <doko@ubuntu.com>
+
+ * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
+ Initialize variable.
+
+2010-04-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42509
+ * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
+ require a non-NULL MEM_OFFSET.
+
+2010-04-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
+ basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
+ collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
+ config/alpha/predicates.md, config/arm/arm.md,
+ config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
+ config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
+ config/darwin9.h, config/darwin.c, config/darwin.h,
+ config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
+ config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
+ config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
+ config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
+ config/mips/mips.md, config/mn10300/mn10300.c,
+ config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
+ config/rs6000/aix.h, config/rs6000/dfp.md,
+ config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
+ config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
+ config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
+ config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
+ config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
+ config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
+ c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
+ diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
+ doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
+ doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
+ fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
+ gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
+ graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
+ graphite-dependences.c, graphite-poly.c, graphite-poly.h,
+ graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
+ graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
+ intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
+ ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
+ ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
+ loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
+ objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
+ opt-functions.awk, opth-gen.awk, params.def, passes.c,
+ postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
+ rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
+ store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
+ tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
+ tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
+ tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
+ tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
+ tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
+ tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
+ tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
+ tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
+ tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
+ tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
+ unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
+
+2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR other/43620
+ * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
+ * aclocal.m4: Regenerate.
+
+2010-04-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43629
+ * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
+ if we have seen a constant value.
+
+2010-04-02 Joseph Myers <joseph@codesourcery.com>
+
+ * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
+
+2010-04-02 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/43469
+ * arm.c (legitimize_tls_address): Adjust call to
+ gen_tls_load_dot_plus_four.
+ (arm_note_pic_base): New function.
+ (arm_cannot_copy_insn_p): Use it.
+ * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
+ constraint.
+
+2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR bootstrap/43531
+
+ Revert:
+ 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.in ($(out_object_file)): Depend on
+ gt-$(basename $(notdir $(out_file))).h.
+
+2010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * config.gcc (lm32-*-rtems*): Add t-lm32.
+
+2010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * config.gcc: Add lm32-*-rtems*.
+ * config/lm32/rtems.h: New file.
+
+2010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR target/42609
+ * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
+
+2010-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (output_compilation_unit_header): For
+ -gdwarf-4 use version 4 instead of version 3.
+ (output_line_info): For version 4 and above emit additional
+ maximum ops per insn header field.
+ (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
+
+ * dwarf2out.c (is_c_family, is_java): Remove.
+ (lower_bound_default): New function.
+ (add_bound_info, gen_descr_array_type_die): Use it.
+
+2010-04-01 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/43325
+ * dwarf2out.c (gen_variable_die): Allow debug info for variable
+ re-declaration when it happens in a function.
+
+2010-04-01 Aldy Hernandez <aldyh@redhat.com>
+
+ * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
+ (cgraph_remove_function_insertion_hook): Same.
+ (cgraph_call_function_insertion_hooks): Same.
+
+2010-04-01 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/43614
+ * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
+ and TREE_THIS_VOLATILE.
+ (copy_ref_info): Likewise.
+ * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
+ * tree.c (build6_stat): Ignore side-effects of all but arg5
+ for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
+ TARGET_MEM_REF.
+
+2010-04-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43607
+ * ipa-type-escape.c (check_call): Do not access non-existing
+ arguments.
+
+2010-04-01 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/43602
+ Revert
+ 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * tree-profile.c (tree_init_ic_make_global_vars): Make static
+ variables TLS.
+
+2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Prerequisites): Document libelf usability on
+ IRIX 5/6 and Solaris 2.
+ (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
+ Update GNU as, GNU ld requirements.
+ (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
+ Document Sun Studio compiler download.
+ Update and simplify as, ld recommendations.
+ (Specific, *-*-solaris2.7): Note obsoletion, removal.
+
+2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
+ with_tune_32 to pentium4.
+
+2010-04-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
+
+2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
+ obsoletion, removal.
+ Update IDO URL.
+ Document GNU as requirement.
+ Update configure requirements.
+ (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
+ Recomment IRIX 6.5.18+.
+ Document IDF/IDL requirement.
+ Document GNU as requirement.
+ Document GNU ld bootstrap failure.
+ Remove freeware.sgi.com reference.
+
+2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
+ UNIX V4.0, V5.0 obsoletion, removal.
+ Remove --with-gc=simple reference.
+ Update VM requirements during bootstrap.
+ Remove -oldas bootstrap description.
+ Update binutils reference.
+ Remove comparison failure note.
+
+2010-03-31 Richard Guenther <rguenther@suse.de>
+ Zdenek Dvorak <ook@ucw.cz>
+ Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43464
+ * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
+ with multiple arguments.
+ (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
+
+2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (print_pddr): Call print_pdr with an
+ extra argument.
+ * graphite-poly.c (debug_pdr): Add an extra argument for the
+ verbosity level.
+ (print_pdr): Same.
+ (print_pbb_domain): Same.
+ (print_pbb): Same.
+ (print_scop_context): Same.
+ (print_scop): Same.
+ (print_cloog): Same.
+ (debug_pbb_domain): Same.
+ (debug_pbb): Same.
+ (print_pdrs): Same.
+ (debug_pdrs): Same.
+ (debug_scop_context): Same.
+ (debug_scop): Same.
+ (debug_cloog): Same.
+ (print_scop_params): Same.
+ (debug_scop_params): Same.
+ (print_iteration_domain): Same.
+ (print_iteration_domains): Same.
+ (debug_iteration_domain): Same.
+ (debug_iteration_domains): Same.
+ (print_scattering_function): Same.
+ (print_scattering_functions): Same.
+ (debug_scattering_function): Same.
+ (debug_scattering_functions): Same.
+ * graphite-poly.h (debug_pdr): Update declaration.
+ (print_pdr): Same.
+ (print_pbb_domain): Same.
+ (print_pbb): Same.
+ (print_scop_context): Same.
+ (print_scop): Same.
+ (print_cloog): Same.
+ (debug_pbb_domain): Same.
+ (debug_pbb): Same.
+ (print_pdrs): Same.
+ (debug_pdrs): Same.
+ (debug_scop_context): Same.
+ (debug_scop): Same.
+ (debug_cloog): Same.
+ (print_scop_params): Same.
+ (debug_scop_params): Same.
+ (print_iteration_domain): Same.
+ (print_iteration_domains): Same.
+ (debug_iteration_domain): Same.
+ (debug_iteration_domains): Same.
+ (print_scattering_function): Same.
+ (print_scattering_functions): Same.
+ (debug_scattering_function): Same.
+ (debug_scattering_functions): Same.
+
+2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (print_scattering_function_1): New.
+ (print_scattering_function): Call it.
+ (print_scop_params): Remove spaces at the end of lines.
+ (print_cloog): New.
+ (debug_cloog): New.
+ * graphite-poly.h (print_cloog): Declared.
+ (debug_cloog): Declared.
+
+2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
+ in loop->header.
+ * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
+ * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
+ * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
+ to switch between adding the IV bump in loop->latch or in loop->header.
+
+2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (print_scattering_function): Pretty print following
+ the scoplib format.
+ (print_pdr): Same.
+ (print_pbb_domain): Same.
+ (dump_gbb_cases): Same.
+ (dump_gbb_conditions): Same.
+ (print_pdrs): Same.
+ (print_pbb): Same.
+ (print_scop_params): Same.
+ (print_scop_context): Same.
+ (print_scop): Same.
+ (print_pbb_body): New.
+ (lst_indent_to): New.
+ (print_lst): Start new lines with a #.
+ * graphite-poly.h (pbb_bb): New.
+ (pbb_index): Use pbb_bb.
+ * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
+ disjuncts.
+ * tree-data-ref.c (dump_data_reference): Start new lines with a #.
+
+2010-03-31 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (size_of_die): For -gdwarf-4 use
+ uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
+ and 0 instead of 1 for dw_val_class_flag.
+ (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
+ dw_val_class_range_list, dw_val_class_loc_list,
+ dw_val_class_lineptr and dw_val_class_macptr, use
+ DW_FORM_flag_present for dw_val_class_flag and
+ DW_FORM_exprloc for dw_val_class_loc.
+ (output_die): For -gdwarf-4 print dw_val_class_loc
+ size as uleb128 instead of 1 or 2 bytes and don't print
+ anything for dw_val_class_flag.
+
+ * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
+ instead of cselib_lookup following by tweaking locs->setting_insn.
+
+ PR bootstrap/43596
+ * cselib.c (cselib_process_insn): Clear cselib_current_insn
+ even before returning from label, setjmp call or volatile asm
+ handling.
+
+2010-03-31 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/43600
+ * cgraphunit.c (cgraph_output_in_order): Do not allocate
+ temporary data on stack.
+
+2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
+ (PUSHSECTION_ASM_OP): Remove.
+ (POPSECTION_ASM_OP): Remove.
+ (PUSHSECTION_FORMAT): Remove.
+ * config/sol2.h (PUSHSECTION_FORMAT): Define.
+ * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
+ * config/sol2.c (solaris_output_init_fini): Use it.
+
+2010-03-31 Jie Zhang <jie@codesourcery.com>
+
+ PR 43574
+ * opt-functions.awk (var_type_struct): Use signed char type
+ for simple variables.
+
+2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sol2.c: Include output.h.
+ (solaris_assemble_visibility): New function.
+ * config/t-sol2 (sol2.o): Add output.h dependency.
+ * config/sol2-protos.h (solaris_assemble_visibility): Declare.
+ * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
+ Redefine.
+
+2010-03-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/43580
+ * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
+ V2SImode or XFmode on PRE_DEC.
+
+ PR debug/43557
+ * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
+ BLKmode.
+
+2010-03-31 Jie Zhang <jie@codesourcery.com>
+
+ PR 43562
+ * reload.h (caller_save_initialized_p): Declare.
+ * toplev.c (backend_init_target): Don't call
+ init_caller_save but set caller_save_initialized_p to false.
+ * caller-save.c (caller_save_initialized_p): Define.
+ (init_caller_save): Check caller_save_initialized_p.
+ * ira.c (ira): Call init_caller_save if flag_caller_saves.
+
+2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/39048
+ * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
+ and soft-fp/t-softfp to tmake_file.
+ * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
+ (LIBGCC2_TF_CEXT): Define.
+ (TF_SIZE): Define.
+
+2010-03-30 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42977
+ * cselib.c (n_useless_values): Document handling of debug locs.
+ (n_useless_debug_values, n_debug_values): New variables.
+ (new_elt_loc_list): Don't add to debug values, keep count.
+ (promote_debug_loc): New.
+ (cselib_reset_table): Zero new variables.
+ (entry_and_rtx_equal_p): Promote debug locs.
+ (discard_useless_locs): Increment n_useless_debug_values for
+ debug values.
+ (remove_useless_values): Adjust n_useless_values and n_debug_values
+ with n_useless_debug_values.
+ (add_mem_for_addr): Promote debug locs.
+ (cselib_lookup_mem): Likewise.
+ (cselib_lookup_addr): Renamed to...
+ (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
+ (cselib_log_lookup): ... this. Turn into...
+ (cselib_lookup_addr): ... new wrapper.
+ (cselib_lookup_from_insn): New.
+ (cselib_invalidate_regno): Increment n_useless_debug_values for
+ debug values.
+ (cselib_invalidate_mem): Likewise.
+ (cselib_process_insn): Take n_deleted and n_debug_values into
+ account to guard remove_useless_value call.
+ (cselib_finish): Zero n_useless_debug_values.
+ * cselib.h (cselib_lookup_from_insn): Declare.
+ * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
+ (sched_analyze_2): Likewise.
+
+2010-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
+ functions.
+ (adjust_mems): Replace narrowing SUBREG of expression containing
+ just PLUS, MINUS, MULT and ASHIFT of registers and constants
+ with operations in the narrower mode.
+
+ PR debug/43593
+ * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
+ regs_invalidated_by_call instead all call_used_reg_set registers.
+
+2010-03-30 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43430
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
+ pointer comparisons with types_compatible_p.
+ * tree-vect-stmts.c (vectorizable_call): Same.
+ (vectorizable_condition): Same.
+
+2010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
+ stack check if the mask would be zero.
+
+2010-03-30 Seongbae Park <seongbae.park@gmail.com>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * tree-profile.c (tree_init_ic_make_global_vars): Make static
+ variables TLS.
+
+2010-03-30 Joseph Myers <joseph@codesourcery.com>
+
+ PR other/25232
+ * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
+ and __unordtf2.
+ * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
+ Include ___unordxf2 and ___unordtf2.
+ * config/i386/libgcc-glibc.ver: Do not define inheritance from
+ GCC_4.4.0 here.
+
+2010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
+
+ * config/lm32/t-lm32: New file.
+ * config.gcc: Use the above file when targetting lm32.
+
+2010-03-28 Duncan Sands <baldrick@free.fr>
+
+ * Makefile.in (PLUGIN_HEADERS): Add except.h.
+
+2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43431
+ * tree-vect-loop.c (vect_estimate_min_profitable_iters):
+ Improve vectorization cost model diagnostic.
+
+2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43436
+ * tree-vect-data-refs.c (vect_analyze_data_refs): When
+ compute_data_dependences_for_loop returns false, early exit
+ and output an extra diagnostic for the failed data reference
+ analysis.
+
+2010-03-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43560
+ * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
+ (can_sm_ref_p): Treat stores to readonly locations as trapping.
+
+2010-03-29 Jie Zhang <jie@codesourcery.com>
+
+ PR 43564
+ * toplev.c (process_options): Set optimization_default_node
+ and optimization_current_node.
+ * opts.c (decode_options): Don't set optimization_default_node
+ and optimization_current_node.
+
+2010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * config/rtems.h: Abandon -qrtems_debug.
+
+2010-03-28 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/43505
+ * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
+ map should not be copied.
+
+2010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/41674
+ * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
+ cdtors, set DECL_PRESERVE_P.
+ * ipa.c (cgraph_externally_visible_p): Return true if declaration
+ should be preseved.
+
+2010-03-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR tree-optimization/43528
+ * stor-layout.c (place_field): Check that constant fits into
+ unsigned HWI when skipping calculation of MS bitfield layout.
+
+2010-03-27 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/43391
+ * varasm.c (make_decl_rtl): Deal with COMMON flag to make
+ notice_global_symbol work.
+
+2010-03-27 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
+ instead of dwarf2out_decl.
+ (struct var_loc_node): Remove section_label field.
+ (dwarf2out_function_decl): New function.
+ (dwarf2out_var_location): Don't set section_label field.
+ (dwarf2out_begin_function): Don't empty decl_loc_table here.
+
+2010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR tree-optimization/43544
+ * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
+ First argument for builtin vectorized function hook is now a
+ tree to be able to distinguish between machine specific and
+ standard builtins.
+ * targhooks.c (default_builtin_vectorized_function): Ditto.
+ * targhooks.h (default_builtin_vectorized_function): Ditto.
+ * target.h (struct gcc_target): Ditto.
+ * tree-vect-stmts.c (vectorizable_function): Ditto.
+ * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
+ * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
+ Ditto.
+
+2010-03-26 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/43381
+ * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
+ nested binding iff it is a FUNCTION_DECL.
+ (store_parm_decls_newstyle): Pass nested=true to bind for
+ FUNCTION_DECLs amongst parameters.
+
+2010-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ * var-tracking.c (vt_expand_loc_callback): Don't run
+ cselib_expand_value_rtx_cb in dummy mode if
+ cselib_dummy_expand_value_rtx_cb returned false.
+
+ * var-tracking.c (emit_note_insn_var_location): For one part
+ notes with offset 0, don't add EXPR_LIST around the location.
+ * dwarf2out.c (loc_descriptor, dw_loc_list_1,
+ add_location_or_const_value_attribute): Adjust for that change.
+
+ PR debug/43540
+ * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
+ into first operand and location into second.
+ (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
+ dw_cfi_oprnd_loc for DW_CFA_expression.
+ (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
+ (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
+ assume first argument is regnum and second argument is location.
+
+2010-03-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/42113
+ * config/alpha/alpha.md (*cmp_sadd_si): Change mode
+ of scratch register to DImode. Split to DImode comparison operator.
+ Use SImode subreg of scratch register in the multiplication.
+ (*cmp_sadd_sidi): Ditto.
+ (*cmp_ssub_si): Ditto.
+ (*cmp_ssub_sidi): Ditto.
+
+2010-03-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/43524
+ * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
+ Remove invalid assert and wrong comment.
+
+2010-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43516
+ * flags.h (final_insns_dump_p): New extern.
+ * final.c (final_insns_dump_p): New variable.
+ (rest_of_clean_state): Set it before -fdump-final-insns=
+ dumping, clear afterwards.
+ * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
+ MEM_ALIAS_SET on MEMs.
+
+2010-03-26 David S. Miller <davem@davemloft.net>
+
+ * configure.ac: Fix sparc GOTDATA_OP bug check.
+ * configure: Rebuild.
+
+2010-03-26 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
+
+2010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
+ TLS_SECTION_ASM_FLAG.
+
+2010-03-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/43511
+ * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
+ Clear first_function_block_is_cold.
+
+ PR c/43385
+ * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
+ argument if the argument is truth_value_p.
+
+2010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/constraints.md: Update copyright year for my changes.
+
+ PR target/43484
+ * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
+ used in reg+reg addressing, swap registers.
+
+2010-03-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43293
+ * target.h (struct gcc_target): Add code_end hook.
+ * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
+ if not yet defined.
+ (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
+ * toplev.c (compile_file): Call targetm.asm_out.code_end
+ hook before unwind info/debug info output.
+ * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
+ * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
+ (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
+ * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
+ (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
+ * config/i386/i386.c (ix86_file_end): Renamed to...
+ (ix86_code_end): ... this. Make static. Don't call
+ file_end_indicate_exec_stack. Emit unwind info using
+ final_start_function/final_end_function.
+ (darwin_x86_file_end): Remove.
+ (TARGET_ASM_CODE_END): Define.
+ * config/i386/i386.h (TARGET_ASM_FILE_END,
+ NEED_INDICATE_EXEC_STACK): Don't define.
+ * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
+ (TARGET_ASM_FILE_END): Define to darwin_file_end.
+ * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
+ * doc/tm.texi (TARGET_ASM_CODE_END): Document.
+
+ PR target/43498
+ * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
+ at the beginning and final_end_function at the end.
+ * config/s390/s390.c (s390_output_mi_thunk): Likewise.
+
+2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
+ and Sun as TLS syntax.
+ (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
+ (default_elf_asm_named_section): Use it.
+ * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
+ (i386_output_dwarf_dtprel): Likewise.
+ (output_addr_const_extra): Likewise.
+ (output_pic_addr_const): Lowercase @GOTTPOFF.
+ (output_addr_const_extra): Likewise.
+ (output_pic_addr_const): Lowercase @GOTNTPOFF.
+ (output_addr_const_extra): Likewise.
+ (output_pic_addr_const): Lowercase @INDNTPOFF.
+ (output_addr_const_extra): Likewise.
+ (output_pic_addr_const): Lowercase @NTPOFF.
+ (output_addr_const_extra): Likewise.
+ (output_pic_addr_const): Lowercase @TPOFF.
+ (output_addr_const_extra): Likewise.
+ * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
+ (*tls_global_dynamic_64): Likewise.
+ (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
+ (*tls_local_dynamic_base_64): Lowercase @TLSLD.
+
+ * defaults.h (TLS_COMMON_ASM_OP): Provide default.
+ (ASM_OUTPUT_TLS_COMMON): Use it.
+ * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
+
+ PR target/38118
+ * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
+ * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
+ * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
+ * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
+ * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
+ (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
+
+2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/i386.c (override_options): Don't accept
+ -mtls-dialect=sun any longer.
+ * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
+ * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
+ (*tls_local_dynamic_base_32_sun): Likewise.
+ * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
+
+2010-03-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43508
+ * dwarf2out.c (mem_loc_descriptor): Don't ICE on
+ VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
+
+ PR debug/43479
+ * ira.c (adjust_cleared_regs): New function.
+ (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
+
+ PR debug/19192
+ PR debug/43479
+ * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
+ from gimple_block.
+ * expr.c (expand_expr_real): Restore previous
+ curr_insn_source_location and curr_insn_block after
+ expand_expr_real_1 call.
+ (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
+ instead of expand_expr_real_1.
+
+2010-03-23 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/43413
+ * ira-color.c (setup_allocno_available_regs_num): Count prohibited
+ hard regs too.
+
+2010-03-22 James E. Wilson <wilson@codesourcery.com>
+
+ PR target/43348
+ * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
+ call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
+
+2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_target_string): Add -mfma.
+ Fix a typo in comment.
+
+2010-03-22 Mike Stump <mikestump@comcast.net>
+
+ PR target/23071
+ * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
+ Don't overly align based upon packed packed fields.
+
+2010-03-22 Jason Merrill <jason@redhat.com>
+
+ * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
+ Use () rather than [], and move before the element type.
+
+2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/configfiles.texi (Configuration Files): Removed
+ fixinc/Makefile*, intl/Makefile.*.
+ * doc/makefile.texi: Fixed markup. Abstract from version
+ control system used.
+ (Makefile): Removed obsolete java/parse.y example.
+ * doc/sourcebuild.texi: Likewise.
+ (Top Level): Added config, gnattools, libdecnumber, libgcc,
+ libgomp, libssp. Removed fastjar.
+ (Miscellaneous Docs): Clarify location.
+ Added COPYING3, COPYING3.LIB.
+ (Front End Directory): Moved Make-lang.in entry to new subsubsection.
+
+2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/38085
+ * config/i386/i386.c (x86_function_profiler)
+ [!NO_PROFILE_COUNTERS]: Fix typo.
+ * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
+ instead of callq.
+
+2010-03-22 Janis Johnson <janis187@us.ibm.com>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (Test Directives): Split into six
+ subsections, with most of the current text in new subsections
+ Directives, Selectors, and Final Actions.
+ (Directives): Split list of test directives into multiple
+ subsubsections.
+ (Selectors): Describe use and syntax of selectors.
+ (Effective-Target Keywords): Describe all existing keywords.
+ (Add Options): Describe features for dg-add-options.
+ (Require Support): Describe variants of dg-require-support.
+ (Final Actions): Describe commands to use in dg-final.
+
+2010-03-22 Michael Matz <matz@suse.de>
+
+ PR middle-end/43475
+ * recog.c (validate_replace_rtx_group): Replace also in
+ REG_EQUAL and REG_EQUIV notes.
+
+2010-03-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43390
+ * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
+ sure vector extracts are type correct.
+
+2010-03-22 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/40106
+ * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
+ x * sqrt (x) even when optimizing for size if the target
+ has native support for sqrt.
+
+2010-03-22 Jakub Jelinek <jakub@redhat.com>
+
+ * varasm.c (make_decl_rtl_for_debug): Also clear
+ flag_mudflap for the duration of make_decl_rtl call.
+
+ PR debug/43443
+ * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
+ locs from preserved VALUEs.
+
+2010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/42718
+ * pa.md (movmemsi): Set align to one if zero.
+ (movmemdi): Likewise.
+
+2010-03-21 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/42321
+ * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
+ with their corresponding prologue pushes.
+
+2010-03-20 Andrew Pinski <pinskia@gmail.com>
+
+ PR target/43156
+ * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
+ at the begining or end.
+ (spu_expand_epilogue): Likewise.
+
+2010-03-20 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/43438
+ * combine.c (make_extraction): Properly zero-/sign-extend an
+ extraction of the low part of a CONST_INT. Also handle
+ CONST_DOUBLE.
+
+2010-03-19 Mike Stump <mikestump@comcast.net>
+
+ * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
+ * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
+ (override_options): Use SUBTARGET32_DEFAULT_CPU.
+
+2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
+
+ PR c/43211
+ * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
+ an error.
+
+2010-03-19 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/42258
+ * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
+ use that may match DEF.
+
+ PR target/40697
+ * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
+ the cost of loading the constant rather than assuming
+ COSTS_N_INSNS (1).
+ * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
+ outer code is AND, do the same tests as the andsi3 expander and
+ return COSTS_N_INSNS (1) if and is cheap.
+
+ * optabs.c (avoid_expensive_constant): Fix formatting.
+
+2010-03-19 Michael Matz <matz@suse.de>
+
+ PR c++/43116
+ * attribs.c (decl_attributes): When rebuilding a function pointer
+ type use the same qualifiers as the original pointer type.
+
+2010-03-19 Martin Jambor <mjambor@suse.cz>
+
+ * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
+ and is_gimple_ip_invariant_address.
+
+2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ Revert
+ 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm.c (arm_override_options): Turn off
+ flag_dwarf2_cfi_asm for AAPCS variants.
+
+2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/43399
+ * config/arm/arm.c (emit_multi_reg_push): Update comments.
+ Use PRE_MODIFY instead of PRE_DEC.
+ (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
+ (vfp_emit_fstmd): Likewise.
+
+2010-03-19 Michael Matz <matz@suse.de>
+
+ PR target/43305
+ * builtins.c (expand_builtin_interclass_mathfn,
+ expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
+ if that fails.
+
+2010-03-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43415
+ * tree-ssa-pre.c (phi_translate): Split out worker to ...
+ (phi_translate_1): ... this.
+ (phi_translate): Move all caching here. Cache all NARY
+ and REFERENCE translations.
+
+2010-03-19 David S. Miller <davem@davemloft.net>
+
+ With help from Eric Botcazou.
+ * config/sparc/sparc.c: Include dwarf2out.h.
+ (emit_pic_helper): Delete.
+ (pic_helper_symbol_name): Delete.
+ (pic_helper_emitted_p): Delete.
+ (pic_helper_needed): New.
+ (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
+ (get_pc_thunk_name): New.
+ (load_pic_register): Remove 'delay_pic_helper' arg. Use
+ get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
+ Set pic_helper_needed to true. Don't call emit_pic_helper.
+ (sparc_expand_prologue): Update load_pic_register call.
+ (sparc_output_mi_thunk): Likewise.
+ (sparc_file_end): Emit a hidden comdat symbol for the PIC
+ thunk if possible. Output CFI information as needed.
+
+2010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR target/36399
+ * config/i386/i386.h: Fix ABI on darwin x86-32.
+
+2010-03-18 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree.h: Declare make_decl_rtl_for_debug.
+ * varasm.c (make_decl_rtl_for_debug): New.
+ * dwarf2out.c (rtl_for_decl_location): Call it.
+ * cfgexpand.c (expand_debug_expr): Call it.
+
+2010-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/43399
+ * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
+ mem_mode.
+
+ PR bootstrap/43403
+ * var-tracking.c (vt_init_cfa_base): Do nothing if
+ cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
+
+2010-03-18 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42873
+ * var-tracking.c (canonicalize_vars_star): New.
+ (dataflow_post_merge_adjust): Use it.
+
+2010-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43058
+ * var-tracking.c (non_suitable_const): New function.
+ (add_uses): For DEBUG_INSNs with constants, don't record any
+ value, instead just the constant value itself.
+ (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
+ is not VAR_LOC_UNKNOWN_P, set var to the constant.
+ (emit_notes_in_bb): Likewise.
+ (emit_note_insn_var_location): For onepart variables if
+ cur_loc is a VOIDmode constant, use DECL_MODE.
+
+2010-03-18 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/42450
+ * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
+ * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
+ all non-clones. Moved call redirection...
+ (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
+ (cgraph_materialize_all_clones): Dispose of all
+ combined_args_to_skip bitmaps.
+ (verify_cgraph_node): Do not check for edges pointing to wrong
+ nodes in inline clones.
+ * tree-inline.c (copy_bb): Call
+ cgraph_redirect_edge_call_stmt_to_callee.
+ * ipa.c (cgraph_remove_unreachable_nodes): Call
+ cgraph_node_remove_callees even when there are used clones.
+
+2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
+
+2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/43383
+ * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
+ for 32bit.
+
+2010-03-18 Michael Matz <matz@suse.de>
+
+ PR middle-end/43419
+ * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
+ into sqrt(x) if we need to preserve signed zeros.
+
+2010-03-18 Steven Bosscher <steven@gcc.gnu.org>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/43360
+ * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
+ note if we don't know its invariant status.
+
+2010-03-18 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/43402
+ * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
+ PHI chains of ssa names registered for update.
+
+2010-03-17 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/42427
+ * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
+ non-offsettable and pre_modify update addressing.
+ * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
+ and "2" alternatives "#".
+ (*movdd_softfloat32): Make all alternatives "#";
+ * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
+ (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
+ (*movdf_softfloat32): Make all alternatives "#";
+ (movdi): Use the new DIFD mode iterator to create a common splitter
+ for movdi, movdf and movdd patterns.
+
+2010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
+
+ * common.opt (dumpdir): Remove redundant tab.
+
+2010-03-17 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/43347
+ * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
+ original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
+
+2010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ PR rtl-optimization/42216
+ * regrename.c (create_new_chain): New function, broken out from...
+ (scan_rtx_reg): ... here. Call it. Handle the case where we are
+ appending a use to an empty chain.
+ (build_def_use): Remove previous changes that convert OP_INOUT to
+ OP_OUT operands; instead detect the case where an OP_INOUT operand
+ uses a previously untracked register and create an empty chain for it.
+
+2010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/extend.texi (Function Attributes): Rewrite unfinished
+ sentence in ms_abi documentation.
+
+2010-03-17 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
+ * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
+ (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
+ * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
+
+2010-03-16 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/43365
+ * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
+ (lower_try_finally): Save and restore eh_seq around the expansion
+ of the try-finally.
+
+2010-03-16 Aldy Hernandez <aldyh@redhat.com>
+
+ * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
+ statements before splitting block.
+
+2010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (Testsuites): Fix markup.
+ Use pathnames relative to gcc/testsuite.
+ (Test Directives): Move description of how timeout is determined.
+ (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
+ (C Tests): Correct gcc.misc-tests directory.
+ Framework tests now live in gcc.test-framework.
+
+2010-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/43379
+ * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
+ operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
+
+2010-03-16 Aldy Hernandez <aldyh@redhat.com>
+ Alexandre Oliva <aoliva@redhat.com>
+
+ PR tree-optimization/42917
+ * lambda-code.c (remove_iv): Skip debug statements.
+ (lambda_loopnest_to_gcc_loopnest): Likewise.
+ (not_interesting_stmt): Debug statements are not interesting.
+
+2010-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43051
+ PR debug/43092
+ * cselib.c (cselib_preserve_constants,
+ cfa_base_preserved_val): New static variables.
+ (preserve_only_constants): New function.
+ (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
+ clear its REG_VALUES. If cselib_preserve_constants, don't
+ empty the whole hash table, but preserve there VALUEs with constants,
+ cfa_base_preserved_val and cfa_base_preserved_val plus constant.
+ (cselib_preserve_cfa_base_value): New function.
+ (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
+ (cselib_init): Change argument to int bitfield. Set
+ cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
+ is in it.
+ (cselib_finish): Clear cselib_preserve_constants and
+ cfa_base_preserved_val.
+ * cselib.h (enum cselib_record_what): New enum.
+ (cselib_init): Change argument to int.
+ (cselib_preserve_cfa_base_value): New prototype.
+ * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
+ * dse.c (dse_step1): Likewise.
+ * cfgcleanup.c (thread_jump): Likewise.
+ * sched-deps.c (sched_analyze): Likewise.
+ * gcse.c (local_cprop_pass): Likewise.
+ * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
+ If FN is non-NULL, call the callback always and whenever it returns
+ non-NULL just return that. Only do rtx_equal_p if FN is NULL.
+ * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
+ * combine.c (propagate_for_debug_subst): Add old_rtx argument,
+ compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
+ * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
+ * var-tracking.c: Include recog.h.
+ (bb_stack_adjust_offset): Remove.
+ (vt_stack_adjustments): Don't call it, instead just gather the
+ adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
+ (adjust_stack_reference): Remove.
+ (compute_cfa_pointer): New function.
+ (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
+ (struct adjust_mem_data): New type.
+ (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
+ functions.
+ (get_address_mode): New function.
+ (replace_expr_with_values): Use it.
+ (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
+ Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
+ (adjust_sets): Remove.
+ (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
+ Use get_address_mode.
+ (get_adjusted_src): Remove.
+ (add_stores): Don't call it. Never reuse expr SET. Don't add extra
+ MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
+ (add_with_sets): Don't call adjust_sets.
+ (fp_setter, vt_init_cfa_base): New functions.
+ (vt_initialize): Change return type to bool. Move most of pool etc.
+ initialization to the beginning of the function from end. Pass
+ CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
+ If !frame_pointer_needed, call vt_stack_adjustment before mos
+ vector is filled, call vt_init_cfa_base if argp/framep has been
+ eliminated to sp. If frame_pointer_needed and argp/framep has
+ been eliminated to hard frame pointer, set
+ hard_frame_pointer_adjustment and call vt_init_cfa_base after
+ encountering fp setter in the prologue. For MO_ADJUST, call
+ log_op_type before pusing the op into mos vector, not afterwards.
+ Call adjust_insn before cselib_process_insn/add_with_sets,
+ call cancel_changes (0) afterwards.
+ (variable_tracking_main_1): Adjust for vt_initialize calling
+ vt_stack_adjustments and returning whether it succeeded or not.
+
+2010-03-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
+ debug statements.
+
+2010-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
+ has been set.
+ (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
+ drap_reg has not been set.
+
+2010-03-15 Michael Matz <matz@suse.de>
+
+ PR middle-end/43300
+ * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
+ use it to expand block copies.
+ (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
+ insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
+ (insert_value_copy_on_edge): Use store_expr for BLKmode values.
+
+2010-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43367
+ * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
+ elimination check.
+
+2010-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43317
+ * ipa-struct-reorg.c (create_new_general_access): Update stmt.
+
+2010-03-15 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/43141
+ * tree-sra.c (create_abstract_origin): New function.
+ (modify_function): Call create_abstract_origin.
+
+2010-03-15 Chris Demetriou <cgd@google.com>
+
+ * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
+ wasn't copied.
+
+2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43354
+ * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
+ call insert_out_of_ssa_copy for default definitions.
+
+2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (my_long_long): Defined.
+ (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
+ * graphite-sese-to-poly.c (my_long_long): Defined.
+ (scop_ivs_can_be_represented): Use it.
+
+2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
+ graphite-max-bbs-per-function, and loop-block-tile-size.
+ * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
+ with "maximum".
+ (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
+
+2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
+ forward declaration.
+ * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
+ (add_upper_bounds_from_estimated_nit): New.
+ (build_loop_iteration_domains): Use it.
+
+2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
+
+2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43306
+ * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
+ should be an INTEGER_CST. Also handle CASE_CONVERT.
+
+2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite.c (graphite_initialize): To bound the number of bbs per
+ function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
+ * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
+ * doc/invoke.texi: Document it.
+
+2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
+ * graphite-sese-to-poly.h (build_poly_scop): Same.
+
+2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
+ the number of parameters in the scop. Use as an upper bound
+ PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
+ * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
+ * doc/invoke.texi: Document it.
+
+2010-03-13 Jerry Quinn <jlquinn@optonline.net>
+
+ * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
+ * doc/c-tree.texi: Remove.
+ * doc/generic.texi: Merge c-tree.texi here.
+ * doc/gccint.texi (Trees): Remove menu entry.
+ (c-tree.texi): Remove @include.
+ * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
+ * doc/languages.texi (Reading RTL): Ditto.
+
+2010-03-12 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/42869
+ * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
+
+2010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR middle-end/42431
+ * config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
+ code added to work around reload clobbering CONST insns.
+
+2010-03-12 Jakub Jelinek <jakub@redhat.com>
+
+ * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
+ (cselib_preserve_definitely, cselib_clear_preserve): Remove.
+ (cselib_preserve_only_values): Remove retain argument, don't
+ traverse hash table with cselib_{preserve_definitely,clear_preserve}.
+ * cselib.h (cselib_preserve_only_values): Remove retain argument.
+ * var-tracking.c (micro_operation): Move insn field before union.
+ Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
+ (struct variable_tracking_info_def): Remove n_mos field, change
+ mos into a vector of micro_operations.
+ (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
+ (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
+ compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
+ changing into a vector.
+ (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
+ come before all other uops generated by add_stores.
+ (vt_add_function_parameters): Adjust for cselib_preserve_only_values
+ argument removal.
+ (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
+ a vector. Run just one pass over the bbs instead of separate counting
+ and computation phase.
+ (vt_finalize): Free VTI (bb)->mos vector instead of array.
+
+ PR debug/43329
+ * tree-inline.c (remap_decls): Put old_var rather than origin_var
+ into *nonlocalized_list vector.
+ * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
+ even if origin is non-NULL.
+ (gen_variable_die): Likewise.
+ (process_scope_var): Don't change origin.
+ (gen_decl_die): Likewise.
+ * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
+ before adding new edges instead of after it, fix moving over
+ debug stmts.
+
+2010-03-11 David S. Miller <davem@davemloft.net>
+
+ * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
+ of four.
+ * configure: Rebuild.
+
+2010-03-11 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/43257
+ * tree.c (assign_assembler_name_if_neeeded): New function.
+ (free_lang_data_in_cgraph): Assembler name assignment moved to the
+ above new function.
+ * tree.h (assign_assembler_name_if_neeeded): Declare.
+ * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
+ the function if needed.
+
+2010-03-11 Chris Demetriou <cgd@google.com>
+
+ * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
+ include/stdint-gcc.h, and include/stdint.h world-readable.
+
+2010-03-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43255
+ * tree-vrp.c (process_assert_insertions_for): Do not insert
+ asserts for trivial conditions.
+
+2010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR tree-optimization/43280
+ * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
+ generation. Move calculation of size out of the if branch.
+ (find_bswap): Modify compare number generation.
+
+2010-03-11 Richard Guenther <rguenther@suse.de>
+
+ PR lto/43200
+ * lto-streamer-in.c (maybe_fixup_decls): Simplify.
+ (input_gimple_stmt): Fixup handled component types during
+ operand read. Also fix up decls in ADDR_EXPRs.
+
+2010-03-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
+ * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
+
+2010-03-10 Jan Hubicka <jh@suse.cz>
+
+ PR c/43288
+ * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
+ * varasm.c (get_variable_section): Don't do that here...
+ (make_decl_rtl): ... and here.
+ (do_assemble_alias): Produce decl RTL.
+ (assemble_alias): Likewise.
+
+2010-03-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43290
+ * reg-notes.def (REG_CFA_SET_VDRAP): New note.
+ * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
+ of fde->vdrap_reg.
+ (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
+ (based_loc_descr): Only express drap or vdrap regno based expressions
+ using DW_OP_fbreg when not optimizing.
+ * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
+ make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
+ REG_CFA_SET_VDRAP note.
+
+2010-03-10 Alexander Monakov <amonakov@ispras.ru>
+
+ PR tree-optimization/43236
+ * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
+ error in calculation of base address in reverse iteration case.
+ (generate_builtin): Take number of latch executions if the statement
+ is in the latch.
+
+2010-03-10 Andrey Belevantsev <abel@ispras.ru>
+
+ PR middle-end/42859
+ * tree-eh.c: Include pointer-set.h.
+ (lower_eh_dispatch): Filter out duplicate case labels and
+ remove the unneeded edge when the label is unused. Return
+ true when some edges are removed.
+ (execute_lower_eh_dispatch): When any lowering resulted in
+ removing an edge, also delete unreachable blocks.
+
+2010-03-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/43287
+ * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
+ UNSPEC_MACHOPIC_OFFSET.
+
+2010-03-09 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR target/43294
+ * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
+ (m68k_delegitimize_address): New function.
+
+2010-03-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43299
+ * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
+
+ PR debug/43299
+ * var-tracking.c (adjust_sets): New function.
+ (count_with_sets, add_with_sets): Use it.
+ (get_adjusted_src): New inline function.
+ (add_stores): Use it.
+
+ PR debug/43304
+ * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
+ call cselib_dummy_expand_value_rtx_cb instead of
+ cselib_expand_value_rtx_cb.
+
+ PR debug/43293
+ * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
+ * config/i386/i386.c: Include debug.h and dwarf2out.h.
+ (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
+ and .cfi_endproc around the pic thunks.
+ (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
+ all queued unwind info register saves are saved before the call.
+ For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
+ considered as sp-=4 for unwind info and the pop as sp+=4 which
+ also clobbers dest, but doesn't actually restore it.
+
+ PR debug/43290
+ * config/i386/i386.c (ix86_get_drap_rtx): Don't set
+ RTX_FRAME_RELATED_P.
+
+2010-03-09 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
+ whitespaces in output template.
+
+2010-03-09 Jie Zhang <jie@codesourcery.com>
+
+ * ira-lives.c (check_and_make_def_use_conflict): Don't fall
+ out array boundary.
+
+2010-03-08 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
+ builtins.exp in a separate job.
+
+2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (add_param_constraints): Use
+ lower_bound_in_type and upper_bound_in_type.
+
+2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
+ instead of unsigned_type_node.
+
+2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
+ Reza Yazdani <reza.yazdani@amd.com>
+
+ PR middle-end/43065
+ * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
+ on pointer type parameters.
+
+2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ PR middle-end/42644
+ PR middle-end/42130
+ * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
+ handle conversions from pointer to integers.
+ (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
+ induction variable, to be able to work with code generated by CLooG.
+ * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
+ (build_poly_scop): Bail out if we cannot codegen a loop.
+
+2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
+ code generation with gloog_error.
+
+2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
+ Call fold_convert on all the returned values.
+ (expand_scalar_variables_expr): Pass to
+ expand_scalar_variables_ssa_name the type of the resulting expression.
+
+2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
+ ppl_min_for_le_pointset.
+ Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
+ * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
+
+2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (map_into_dep_poly): Removed.
+ (dependence_polyhedron_1): Use combine_context_id_scat.
+
+2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.h (struct poly_scattering): Add layout documentation.
+ (struct poly_bb): Same.
+ (combine_context_id_scat): New.
+
+2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/42326
+ * sese.c (name_defined_in_loop_p): Return false for default
+ definitions.
+
+2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
+ and clean up the logic.
+
+2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
+ early return.
+
+2010-03-08 Jakub Jelinek <jakub@redhat.com>
+
+ * var-tracking.c (remove_cselib_value_chains): Define only for
+ ENABLE_CHECKING.
+ (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
+ delete_slot_part, emit_notes_for_differences_1): Don't call
+ remove_cselib_value_chains here.
+ (set_slot_part, emit_notes_for_differences_2): Don't call
+ add_cselib_value_chains here.
+ (preserved_values): New vector.
+ (preserve_value): New function.
+ (add_uses, add_stores, vt_add_function_parameters): Use it
+ instead of cselib_preserve_value.
+ (changed_values_stack): New vector.
+ (check_changed_vars_0): New function.
+ (check_changed_vars_1, check_changed_vars_2): Use it.
+ (emit_notes_for_changes): Call set_dv_changed (*, false) on all
+ changed_values_stack VALUEs.
+ (vt_emit_notes): For all preserved_values call
+ add_cselib_value_chains. If ENABLE_CHECKING call
+ remove_cselib_value_chains before verifying value_chains is empty.
+ Initialize and free changed_values_stack.
+ (vt_initialize): Initialize preserved_values.
+ (vt_finalize): Free preserved_values.
+
+2010-03-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43269
+ * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
+ region detection.
+
+2010-03-08 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
+ (ipa_is_param_called): Removed.
+ * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
+ (ipa_print_node_params): Do not print the called flag.
+ (ipa_write_node_info): Do not stream the called flag.
+ (ipa_read_node_info): Likewise.
+
+2010-03-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43176
+ * Makefile.in (var-tracking.o): Depend on pointer-set.h.
+ * cselib.c (struct expand_value_data): Add dummy field.
+ (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
+ dummy to false.
+ (cselib_dummy_expand_value_rtx_cb): New function.
+ (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
+ any rtl.
+ * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
+ * var-tracking.c: Include pointer-set.h.
+ (variable): Change n_var_parts to char from int. Add
+ cur_loc_changed and in_changed_variables fields.
+ (variable_canonicalize): Remove.
+ (shared_var_p): New inline function.
+ (unshare_variable): Maintain cur_loc_changed and
+ in_changed_variables fields. If var was in changed_variables,
+ replace it there with new_var. Just copy cur_loc instead of
+ resetting it to something else.
+ (variable_union): Don't recompute cur_loc. Use shared_var_p.
+ (dataflow_set_union): Don't call variable_canonicalize.
+ (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
+ of their DEBUG_EXPR_TREE_DECLs.
+ (canonicalize_loc_order_check): Verify that cur_loc is NULL
+ and in_changed_variables and cur_loc_changed is false.
+ (variable_merge_over_cur): Clear cur_loc, in_changed_variables
+ and cur_loc_changed. Don't update cur_loc here.
+ (variable_merge_over_src): Don't call variable_canonicalize.
+ (dataflow_set_preserve_mem_locs): Use shared_var_p. When
+ removing loc that is equal to cur_loc, clear cur_loc,
+ set cur_loc_changed and ensure variable_was_changed is called.
+ (dataflow_set_remove_mem_locs): Use shared_var_p. Only
+ compare pointers in cur_loc check, if it is equal to loc,
+ clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
+ (variable_different_p): Remove compare_current_location argument,
+ don't compare cur_loc.
+ (dataflow_set_different_1): Adjust variable_different_p caller.
+ (variable_was_changed): If dv had some var in changed_variables
+ already, reset in_changed_variables flag for it and propagate
+ cur_loc_changed over to the new variable. On empty var
+ always set cur_loc_changed. Set in_changed_variables on whatever
+ var is added to changed_variables.
+ (set_slot_part): Clear cur_loc_changed and in_changed_variables.
+ Use shared_var_p. When removing loc that is equal to cur_loc,
+ clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
+ end, don't set it to something else, just call variable_was_changed.
+ (delete_slot_part): Use shared_var_p. When cur_loc equals to
+ loc being removed, clear cur_loc and set cur_loc_changed.
+ Set cur_loc_changed if all locations have been removed.
+ (struct expand_loc_callback_data): New type.
+ (vt_expand_loc_callback): Add dummy mode in which no rtxes are
+ allocated. Always create SUBREGs if simplify_subreg failed.
+ Prefer to use cur_loc, when that fails and still in
+ changed_variables (and seen first time) recompute it. Set
+ cur_loc_changed of variables which had to change cur_loc and
+ compute elcd->cur_loc_changed if any of the subexpressions used
+ had to change cur_loc.
+ (vt_expand_loc): Adjust to pass arguments in
+ expand_loc_callback_data structure.
+ (vt_expand_loc_dummy): New function.
+ (emitted_notes): New variable.
+ (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
+ that weren't used for any other decl in current
+ emit_notes_for_changes call call vt_expand_loc_dummy to update
+ cur_loc. For -fno-var-tracking-assignments, set cur_loc to
+ first loc_chain location if NULL before. Always use just
+ cur_loc instead of first loc_chain location. When cur_loc_changed
+ is false, when not --enable-checking=rtl just don't emit any note.
+ When rtl checking, compute the note and assert it is the same
+ as previous note. Clear cur_loc_changed and in_changed_variables
+ at the end before removing from changed_variables.
+ (check_changed_vars_3): New function.
+ (emit_notes_for_changes): Traverse changed_vars to call
+ check_changed_vars_3 on each changed var.
+ (emit_notes_for_differences_1): Clear cur_loc_changed and
+ in_changed_variables. Recompute cur_loc of new_var.
+ (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
+ (vt_emit_notes): Initialize and destroy emitted_notes.
+
+2010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ PR rtl-optimization/42220
+ * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
+ Use verify_reg_tracked to determine if we should use OP_OUT rather
+ than OP_INOUT.
+ (build_def_use): If we see an in-out operand for a register that we
+ know nothing about, treat is an output if possible, fail the block if
+ not.
+
+2010-03-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42897
+ * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
+ permanently.
+
+2010-03-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42897
+ * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
+ uses of relevant DEFs that are dead outside the loop too.
+
+2010-03-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * var-tracking.c (dataflow_set_merge): Swap src and src2.
+ Reverted:
+ 2010-01-13 Jakub Jelinek <jakub@redhat.com>
+ PR debug/41371
+ * var-tracking.c (values_to_unmark): New variable.
+ (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
+ values_to_unmark vector. Moved body to...
+ (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
+ instead queue it into values_to_unmark vector.
+ (vt_find_locations): Free values_to_unmark vector.
+
+2010-03-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
+ (site.exp): Export them when plugins are enabled.
+
+2010-03-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/42326
+ * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
+ that contain scevs.
+ (chrec_fold_multiply): Same.
+
+2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
+
+ PR c/43248
+ * c-decl.c (build_compound_literal): Return early if init is
+ an error_mark_node.
+
+2010-03-04 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/43164
+ PR tree-optimization/43191
+ * tree-sra.c (type_consists_of_records_p): Reject records with
+ zero-size bit-fields at the end.
+
+2010-03-04 Mike Stump <mikestump@comcast.net>
+
+ * Makefile.in (TAGS): Remove *.y.
+
+2010-03-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/40761
+ * tree-ssa-pre.c (compute_antic): Walk reverse postorder
+ in reverse order.
+ (my_rev_post_order_compute): New function.
+ (init_pre): Call it.
+
+2010-03-04 Changpeng Fang <changpeng.fang@amd.com>
+
+ PR middle-end/43209
+ * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
+ decrease the cost of an IV candidate when the cost is infinite.
+
+2010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
+ Use '3DNow!' for the extension of that name, ensure normal space
+ after the string.
+ * doc/invoke.texi (i386 and x86-64 Options): Likewise.
+
+2010-03-03 Jeff Law <law@redhat.com>
+
+ * PR middle-end/32693
+ * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
+ than gen_rtx_SUBREG.
+ (extract_bit_field_1): Likewise.
+
+2010-03-03 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/sourcebuild.texi (Test directives): Document that arguments
+ include-opts and exclude-opts are now optional for dg-skip-if,
+ dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
+
+2010-03-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/12909
+ * cgraph.h (varpool_node): Add extra_name field.
+ * varpool.c (varpool_extra_name_alias): New.
+ (varpool_assemble_decl): Emit extra name aliases.
+ (varpool_mark_needed_node): Look past an extra name alias.
+ * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
+ * lto-streamer-in.c (lto_input_tree): Read it.
+ * lto-streamer-out.c (output_unreferenced_globals): Write it.
+
+2010-03-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
+ (sparc*-*-solaris2*): ...this.
+
+2010-03-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43229
+ * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
+ WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
+ ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
+ FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
+
+ PR debug/43237
+ * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
+ fallthrough to default handling, just with want_address 0 instead of 2.
+ For single element lists, add_AT_loc directly, otherwise create an
+ artificial variable DIE and stick location list to it.
+
+ PR debug/43177
+ * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
+ (VAL_EXPR_HAS_REVERSE): Define.
+ (reverse_op): New function.
+ (add_stores): For reversible operations add an extra MO_VAL_USE.
+
+2010-03-02 Jason Merrill <jason@redhat.com>
+
+ * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
+
+2010-03-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
+ (sparc64-*-linux*): Likewise.
+ (sparc64-*-solaris2*): Include assembler files before linker ones.
+ (sparc-*-solaris2*): Simplify and reorder to match previous case.
+ * config/sparc/gas.h: Delete.
+ * config/sparc/sol2-64.h: Add copyright notice.
+ * config/sparc/sol2-gas-bi.h: Likewise.
+ * config/sparc/sol2-gld.h: Likewise.
+ * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
+ * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
+ * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
+ * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
+ (sparc_elf_asm_named_section): Rename into...
+ (sparc_solaris_elf_asm_named_section): ...this. Always define.
+
+2010-03-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (override_options): Fix -mtune error message.
+
+2010-03-02 Jeff Law <law@redhat.com>
+
+ PR middle-end/42431
+ * reload1.c (rtx_p, substitute_stack): Declare.
+ (substitute): Record addresses of changed rtxs.
+ (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
+ Restore the original rtx when complete.
+ (reload): Free subsitute_stack when complete.
+
+2010-03-02 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/gccint.texi (menu): Add Testsuites as a chapter.
+ * doc/sourcebuild.texi (Testsuites): Move up a level to be a
+ new chapter.
+ (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
+ LTO Testing, gcov Testing, profopt Testing, compat Testing,
+ Torture Tests): Change from subsection to section.
+
+2010-03-02 Jakub Jelinek <jakub@redhat.com>
+ Steven Bosscher <steven@gcc.gnu.org>
+
+ * var-tracking.c (vt_initialize): Scan insns in ebb chunks
+ instead of bb.
+
+2010-03-02 Reza Yazdani <reza.yazdani@amd.com>
+
+ PR middle-end/42640
+ * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
+ the assignment from the new induction variable to the assignment
+ of the value from the original loop PHI function.
+
+2010-03-01 Janis Johnson <janis187@us.ibm.com>
+ Daniel Jacobowitz <dan@codesourcery.com>
+
+ * doc/sourcebuild.texi (Test directives): Clarify options to
+ dg-skip-if.
+
+2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
+ Disable cfi directives unless GCC and gas agree on using read-only
+ .eh_frame sections for 64-bit.
+ * configure: Regenerate.
+
+2010-03-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43220
+ * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
+ BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
+
+2010-03-01 Richard Guenther <rguenther@suse.de>
+ Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/41250
+ * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
+ gimplified parameters.
+
+2010-03-01 Christian Bruel <christian.bruel@st.com>
+
+ * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
+
+2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
+
+2010-03-01 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/43213
+ * expr.c (expand_assignment): Use the alias-oracle to tell
+ if the rhs aliases the result decl.
+
+2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR pch/14940
+ * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
+ to sol_gt_pch_get_address.
+ (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
+ 64-bit, SPARC and x86.
+ (sol_gt_pch_get_address): New function.
+
+2010-03-01 Marco Poletti <poletti.marco@gmail.com>
+
+ * toplev.h (inform_n, error_n): Declare.
+ * diagnostic.c (inform_n, error_n): New function.
+
+2010-03-01 Jakub Jelinek <jakub@redhat.com>
+
+ * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
+ has no rtl yet when processing local_decls, queue it and recheck
+ if deferred stack allocation hasn't assigned it rtl.
+
+2010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (unspec_bbr_uid): New.
+ (gen_block_redirect): Use it instead of INSN_UID.
+ (gen_far_branch): Likewise.
+
+2010-02-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
+ it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
+
+2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/invoke.texi (Warning Options, RX Options): Fix typos.
+ (Warning Options): -Wno-conversion-null is valid for
+ Objective-C++ as well.
+ * doc/tm.texi (Named Address Spaces): Likewise.
+ * doc/plugins.texi (Plugins): Replace TABs with spaces.
+ * doc/tree-ssa.texi (Tree SSA): Likewise.
+
+2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/43202
+ * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
+ by default. Don't set the default arch for
+ i[34567]86-*-darwin*|x86_64-*-darwin*.
+
+2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/43202
+ * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
+ default. Set the default 32bit/64bit archs with $with_arch
+ instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
+
+2010-02-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43186
+ * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
+ * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
+ * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
+ unroller iterations.
+
+2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
+ required and i[34567]86-*-* targets don't support 64bit ISA.
+
+2010-02-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/43096
+ * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
+ the same alias set.
+
+2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Set the default arch at least to Prescott for
+ i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
+ if SSE math is enabled.
+
+2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * diagnostic.c (diagnostic_initialize): Update.
+ (diagnostic_report_diagnostic): Test inhibit_notes_p for
+ informative notes.
+ * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
+ (diagnostic_inhibit_notes): New.
+ * toplev.c (process_options): inhibit notes with -fcompare-debug.
+
+2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/20631
+ * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
+ * doc/standards.texi: Likewise.
+ * doc/extend.texi: Likewise.
+ * doc/trouble.texi: Likewise.
+ * doc/cppopts.texi: Likewise.
+ * doc/install.texi: Likewise.
+ * c.opt (std=c90,std=gnu90): New options.
+ * c-opts.c (c_common_handle_option): Handle them.
+
+2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/24577
+ * c-decl.c (undeclared_variable): Use an informative note.
+
+2010-02-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43186
+ * gimple.h (gimple_fold): Remove.
+ * gimple.c (gimple_fold): Remove. Inline into single user ...
+ * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
+ Try harder for conditions.
+
+2010-02-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43190
+ * function.c (used_types_insert): Don't skip through named pointer
+ types. Don't use TYPE_MAIN_VARIANT if the original type has a name
+ and it is different from the main variant's type.
+
+2010-02-26 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (sminsi3): Remove bogus alternative.
+
+2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Support --with-fpmath=sse for x86.
+
+ * config/i386/ssemath.h: New.
+
+ * doc/install.texi (--with-fpmath=sse): Documented.
+
+2010-02-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43188
+ * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
+ vector types of over-aligned element type.
+
+2010-02-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/43175
+ * config/i386/i386.c (expand_vec_perm_blend): Use correct
+ operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
+
+2010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
+
+2010-02-26 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
+ * var-tracking.c: Include diagnostic.h.
+ (debug_dv): New function.
+ (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
+
+ PR debug/43160
+ * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
+ (add_value_chain, add_value_chains, remove_value_chain,
+ remove_value_chains): Handle DEBUG_EXPRs.
+ (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
+
+ PR debug/43161
+ * regcprop.c (struct queued_debug_insn_change): New type.
+ (struct value_data_entry): Add debug_insn_changes field.
+ (struct value_data): Add n_debug_insn_changes field.
+ (debug_insn_changes_pool): New variable.
+ (free_debug_insn_changes, apply_debug_insn_changes,
+ cprop_find_used_regs_1, cprop_find_used_regs): New functions.
+ (kill_value_one_regno): Call free_debug_insn_changes if needed.
+ (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
+ fields.
+ (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
+ changes for them.
+ (copyprop_hardreg_forward_1): Don't call apply_change_group for
+ DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
+ changes, call cprop_find_used_regs via note_stores.
+ (copyprop_hardreg_forward): When copying vd from predecessor
+ which has any queued DEBUG_INSN changes, make sure the pointers are
+ cleared. At the end call df_analyze and then if there are any
+ DEBUG_INSN changes queued at the end of some basic block for still
+ live registers, apply them.
+ (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
+
+2010-02-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
+ (arm*-*-*): Ditto.
+
+2010-02-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
+ targets. Set the default with_cpu/with_arch from arch/cpu.
+ Allow x86-64 and native for with_cpu/with_arch.
+
+2010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
+
+ * ebitmap.c: Change calls to verify_popcount with calls to
+ sbitmap_verify_popcount.
+ (ebitmap_clear_bit): Fixed map->cacheindex test and
+ map>cache update when bit clearing results in an empty
+ element.
+
+2010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/43154
+ * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
+ (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
+ and support both V2DF and V2DI modes.
+ (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
+ support both V2DF and V2DI modes.
+ (general): Delete trailing whitespace from a few patterns.
+
+ * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+ V2DF/V2DI interleave high/low builtins.
+
+ * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
+ new VSX builtins.
+
+ * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
+ interleave high/low functions.
+
+2010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
+ #pragma extern_prefix.
+
+2010-02-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43166
+ * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
+ BLKmode, assert op0 is a MEM and just adjust its mode.
+
+ PR debug/43165
+ * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
+ if bitpos isn't multiple of mode's bitsize.
+
+2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * c.opt (-ftemplate-depth=): New.
+ (-ftemplate-depth-): Deprecate.
+ * optc-gen.awk: Handle -ftemplate-depth=.
+ * opth-gen.awk: Likewise.
+ * c-opts.c (c_common_handle_option): Likewise.
+ * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
+
+2010-02-24 Jason Merrill <jason@redhat.com>
+
+ * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
+
+2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * cfg.c (alloc_aux_for_block): Remove inline.
+ (alloc_aux_for_edge): Likewise.
+
+2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
+
+2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
+ * config/i386/sol2-gas.h: New file.
+ * config.gcc (i[34567]86-*-solaris2*): Use it.
+
+2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/43128
+ * c-typeck.c (ep_convert_and_check): New.
+ (build_conditional_expr): Use it.
+ (build_binary_op): Likewise.
+
+2010-02-24 Jakub Jelinek <jakub@redhat.com>
+
+ * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
+
+ PR debug/43150
+ * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
+ bounds even for -O+.
+ * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
+ expr needs to have DECL_NAME set.
+
+2010-02-24 Nick Clifton <nickc@redhat.com>
+
+ * config/mep/mep.c: Include gimple.h.
+ (mep_function_uses_sp): Delete unused function.
+ (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
+ parameters. Use unsigned integers to count args. Return a
+ NULL_RTX instead of an error_mark_node. Toidy up formatting.
+
+2010-02-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/43107
+ * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
+ greater or equal to nelt instead of 2 * nelt.
+ (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
+ with nelt - 1.
+
+2010-02-23 Jason Merrill <jason@redhat.com>
+
+ PR debug/42800
+ * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
+ in cfun->local_decls even if they have register types.
+
+ PR c++/42837
+ * stor-layout.c (place_field): Don't warn about unnecessary
+ DECL_PACKED if the type is packed.
+
+2010-02-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/43139
+ * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
+ GOTOFF relocs, even when the base reg isn't pic pointer.
+
+2010-02-23 Michael Matz <matz@suse.de>
+
+ PR debug/43077
+ * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
+ (expand_gimple_basic_block): Generate and use debug temps if there
+ are debug uses left after the last real use of TERed ssa names.
+ Unlink debug immediate uses when they are expanded.
+
+2010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 43123
+ * config/i386/i386.c (override_options): Reorganise to provide
+ better error messages.
+
+2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43083
+ * graphite-scop-detection.c (create_single_exit_edge): Move
+ the call to find_single_exit_edge to....
+ (create_sese_edges): ...here. Don't handle multiple edges
+ exiting the function.
+ (build_graphite_scops): Don't handle multiple edges
+ exiting the function.
+
+2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43097
+ * sese.c (get_rename): Assert that old_name is an SSA_NAME.
+ (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
+
+2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/43026
+ * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
+
+2010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/43126
+ * c-typeck.c (convert_arguments): Print declaration location.
+ * c-common.c (validate_nargs): Rename as
+ builtin_function_validate_nargs.
+ (check_builtin_function_arguments): Update.
+
+2010-02-22 Richard Guenther <rguenther@suse.de>
+
+ PR lto/43045
+ * tree-inline.c (declare_return_variable): Use the type of
+ the call stmt lhs if available.
+
+2010-02-22 Duncan Sands <baldrick@free.fr>
+
+ * passes.c (register_pass): Always consider all pass lists when
+ ref_pass_instance_number is zero.
+
+2010-02-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42749
+ * tree-tailcall.c (adjust_return_value_with_ops): Drop update
+ parameter. Do arithmetic in the original type.
+ (update_accumulator_with_ops): Likewise.
+ (adjust_accumulator_values): Adjust.
+
+2010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
+ (QI to BLKmode splitter): New splitter.
+
+2010-02-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (initial_ix86_tune_features): Turn on
+ X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
+
+2010-02-22 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
+
+2010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
+
+ Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
+ * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
+ ($(T)crti.o, $(T)crtn.o): Remove rules.
+
+2010-02-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/35259
+ * doc/invoke.texi (-fassociative-math): Document that this
+ option is automatically enabled for Fortran.
+
+2010-02-20 David S. Miller <davem@davemloft.net>
+
+ * configure.ac: Test if linker and assembler properly support
+ GOTDATA_OP relocations.
+ * configure: Rebuild.
+ * config.in: Likewise.
+ * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
+ (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
+ (movsi_high_pic): Likewise.
+ (movdi_lo_sum_pic): Likewise.
+ (movdi_high_pic): Likewise.
+ (movsi_pic_gotdata_op): New pattern.
+ (movdi_pic_gotdata_op): Likewise.
+ * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
+ emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
+
+2010-02-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/43067
+ * config/i386/sse.md (xop_mulv2div2di3_low): Change type
+ attribute to ssemul.
+ (xop_mulv2div2di3_high): Ditto.
+
+2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/35669
+ * c.opt (Wconversion-null): New option.
+ * doc/invoke.texi (Wconversion-null): Document.
+
+2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * common.opt (Wlarger-than-): Add Undocumented.
+
+2010-02-19 Mike Stump <mikestump@comcast.net>
+
+ * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
+
+2010-02-19 Jason Merrill <jason@redhat.com>
+
+ PR target/40332
+ * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
+ * configure: Likewise.
+
+2010-02-20 Alan Modra <amodra@gmail.com>
+
+ PR middle-end/42344
+ * cgraph.h (cgraph_make_decl_local): Declare.
+ * cgraph.c (cgraph_make_decl_local): New function.
+ (cgraph_make_node_local): Use it.
+ * cgraphunit.c (cgraph_function_versioning): Likewise.
+ * ipa.c (function_and_variable_visibility): Likewise.
+
+2010-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/43121
+ * except.c (sjlj_emit_function_enter): Don't call
+ add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
+ directly.
+ * rtl.h (add_reg_br_prob_note): Remove prototype.
+
+2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 41779
+ * c-common.c (conversion_warning): Remove widening conversions
+ before checking the conversion of integers to reals.
+
+2010-02-19 Mike Stump <mikestump@comcast.net>
+
+ PR middle-end/43125
+ * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
+
+ PR objc/43061
+ * cgraphunit.c (process_function_and_variable_attributes): Check
+ DECL_PRESERVE_P instead of looking up attribute "used".
+ * ipa-pure-const.c (check_decl): Likewise.
+ * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
+ * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
+ * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
+ instead of attribute "used".
+ * config/sol2-c.c (solaris_pragma_init): Likewise.
+ (solaris_pragma_fini): Likewise.
+
+2010-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
+ Use XCNEW instead of xcalloc.
+ (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
+ XNEW instead of xmalloc.
+ (get_fields): Use XNEWVEC instead of xmalloc.
+
+ PR debug/43084
+ * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
+ populate vars array.
+ (create_new_general_access): For debug stmts just reset value.
+ (get_stmt_accesses): For accesses within debug stmts just record them
+ using add_access_to_acc_sites instead of preventing the peeling or
+ counting them as accesses.
+
+ PR middle-end/42233
+ * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
+
+2010-02-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42916
+ * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
+ instructions.
+
+2010-02-19 Andreas Schwab <schwab@linux-m68k.org>
+
+ * configure.ac: Replace all uses of changequote in macro arguments
+ with proper quoting.
+
+2010-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/42233
+ * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
+
+2010-02-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42944
+ * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
+ test for aliasing with errno.
+
+2010-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/42233
+ * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
+ do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
+ * dojump.c: Include output.h.
+ (inv): New inline function.
+ (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
+ do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
+ do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
+ do_jump_by_parts_equality, do_compare_and_jump): Add PROB
+ argument, pass it down to other calls.
+ (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
+ add REG_BR_PROB note to the conditional jump.
+ * cfgexpand.c (add_reg_br_prob_note): Removed.
+ (expand_gimple_cond): Don't call it, add the probability
+ as last argument to jumpif_1/jumpifnot_1.
+ * Makefile.in (dojump.o): Depend on output.h.
+ * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
+ callers.
+ * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
+ * stmt.c (do_jump_if_equal): Likewise.
+ * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
+ * loop-unswitch.c (compare_and_jump_seq): Likewise.
+ * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
+ Likewise.
+ * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
+ * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
+ jumpifnot_1 callers.
+ (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
+ callers.
+ (store_expr): Adjust jumpifnot caller.
+ (store_constructor): Adjust jumpif caller.
+
+ PR middle-end/42233
+ * gimplify.c (gimple_boolify): For __builtin_expect call
+ gimple_boolify also on its first argument.
+
+2010-02-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * configure.ac (gnu-unique-object): Wrap regexps using [] in
+ changequote block.
+ (__stack_chk_fail): Ditto. Remove quadrigraphs.
+ * configure: Regenerated.
+
+2010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
+ lang_hooks.types_compatible_p instead of comptypes.
+
+2010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
+ (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
+ if __prefer_thumb__ is defined.
+
+2010-02-18 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/43066
+ * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
+ array with zero-sized element type.
+
+2010-02-18 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (add_var_loc_to_decl): Change last argument to
+ rtx, allocate struct var_loc_node here and return it to the
+ caller, and only if it is actually needed.
+ (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
+ move it earlier and return immediately if it returns NULL.
+
+2010-02-17 Mikael Pettersson <mikpe@it.uu.se>
+
+ * config/sparc/gas.h: New file. Restore
+ TARGET_ASM_NAMED_SECTION to its ELF default.
+ * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
+ check !HAVE_GNU_AS.
+ * config/sparc/sparc.c (sparc_elf_asm_named_section):
+ Likewise. Add ATTRIBUTE_UNUSED to prototype.
+ * config.gcc (sparc*-*-linux*): Include sparc/gas.h
+ after sparc/sysv4.h.
+
+2010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
+
+2010-02-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
+ patterns from predicated pattern.
+
+2010-02-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/43103
+ * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
+ for insn mnemonic suffix.
+
+2010-02-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
+ to loop PHI nodes.
+
+2010-02-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/42918
+ * caller-save.c (save_call_clobbered_regs): If BB ends with
+ a DEBUG_INSN, move any notes in between last real insn and the last
+ DEBUG_INSN after the last DEBUG_INSN.
+
+2010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
+ Fix return type. Fix argument type. Explain meaning of return value.
+
+2010-02-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/41043
+ * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
+ (vrp_visit_assignment_or_call): Do not ask SCEV for regular
+ statements ...
+ (vrp_visit_phi_node): ... but only for loop PHI nodes.
+
+2010-02-16 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/43074
+ * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
+ * tree-vect-loop.c (vect_analyze_loop_operations): Add
+ vectorizable cycles in hybrid SLP check.
+ * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
+
+2010-02-16 Richard Guenther <rguenther@suse.de>
+
+ * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
+ (true_dependence): If memrefs_conflict_p computes must-alias
+ trust it. Move TBAA check after offset-based disambiguation.
+ (canon_true_dependence): Likewise.
+
+2010-02-16 Alexandre Oliva <aoliva@redhat.com>
+
+ * params.def (PARAM_MAX_VARTRACK_SIZE): New.
+ * doc/invoke.texi: Document it.
+ * var-tracking.c: Include toplev.h and params.h.
+ (vt_find_locations): Return bool indicating success. Compute
+ hash sizes unconditionally. Check new parameter, report.
+ (variable_tracking_main_1): Check vt_find_locations results and
+ retry. Renamed from...
+ (variable_tracking_main): ... this. New wrapper to preserve
+ flag_var_tracking_assignments.
+ * Makefile.in (var-tracking.o): Adjust dependencies.
+
+2010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR target/42854
+ * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
+ if weak_import attribute is present.
+ * config/darwin.c (machopic_select_section): Likewise.
+
+2010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
+ (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
+ (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
+ (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
+
+ * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
+ types.
+
+ * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
+ Fix argument types.
+
+ * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
+ Rewrite text to refer to the names.
+
+2010-02-15 Sebastian Pop <sebastian.pop@amd.com>
+
+ * config/i386/i386-builtin-types.def
+ (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
+ (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
+ (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
+ (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
+ * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
+ IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
+ IX86_BUILTIN_VPERMIL2PS256.
+ (MULTI_ARG_4_DF2_DI_I): Defined.
+ (MULTI_ARG_4_DF2_DI_I1): Defined.
+ (MULTI_ARG_4_SF2_SI_I): Defined.
+ (MULTI_ARG_4_SF2_SI_I1): Defined.
+ (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
+ __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
+ __builtin_ia32_vpermil2ps256.
+ (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
+ MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
+ MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
+ (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
+ MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
+ MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
+ CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
+ CODE_FOR_xop_vpermil2v8sf3.
+ * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
+ * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
+ * config/i386/xopintrin.h (_mm_permute2_pd): New.
+ (_mm256_permute2_pd): New.
+ (_mm_permute2_ps): New.
+ (_mm256_permute2_ps): New.
+
+2010-02-15 Nick Clifton <nickc@redhat.com>
+
+ * config/h8300/h8300.c (h8300_push_pop): Use bool type for
+ boolean parameters. Use emit_jump_insn when emitting a pop
+ instruction containing a return insn.
+ (push): Use 'true' rather than '1' as second parameter to F.
+ (h8300_expand_prologue): Likewise.
+ Use 'true' and 'false' for boolean parameters to h8300_push_pop.
+ (h8300_expand_epilogue): Likewise.
+
+2010-02-15 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/43068
+ * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
+ if that is zero.
+
+2010-02-15 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
+ delta.
+
+2010-02-14 Marco Poletti <poletti.marco@gmail.com>
+
+ * intl.c (fake_ngettext): New function.
+ * intl.h (fake_ngettext): Declare.
+ (ngettext): Define macro.
+ * collect2.c (notice_translated): New function.
+ (main): Use notice_translated and ngettext.
+ * collect2.h (notice_translated): Declare.
+
+2010-02-14 Steven Bosscher <steven@gcc.gnu.org>
+
+ * reorg.c (delete_computation): Comment fixes.
+ * caller-save.c (setup_save_areas): Idem.
+ * sel-sched-dump.c (dump_lv_set): Idem.
+ * rtl.def: Idem.
+
+2010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_sched_init): New function.
+ (TARGET_SCHED_INIT): Target hook defined.
+
+2010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+ Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
+
+ PR target/42982
+ Partial revert of unintended change in fix for PR41605.
+ * config/darwin.h: Fix typo.
+ * config/darwin9.h: Same.
+
+2010-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ * c-pch.c (pch_init): Clear v.
+
+2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/42930
+ * graphite-scop-detection.c (graphite_can_represent_scev): Call
+ graphite_can_represent_init for MULT_EXPR.
+
+2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/42914
+ PR middle-end/42530
+ * graphite-sese-to-poly.c (remove_phi): New.
+ (translate_scalar_reduction_to_array): Call remove_phi.
+
+2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/42771
+ * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
+ * graphite-clast-to-gimple.h (gloog): Update declaration.
+ * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
+ * graphite-poly.h (struct poly_bb): Add missing comments.
+ (struct scop): Add poly_scop_p field.
+ (POLY_SCOP_P): New.
+ * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
+ * graphite.c (graphite_transform_loops): Build the polyhedral
+ representation for each scop before code generation.
+ * sese.c (rename_variables_in_operand): Removed.
+ (rename_variables_in_expr): Return the renamed expression.
+ (rename_sese_parameters): New.
+ * sese.h (rename_sese_parameters): Declared.
+
+2010-02-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42998
+ * tree-ssa-pre.c (create_expression_by_pieces): Treat
+ POINTER_PLUS_EXPR properly.
+
+2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
+ Changpeng Fang <changpeng.fang@amd.com>
+
+ PR middle-end/40886
+ * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
+ the cost of an IV candidate when the IV is used in a test against zero.
+
+ * gcc.dg/tree-ssa/ivopts-3.c: New.
+
+2010-02-11 Richard Guenther <rguenther@suse.de>
+
+ PR lto/41664
+ * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
+ pointer-vs-decl case by swapping refs. Handle some cases
+ of pointer-vs-decl disambiguations more conservatively.
+ * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
+ to false after expanding.
+
+2010-02-11 Richard Guenther <rguenther@suse.de>
+
+ PR driver/43021
+ * gcc.c (process_command): Handle LTO file@offset case more
+ appropriately.
+
+2010-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
+ modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
+ of DEBUG_INSNs.
+ (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
+
+ * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
+ if MEM's mode size isn't DWARF2_ADDR_SIZE.
+ (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
+ Optimize eq/ne comparisons when both arguments are known to be
+ zero-extended.
+ (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
+ Don't mask operands unnecessarily if they are known to be already
+ zero-extended.
+
+2010-02-10 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
+ instead of loop.
+
+2010-02-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43017
+ * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
+ for wrapping signed arithmetic.
+
+2010-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43010
+ * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
+ if no debug info should be emitted for it.
+
+2010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
+ note when flag_exceptions is set.
+
+2010-02-10 Duncan Sands <baldrick@free.fr>
+
+ * Makefile.in (PLUGIN_HEADERS): Add debug.h.
+
+2010-02-10 Richard Guenther <rguenther@suse.de>
+
+ PR c/43007
+ * tree.c (get_unwidened): Handle constants.
+ * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
+
+2010-02-10 Martin Jambor <mjambor@suse.cz>
+
+ PR lto/42985
+ * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
+ check for variable argument counts independently.
+
+2010-02-10 Christian Bruel <christian.bruel@st.com>
+
+ PR target/42841
+ * config/sh/sh.c (find_barrier): Increase length for non delayed
+ conditional branches.
+
+2010-02-10 Christian Bruel <christian.bruel@st.com>
+
+ * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
+
+2010-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ * builtins.c (set_builtin_user_assembler_name): Also handle
+ ffs if int is smaller than word.
+
+2010-02-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/42973
+ * ira-conflicts.c (get_dup): Remove.
+ (process_reg_shuffles): Add new parameter. Use it as an
+ additional guard for copy generation.
+ (add_insn_allocno_copies): Rewrite.
+
+2010-02-09 Alexander Monakov <amonakov@ispras.ru>
+
+ * common.opt (fsched2-use-traces): Preserved for backward
+ compatibility.
+ * doc/invoke.texi: Remove the documentation about option
+ -fsched2-use-traces.
+ * sched-rgn.c (rest_of_handle_sched2): Remove usage of
+ flag_sched2_use_traces.
+ * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
+ the backward compatibility flag section.
+
+2010-02-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43008
+ * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
+ make HEAP variables initialized from global memory if they
+ are not known builtin functions.
+ (find_func_aliases): Adjust.
+
+2010-02-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43000
+ * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
+ arithmetic manually.
+
+2010-02-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/42931
+ * tree-loop-linear.c (try_interchange_loops): Don't call
+ double_int_mul if estimated_loop_iterations failed.
+
+2010-02-08 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/42898
+ * tree-sra.c (build_accesses_from_assign): Do not mark in
+ should_scalarize_away_bitmap if stmt has volatile ops.
+ (sra_modify_assign): Do not process assigns piecemeal if if stmt
+ has volatile ops.
+
+2010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
+
+2010-02-07 Adam Nemet <adambnmet@gmail.com>
+
+ * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
+ before the pattern.
+
+2010-02-07 Andrew Pinski <pinskia@gmail.com>
+
+ PR middle-end/42946
+ * df-core.c (df_finish_pass): Change type of saved_flags to int.
+
+2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/42988
+ * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
+ to unknown_dependence.
+ (graphite_legal_transform_dr): Handle the unknown_dependence.
+ (graphite_carried_dependence_level_k): Same.
+
+2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
+
+ * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
+
+2010-02-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42991
+ * expr.c (get_inner_reference): Always initialize *pbitsize.
+
+2010-02-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42956
+ * gimplify.c (gimple_fold_indirect_ref): Avoid generating
+ new ARRAY_REFs on variable size element or minimal index arrays.
+ Complete.
+ * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
+ gimple_fold_indirect_ref.
+
+2010-02-06 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/42957
+ * arm.c (arm_override_options): Just return if the user has specified
+ an invalid fpu name.
+
+2010-02-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/42870
+ * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
+ i386_pe_maybe_record_exported_symbol.
+
+2010-02-05 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/42924
+ * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
+ (pa_delegitimize_address): New function.
+
+2010-02-05 Ozkan Sezer <sezeroz@gmail.com>
+
+ * config/i386/msformat-c.c (ms_printf_length_specs): Set the
+ scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
+
+2010-02-05 Richard Guenther <rguenther@suse.de>
+
+ PR lto/42762
+ * lto-streamer-in.c (get_resolution): Deal with references
+ to undefined functions.
+
+2010-02-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
+ (fold_const_aggregate_ref): Likewise.
+ (ccp_fold_stmt): Substitute loads.
+ (maybe_fold_reference): Verify types before substituting.
+ Unshare properly.
+ (fold_gimple_assign): Unshare properly.
+ (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
+
+2010-02-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rs6000/rs6000.c (rs6000_override_options): Invert check
+ for rs6000_gen_cell_microcode.
+
+2010-02-04 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/42952
+ * dse.c (const_or_frame_p): Remove MEM handling.
+
+2010-02-04 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
+ (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
+ (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
+ (mn10300_asm_output_mi_thunk): New function.
+ (mn10300_can_output_mu_thunk): New function.
+ * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
+ (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
+ (FUNCTION_ARG): Delete incorrect comment.
+
+2010-02-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/40138
+ * fold-const.c (operand_equal_p): Handle erroneous types.
+
+2010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
+
+ * config/h8300/h8300.md (can_delay): Fix attibute condition.
+
+2010-02-03 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/42941
+ * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
+ of xmalloc.
+
+2010-02-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/35652
+ * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
+
+2010-02-03 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42896
+ * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
+ (cselib_reset_table): Renamed from...
+ (cselib_reset_table_with_next_value): ... this.
+ (cselib_get_next_uid): Renamed from...
+ (cselib_get_next_unknown_value): ... this.
+ * cselib.c (next_uid): Renamed from...
+ (next_unknown_value): ... this.
+ (cselib_clear_table): Adjust.
+ (cselib_reset_table): Adjust. Renamed from...
+ (cselib_reset_table_with_next_value): ... this.
+ (cselib_get_next_uid): Adjust. Renamed from...
+ (cselib_get_next_unknown_value): ... this.
+ (get_value_hash): Use hash.
+ (cselib_hash_rtx): Likewise.
+ (new_cselib_val): Adjust. Set and dump uid.
+ (cselib_lookup_mem): Pass next_uid as hash.
+ (cselib_subst_to_values): Likewise.
+ (cselib_log_lookup): Dump uid.
+ (cselib_lookup): Pass next_uid as hash. Adjust.
+ (cselib_process_insn): Adjust.
+ (cselib_init): Initialize next_uid.
+ (cselib_finish): Adjust.
+ (dump_cselib_table): Likewise.
+ * dse.c (canon_address): Dump value uid.
+ * print-rtl.c (print_rtx): Print value uid.
+ * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
+ (dvuid): New type.
+ (dv_uid): New function, sort of renamed from...
+ (dv_htab_hash): ... this, reimplemented in terms of it and...
+ (dv_uid2hash): ... this. New.
+ (variable_htab_eq): Drop excess assertions.
+ (tie_break_pointers): Removed.
+ (canon_value_cmp): Compare uids.
+ (variable_post_merge_New_vals): Print uids.
+ (vt_add_function_parameters): Adjust.
+ (vt_initialize): Reset table. Adjust.
+
+2010-02-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42944
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
+ (call_may_clobber_ref_p_1): Likewise. Properly handle
+ malloc and calloc clobbering errno.
+
+2010-02-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * doc/invoke.texi: Fix name of sched1 dump.
+
+ * opts.c (decode_options): Set flag_tree_switch_conversion
+ only conditionally on optimize >= 2.
+
+ * gcse.c: Assorted comment fixes in pass description.
+
+2010-02-03 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
+ nop padding in order to maintain alignment of storage location of
+ target function address.
+ (moxie_trampoline_init): Store target function address at newly
+ aligned location.
+ * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
+ to 32.
+ (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
+
+2010-02-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42927
+ * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
+
+2010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc: Reenable check for obsolete targets.
+ Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
+ mips-sgi-irix6.[0-4]*.
+
+2010-02-02 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
+ constant size of 4 as being the same as 0.
+ * doc/invoke.texi (RX Options): Document that -mmax-constant-size
+ can take values in the range 0..4.
+
+2010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR java/41991
+ * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
+ as _darwin10_Unwind_FindEnclosingFunction().
+ * libgcc-libsystem.ver: New.
+
+2010-02-01 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/41399
+ * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
+ implicitly set registers.
+
+2010-02-01 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
+ (arm_override_options): Allow automatic selection of the thread
+ pointer register if thumb2.
+ (legitimize_pic_address): Improve code sequences for Thumb2.
+ (arm_call_tls_get_addr): Likewise.
+ (legitimize_tls_address): Likewise.
+ * arm.md (pic_load_addr_arm): Delete. Replace with ...
+ (pic_load_addr_32bit): ... this. New named pattern.
+ * thumb2.md (pic_load_addr_thumb2): Delete.
+ (pic_load_dot_plus_four): Delete.
+ (tls_load_dot_plus_four): New named pattern.
+
+2010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libgomp/29986
+ * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
+ Document fix for TLS bug.
+
+2010-01-31 Richard Guenther <rguenther@suse.de>
+
+ * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
+ conservatively correct.
+
+2010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/42850
+ Revert:
+ 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
+
+2010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
+
+2010-01-31 Kai Tietz <kai.tietz@onevision.com>
+
+ * config.gcc: Adjust order of makefile fragments for mingw targets.
+
+2010-01-31 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42898
+ * gimplify.c (gimplify_init_constructor): For volatile LHS
+ initialize a temporary.
+
+2010-01-31 Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac: Fix __stack_chk_fail check for cross builds configured
+ --with-headers
+ * configure: Regenerate.
+
+2010-01-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
+ the same alias set and their sizes different constantness.
+ (aliasing_component_refs_p): Revert 2009-10-24 change.
+
+2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
+ unused.
+
+2010-01-29 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
+ Assert we successfully updated the call.
+
+2010-01-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/42889
+ * df.h (df_set_bb_dirty_nonlr): New prototype.
+ * df-core.c (df_set_bb_dirty_nonlr): New function.
+ * df-scan.c (df_insn_rescan): Call it instead of
+ df_set_bb_dirty for DEBUG_INSNs.
+
+2010-01-29 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/37448
+ * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
+ quadratic behavior in most cases.
+
+2010-01-28 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/42891
+ * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
+ in the call to gen_x86_movsicc_0_m1.
+
+2010-01-28 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42871
+ * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
+
+2010-01-28 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
+ into call arguments.
+
+2010-01-28 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42883
+ * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
+ the forwarder if the destination is an EH landing pad.
+
+2010-01-28 Razya Ladelsky <razya@il.ibm.com>
+
+ * tree-parloops.c (transform_to_exit_first_loop): Update the basic
+ block list passed to gimple_duplicate_sese_tail.
+ (parallelize_loops): Avoid parallelization when the function
+ has_nonlocal_label.
+ Avoid parallelization when the preheader is IRREDUCIBLE.
+ Try to optimize when estimated_loop_iterations_int is unresolved.
+ Add the loop's location to the dump file.
+ * tree-cfg.c (add_phi_args_after_redirect): Remove.
+ (gimple_duplicate_sese_tail): Remove the check for the latch.
+ Redirect nexits to the exit block.
+ Remove handling of the incoming edges to the latch.
+ Redirect the backedge from the copied latch to the exit bb.
+
+2010-01-28 Michael Matz <matz@suse.de>
+
+ PR target/42881
+ * config/i386/i386.c (ix86_expand_vector_init_duplicate):
+ Wrap force_reg into a sequence, emit it before user.
+
+2010-01-28 Stephen Thomas <stephen.thomas@arm.com>
+
+ * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
+ (arm_rev): New.
+ (arm_legacy_rev): Likewise.
+ (thumb_legacy_rev): Likewise.
+
+2010-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (mem_loc_descriptor): Remove special casing of
+ CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
+ on MEM's address failed, try avoid_constant_pool_reference and
+ recurse if it returned something different.
+ (loc_descriptor): If for MEM mem_loc_descriptor failed on the
+ address, try avoid_constant_pool_reference and recurse if it
+ returned something different.
+ (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
+ address and avoid_constant_pool_reference returned something
+ different, don't set have_address.
+
+2010-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42861
+ * var-tracking.c (val_store): Add modified argument, obey it.
+ Adjust callers.
+ (count_uses): Move down logging of main.
+ (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
+ don't need resolution.
+ (emit_notes_in_bb): Likewise.
+
+2010-01-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42878
+ * tree-inline.c (remap_decl): Delay remapping of SSA name
+ default definitions until we need them.
+
+2010-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
+ (rs6000_delegitimize_address): New function.
+
+ * config/s390/s390.c (s390_delegitimize_address): Call
+ delegitimize_mem_from_attrs.
+
+ PR middle-end/42874
+ * tree-inline.c (cannot_copy_type_1): Removed.
+ (copy_forbidden): Don't forbid copying of functions containing
+ records/unions with variable length fields.
+
+2010-01-27 Christian Bruel <christian.bruel@st.com>
+
+ Revert:
+ PR target/42841
+ * config/sh/sh.c (find_barrier): Increase length for non delayed
+ conditional branches.
+
+2010-01-27 Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac (gnu-unique-object): Fix ldd version check.
+ * configure: Regenerate.
+
+2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
+ HAVE_GNU_AS value.
+ * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
+ Test for HAVE_GNU_AS value.
+
+2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
+ * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
+ INT64_TYPE): Define.
+ (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
+ (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
+ INT_LEAST64_TYPE): Define.
+ (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
+ UINT_LEAST64_TYPE): Define.
+ (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
+ INT_FAST64_TYPE): Define.
+ (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
+ UINT_FAST64_TYPE): Define.
+ (INTMAX_TYPE, UINTMAX_TYPE): Define.
+ (INTPTR_TYPE, UINTPTR_TYPE): Define.
+ (SIG_ATOMIC_TYPE): Define.
+
+2010-01-26 Richard Guenther <rguenther@suse.de>
+
+ * df-scan.c (df_scan_set_bb_info): Remove assert.
+ (df_insn_rescan_debug_internal): Merge asserts.
+ (df_install_ref): Likewise.
+ (df_mark_reg): Use bitmap_set_range.
+ (df_hard_reg_used_p): Remove assert.
+ (df_hard_reg_used_count): Likewise.
+
+2010-01-26 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/42685
+ * web.c (web_main): Ignore DEBUG_INSNs.
+
+2010-01-26 Joern Rennecke <amylaar@spamcop.net>
+
+ * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
+
+ (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
+ Fix types of fndecl and arglist parameters.
+
+2010-01-26 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42806
+ * tree-eh.c (unsplit_eh): Skip debug insns.
+
+2010-01-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42250
+ * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
+
+2010-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/42866
+ * omp-low.c (expand_omp_sections): Only use single_pred if
+ l2_bb is single_pred_p.
+
+2010-01-25 Christian Bruel <christian.bruel@st.com>
+
+ PR target/42841
+ * config/sh/sh.c (find_barrier): Increase length for non delayed
+ conditional branches.
+ (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
+
+2010-01-24 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
+ define if not using GAS.
+ * config/sparc/sparc.c (sparc_elf_asm_named_section):
+ Likewise. Delete SECTION_MERGE code, which is only applicable
+ when using GAS.
+
+2010-01-24 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/42748
+ * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
+ mangling of va_list in system headers.
+
+2010-01-23 Toon Moene <toon@moene.org>
+
+ * tree-predcom.c (combine_chains): Return NULL, not false.
+
+2010-01-23 Joern Rennecke <amylaar@spamcop.net>
+
+ * tree-loop-distribution.c (distribute_loop): Fix declaration and
+ initialization of variable res to agree with return type.
+
+2010-01-22 Steve Ellcey <sje@cup.hp.com>
+
+ * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
+ * tree-sra.c: Add include of expr.h.
+
+2010-01-22 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
+ insert the debug stmt on the single non-EH edge from the stmt.
+
+2010-01-22 Richard Henderson <rth@redhat.com>
+
+ PR tree-opt/42833
+ * tree-sra.c (sra_modify_assign): Delay re-gimplification of
+ the RHS until after generate_subtree_copies has insertted its
+ code before the current statement.
+
+2010-01-22 Joern Rennecke <amylaar@spamcop.net>
+
+ * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
+
+ * gcc-plugin.h (plugin_init): Use "C" likage for c++.
+
+2010-01-21 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42585
+ * tree-sra.c (struct access): New field grp_total_scalarization.
+ (dump_access): Dump the new field.
+ (should_scalarize_away_bitmap): New variable.
+ (cannot_scalarize_away_bitmap): Likewise.
+ (sra_initialize): Allocate new bitmaps.
+ (sra_deinitialize): Free new bitmaps.
+ (create_access_1): New function.
+ (create_access): Parts moved to create_access_1.
+ (type_consists_of_records_p): New function.
+ (completely_scalarize_record): Likewise.
+ (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
+ (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
+ (sort_and_splice_var_accesses): Hint groups with a total_scalarization
+ access.
+ (analyze_all_variable_accesses): Completely scalarize small eligible
+ records.
+
+2010-01-21 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
+
+2010-01-21 Andrew Haley <aph@redhat.com>
+
+ * gcc.c (process_command): Move lang_specific_driver before
+ setting cc_libexec_prefix.
+
+2010-01-21 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/19988
+ * fold-const.c (negate_expr_p): Pretend only negative
+ real constants are easily negatable.
+
+2010-01-20 Janis Johnson <janis187@us.ibm.com>
+ Jason Merrill <jason@redhat.com>
+
+ * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
+ (TYPE_TRANSPARENT_AGGR): this, for union and record.
+ * calls.c (initialize argument_information): Handle it.
+ * c-common.c (handle_transparent_union_attribute): Use new name.
+ * c-decl.c (finish_struct): Ditto.
+ * c-typeck.c (type_lists_compatible_p): Ditto.
+ (convert_for_assignment): Use new name and also handle record.
+ * function.c (aggregate_value_p): Handle it.
+ (pass_by_reference): Ditto.
+ (assign_parm_data_types): Ditto.
+ * print-tree.c (print_node): Ditto.
+ * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
+ * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
+ * tree.c (first_field): New fn.
+
+2010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR target/42818
+ * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
+ even when linking statically, for now.
+
+2010-01-20 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42715
+ * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
+ without a cselib val.
+ (count_uses): Accept MO_VAL_SET with no val on stores.
+ (add_stores): Likewise.
+
+2010-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ * var-tracking.c (check_value_val): Add a compile time assertion.
+ (dv_is_decl_p): Simplify.
+ (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
+ gcc_assert if ENABLE_CHECKING.
+
+2010-01-20 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42782
+ * var-tracking.c: Include tree-flow.h.
+ (mem_dies_at_call): New.
+ (dataflow_set_preserve_mem_locs): Use it.
+ (dataflow_set_remove_mem_locs): Likewise.
+ (dump_var): Renamed from dump_variable. Adjust all callers.
+ (dump_var_slot): Renamed from dump_variable_slot. Likewise.
+ * Makefile.in (var-tracking.o): Adjust deps.
+
+2010-01-20 Joern Rennecke <amylaar@spamcop.net>
+
+ * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
+
+2010-01-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42717
+ * tree-ssa-dce.c (get_live_post_dom): Remove.
+ (forward_edge_to_pdom): Take an arbitrary edge to copy
+ degenerate PHI args from.
+ (remove_dead_stmt): Use the first post-dominator even if it
+ does not contain live statements as redirection destination.
+
+2010-01-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (estimate_num_insns): Handle EH builtins.
+
+2010-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ * sel-sched.c (create_speculation_check): Remove set but not used
+ variable twin.
+ (try_transformation_cache): Remove set but not used variable ds.
+ (calculate_privileged_insns): Remove set but not used variables
+ cur_insn and min_spec_insn.
+ (find_best_expr): Remove set but not used variable avail_n.
+ * tree-predcom.c (base_names_in_chain_on): Remove set but not used
+ variable e.
+ * cgraphunit.c (assemble_thunk): Remove set but not used variable
+ false_label.
+ * haifa-sched.c (remove_notes): Remove set but not used variable prev.
+ * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
+ new_scop_exit_edge.
+
+2010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
+
+ PR bootstrap/42786
+ * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
+ cpu types. Add support for *-sse3 cpu types.
+ (x86_64-*-*): Ditto.
+
+2010-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/42803
+ * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
+ argument, call initializer_constant_valid_p_1 instead of
+ initializer_constant_valid_p, pass CACHE to it, return NULL
+ immediately if first call returns NULL.
+ (initializer_constant_valid_p_1): New function.
+ (initializer_constant_valid_p): Use it.
+
+2010-01-20 Thomas Quinot <quinot@adacore.com>
+
+ * tree.def (PLACEHOLDER_EXPR): Fix comment.
+
+2010-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
+ of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
+ (loc_list_from_tree): Don't handle unsigned division. Handle
+ signed modulo using DW_OP_{over,over,div,mul,minus}.
+ * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
+ modulo instead of signed.
+
+2010-01-20 DJ Delorie <dj@redhat.com>
+
+ * config/h8300/h8300.c (F): Add "in_epilogue" flag.
+ (Fpa): Pass it
+ (h8300_emit_stack_adjustment): Propogate it.
+ (push): Pass it.
+ (h8300_expand_prologue): Likewise.
+ (h8300_expand_epilogue): Likewise.
+
+2010-01-19 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/41783
+ * tree-data-ref.c (toplevel): Include flags.h.
+ (dump_data_dependence_relation): Also dump the inputs if the
+ result will be unknown.
+ (split_constant_offset_1): Look through some conversions.
+ * tree-predcom.c (determine_roots_comp): Restart a new chain if
+ the offset from last element is too large.
+ (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
+ (reassociate_to_the_same_stmt): Handle vector registers.
+ * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
+ (e.g. conversions).
+ * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
+ wide_prolog_niters argument, emit widening instructions.
+ (vect_do_peeling_for_alignment): Adjust caller, use widened
+ variant of the iteration cound.
+ * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
+
+2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR target/38697
+ * config/arm/neon-testgen.m (emit_automatics): New parameter
+ features. Adjust for Fixed_return_reg feature.
+ (test_intrinsic): Call emit_automatics with new feature.
+ * config/arm/neon.ml: Update copyright years.
+ (features): New Fixed_return_reg feature.
+ (ops): Update feature for Vget_low.
+
+2010-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/42719
+ * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
+ stmt uses.
+
+ PR debug/42728
+ * fwprop.c (all_uses_available_at): Return false if def_set dest
+ is a REG that is used in def_insn.
+
+2010-01-19 Joern Rennecke <amylaar@spamcop.net>
+
+ * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
+
+ (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
+ Add argument names.
+
+ (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
+
+ * target.h (struct gcc_target) <secondary_reload>: Change type
+ of last argument to secondary_reload_info *.
+
+2010-01-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/42774
+ * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
+ memory references with unaligned offsets. Remove CQImode handling.
+ (unaligned_memory_operand): Return 1 for memory references with
+ unaligned offsets. Remove CQImode handling.
+
+2010-01-18 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/39954
+ * cfgexpand.c (expand_call_stmt): TER pointer arguments in
+ builtin calls.
+
+2010-01-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42781
+ * tree-ssa-structalias.c (find_what_var_points_to): Skip
+ restrict processing only if the original variable was artificial.
+
+2010-01-18 Joern Rennecke <amylaar@spamcop.net>
+
+ * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
+ find number of popped argument bytes.
+
+ (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
+ Fix the text that describes the return value for invalid insns.
+
+ (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
+
+ (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
+ Clarify what 'cost of the -dependence' is. Fix quoting.
+
+ * toplev.c (default_get_pch_validity): Rename argument to "sz".
+ * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
+
+2010-01-17 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (mem_loc_descriptor): Don't ICE on
+ {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
+
+2010-01-17 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42248
+ * function.c (split_complex_args): Take a VEC to modify.
+ (assign_parms_augmented_arg_list): Build a VEC instead of
+ a chain of PARM_DECLs.
+ (assign_parms_unsplit_complex): Take a VEC of arguments.
+ Do not fixup unmodified parms.
+ (assign_parms): Deal with the VEC.
+ (gimplify_parameters): Likewise.
+
+2010-01-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
+ node existence check.
+ * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
+ * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
+ * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
+ * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
+ (gimple_execute_on_growing_pred): Likewise.
+
+2010-01-17 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42773
+ * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
+ (compute_antic_aux): Likewise.
+ (compute_partial_antic_aux): Likewise.
+
+2010-01-17 Jie Zhang <jie.zhang@analog.com>
+
+ PR debug/42767
+ * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
+ and US_TRUNCATE.
+
+2010-01-17 Joern Rennecke <amylaar@spamcop.net>
+
+ * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
+ appearance.
+
+ (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
+ Fix markup for strict argument.
+
+ (TARGET_SCHED_REORDER2): Fix argument types.
+
+ (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
+ (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
+
+ (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
+ (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
+
+ (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
+ Add argument name.
+
+ (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
+ (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
+ (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
+ (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
+ (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
+
+ (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
+
+ (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
+
+ (TARGET_ASM_RELOC_RW_MASK): Add return type.
+ (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
+
+ (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
+
+ (TARGET_ASM_FILE_START): Put @findex before paragraph start.
+ Use prototype.
+
+ (TARGET_ASM_NAMED_SECTION): Fix argument list.
+
+ (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
+ (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
+
+ (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
+
+ (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
+
+ (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
+ referring to it. Fix language.
+
+ (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
+
+ (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
+
+ (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
+
+ (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
+
+ (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
+ '@var{stream}. Remove stray 'and'.
+
+ (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
+
+ (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
+
+ (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
+
+ (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
+ misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
+
+ (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
+ Fix description of return value.
+ Rename argument "sz" to "len."
+
+ (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
+ Clarify meaning of 'true' return value.
+
+ (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
+
+ (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
+ rep_mode versus mode_rep.
+
+ (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
+
+ (TARGET_BUILTIN_DECL): Fix name.
+
+ (TARGET_COMMUTATIVE_P): Fix type of first argument.
+
+ (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
+
+ (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
+
+ (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
+
+ (TARGET_RELAXED_ORDERING): Use @deftypevr.
+
+ (TARGET_GET_DRAP_RTX): Note that this is a hook.
+ Clarify language.
+
+ (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
+ Rename argument tm_fn to md_fn.
+
+ (TARGET_OPTION_PRINT): Fix argument list.
+
+2010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
+
+ PR target/42664
+ * config/i386/i386.c (ix86_fixup_binary_operands):
+ Revert FMA4 fixup of operands.
+
+2010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR other/42525
+ * Makefile.in (write_entries_to_file, install-plugin):
+ Use \012 instead of \n with tr.
+
+2010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * configure.ac (HAVE_AS_REF): New C macro.
+ * configure: Regenerate.
+ * config.in: Likewise.
+ * collect2.c (main): Only postpone SCAN_DWEH to the second pass
+ if HAVE_AS_REF.
+ * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
+ if HAVE_AS_REF.
+
+2010-01-16 Joern Rennecke <amylaar@spamcop.net>
+
+ * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
+
+ (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
+
+ (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
+
+ (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
+
+ (TARGET_IN_SMALL_DATA_P): Fix argument type.
+
+ (TARGET_BINDS_LOCAL_P): Fix argument type.
+
+ (TARGET_ASM_FILE_END): Use prototype.
+
+ (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
+
+ (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
+
+ (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
+
+ (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
+
+ (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
+ (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
+
+ (TARGET_PCH_VALID_P): Put 'const char *' in braces.
+ (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
+
+ (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
+ (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
+ (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
+ (TARGET_ADDR_SPACE_CONVERT): Likewise.
+
+ (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
+
+ (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
+
+ (TARGET_INIT_BUILTINS): Use prototype.
+
+ (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
+ Put 'const char *' in braces. Fix parameter types.
+ (TARGET_INVALID_CONVERSION): Fix parameter types.
+ (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
+ (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
+
+ (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
+ Fix argument type.
+
+ (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
+
+ (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
+
+2010-01-15 Joern Rennecke <amylaar@spamcop.net>
+
+ * doc/tm.texi (TARGET_HELP): Fix return type.
+
+ (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
+ in braces. Fix argument types.
+
+ (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
+
+ (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
+
+ (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
+
+ (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
+ (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
+
+ (TARGET_MANGLE_TYPE): Fix argument types.
+
+ (TARGET_IRA_COVER_CLASSES): Use prototype.
+
+ (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
+
+ (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
+
+ (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
+
+ (TARGET_MUST_PASS_IN_STACK): Fix argument type.
+
+ (TARGET_CALLEE_COPIES): Fix argument types.
+
+ (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
+
+ (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
+
+ (TARGET_FUNCTION_VALUE): Fix argument types.
+
+ (TARGET_RETURN_IN_MSB): Fix argument type.
+
+ (TARGET_RETURN_IN_MEMORY): Fix argument types.
+
+ (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
+
+ (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
+
+ (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
+ agree with return type.
+
+ (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
+
+2010-01-15 Jing Yu <jingyu@google.com>
+
+ PR rtl-optimization/42691
+ * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
+ a pseudo to a constant and are merged, and adjust comments.
+
+2010-01-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
+
+2010-01-15 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42739
+ * tree-cfgcleanup.c (remove_forwarder_block): Move destination
+ labels of computed or non-local gotos to the destination.
+ * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
+ landing pad label is the first label.
+
+2010-01-15 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
+
+2010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/42747
+ * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
+ to allow generation of the xssqrtdp instruction on power7.
+ (sqrtdf2_fpr): Ditto.
+
+2010-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/42674
+ * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
+ functions with noreturn attribute.
+
+ PR c++/42608
+ * varasm.c (declare_weak): Add weak attribute to decl if it
+ doesn't have one already.
+ (assemble_external): Only add decls to weak_decls if they also
+ have weak attribute.
+
+2010-01-14 Alexandre Oliva <aoliva@redhat.com>
+
+ * var-tracking.c (var_reg_delete): Don't delete the association
+ between REGs and values or one-part variables if the register
+ isn't clobbered.
+
+2010-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/42657
+ * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
+ because its first operand is a non-localized variable.
+
+2010-01-14 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42706
+ * tree-sra.c (encountered_recursive_call): New variable.
+ (encountered_unchangable_recursive_call): Likewise.
+ (sra_initialize): Initialize both new variables.
+ (callsite_has_enough_arguments_p): New function.
+ (scan_function): Call decl and flags check only for IPA-SRA, check
+ whether there is a recursive call and whether it has enough arguments.
+ (all_callers_have_enough_arguments_p): New function.
+ (convert_callers): Look for recursive calls only when
+ encountered_recursive_call is set.
+ (ipa_early_sra): Bail out either if
+ !all_callers_have_enough_arguments_p or
+ encountered_unchangable_recursive_call.
+
+2010-01-14 Alexander Monakov <amonakov@ispras.ru>
+
+ * sel-sched.c: Add 2010 to copyright years.
+ * sel-sched-ir.c: Likewise.
+ * sel-sched-ir.h: Likewise.
+
+2010-01-14 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42714
+ * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
+ constructors specially.
+
+2010-01-14 Andi Kleen <ak@linux.intel.com>
+
+ * config/i386/drivers-i386.c (detect_caches_intel):
+ Add l2sizekb parameter and fill in.
+ (host_detect_local_cpu): Add l2sizekb, fill in.
+ Add Atom small cache heuristic.
+
+2010-01-14 Andi Kleen <ak@linux.intel.com>
+
+ * config/i386/drivers-i386.c (detect_caches_cpuid4):
+ Add level3 parameter and fill in.
+ (detect_caches_intel): Handle level3 cache.
+
+2010-01-14 Andi Kleen <ak@linux.intel.com>
+
+ * config/i386/drivers-i386.c (host_detect_local_cpu):
+ Fix core duo detection.
+
+2010-01-14 Andi Kleen <ak@linux.intel.com>
+
+ * config/i386/drivers-i386.c (host_detect_local_cpu):
+ Fix Atom detection.
+
+2010-01-14 Alexander Monakov <amonakov@ispras.ru>
+
+ * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
+ (rs6000_variable_issue_1): this. Use...
+ (rs6000_variable_issue): here. Reimplement. Print debug info.
+
+2010-01-14 Alexander Monakov <amonakov@ispras.ru>
+
+ * sel-sched-ir.c (sel_restore_other_notes): Rename to
+ sel_restore_notes. Update all callers. Call reemit_notes
+ for all insns.
+
+2010-01-14 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/42246
+ * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
+ loops.
+
+2010-01-14 Andrey Belevantsev <abel@ispras.ru>
+
+ * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
+ all successors is the same as number of successors in current region.
+
+2010-01-14 Alexander Monakov <amonakov@ispras.ru>
+
+ * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
+ to rename is not separable. Otherwise check that its LHS is not NULL.
+
+2010-01-14 Alexander Monakov <amonakov@ispras.ru>
+
+ * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
+
+2010-01-14 Alexander Monakov <amonakov@ispras.ru>
+
+ * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
+ available registers when failed to discover LHS register class.
+ Fix indentation. Update comment.
+
+2010-01-14 Andrey Belevantsev <abel@ispras.ru>
+ Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/42389
+ * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
+ to can_issue_more.
+ (advance_state_on_fence): Likewise.
+ (sel_target_adjust_priority): Print debug output only when
+ sched_verbose >= 4, not 2.
+ (get_expr_cost): Do not issue all unique insns on the next cycle.
+ (fill_insns): Initialize can_issue_more from the value saved
+ with the fence.
+ * sel-sched-ir.c (flist_add): New parameter issue_more.
+ Init FENCE_ISSUE_MORE with it.
+ (merge_fences): Likewise.
+ (init_fences): Update call to flist_add.
+ (add_to_fences, add_clean_fence_to_fences)
+ (add_dirty_fence_to_fences): Likewise.
+ (move_fence_to_fences): Update call to merge_fences.
+ (invoke_reorder_hooks): Do not reset can_issue_more on insns from
+ sched groups.
+ * sel-sched-ir.h (struct _fence): New field issue_more.
+ (FENCE_ISSUE_MORE): New accessor macro.
+
+2010-01-14 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/42388
+ * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
+ that have no predecessors nor successors. Do not call move_bb_info
+ for empty blocks outside of current region.
+
+2010-01-14 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/42294
+ * sel-sched-ir.h (struct _sel_insn_data): Update comment.
+ * sel-sched.c (move_exprs_to_boundary): Transitively add all
+ originators' originators.
+
+2010-01-14 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/39453
+ PR rtl-optimization/42246
+ * sel-sched-ir.c (considered_for_pipelining_p): Do not test
+ for pipelining_p.
+ (sel_add_loop_preheaders): Add preheader to last_added_blocks.
+
+2010-01-14 Andrey Belevantsev <abel@ispras.ru>
+ Alexander Monakov <amonakov@ispras.ru>
+
+ PR middle-end/42245
+ * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
+ (maybe_tidy_empty_bb): ... here. Make static. Add new
+ argument. Update all callers.
+ (tidy_control_flow): ... and here. Recompute topological order
+ of basic blocks in region if necessary.
+ (sel_redirect_edge_and_branch): Change return type. Return true
+ if topological order might have been invalidated.
+ (purge_empty_blocks): Export and move from...
+ * sel-sched.c (purge_empty_blocks): ... here.
+ * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
+ (maybe_tidy_empty_bb): Delete prototype.
+ (purge_empty_blocks): Declare.
+
+2010-01-14 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/42249
+ * sel-sched.c (try_replace_dest_reg): When chosen register
+ and original register is the same, do not bail out early, but
+ still check all original insns for validity of replacing destination
+ register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
+ in this case.
+
+2010-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/42721
+ Port from no-undefined-overflow branch:
+ 2009-03-09 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
+
+2010-01-14 Richard Guenther <rguenther@suse.de>
+
+ PR lto/42665
+ * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
+
+2010-01-14 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/42709
+ * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
+ as scalar type in creation of constant vector operand.
+
+2010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR testsuite/42414
+ * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
+ (check-parallel-%): Match `testsuite' directory component only
+ at the end.
+
+2010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
+
+ PR translation/39521
+ * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
+ strings with _().
+
+2010-01-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42730
+ * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
+ offset zero.
+
+2010-01-13 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/pr42542
+ * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
+ for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
+ them signed.
+
+2010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/libgcc-bfin.ver: Regenerate based on current
+ libgcc-std.ver. Add entries for ___smulsi3_highpart and
+ ___umulsi3_highpart.
+
+ * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
+ rather than schedule_insns if the pass is enabled.
+
+2010-01-13 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42704
+ * tree-sra.c (sra_modify_assign): Do not delete assignments to
+ SSA_NAMEs.
+
+2010-01-13 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42703
+ * tree-sra.c (analyze_access_subtree): Check that we can build a
+ reference to the original data within the aggregate.
+
+2010-01-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42705
+ * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
+
+2010-01-13 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42716
+ * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
+
+2010-01-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/41371
+ * var-tracking.c (values_to_unmark): New variable.
+ (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
+ values_to_unmark vector. Moved body to...
+ (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
+ instead queue it into values_to_unmark vector.
+ (vt_find_locations): Free values_to_unmark vector.
+
+2010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
+
+ * config/s390/s390.c (override_options): Set
+ default of max-pending-list-length to 256
+
+2010-01-13 Richard Guenther <rguenther@suse.de>
+
+ PR lto/42678
+ * tree-pass.h (PROP_gimple_lcx): New.
+ * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
+ * passes.c (init_optimization_passes): Move pass_lower_complex_O0
+ before the final cleanup_eh.
+ (dump_properties): Dump PROP_gimple_lcx.
+ * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
+ (tree_lower_complex_O0): Remove.
+ (gate_no_optimization): Run if PROP_gimple_lcx is not set.
+ (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
+ tree_lower_complex, schedule TODO_update_ssa.
+ * lto-streamer-out.c (output_function): Stream the functions
+ properties.
+ * lto-streamer-in.c (input_function): Likewise.
+ (lto_read_body): Do not override them here.
+
+2010-01-12 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/42708
+ * c-typeck.c (build_c_cast): Fold value cast to union type before
+ wrapping it in a CONSTRUCTOR.
+
+2010-01-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/42699
+ * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
+ involved.
+
+2010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
+ SUBTARGET_WARN_UNUSED_SPEC): Move ...
+ config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
+ SUBTARGET_WARN_UNUSED_SPEC): ... here
+ * config/mips/iris5.h (LIBGCC_SPEC): Define.
+
+2010-01-12 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/neon-schedgen.ml (Utils): Don't try to
+ open missing module.
+ (find_with_result): New.
+
+2010-01-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/42662
+ * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
+ sharing when canonicalizing ({lt,ge}u (plus a b) b).
+
+ PR tree-optimization/42645
+ * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
+ (remap_ssa_name): If processing_debug_stmt and name wasn't found in
+ decl_map, set processing_debug_stmt to -1 and return name without
+ any remapping.
+
+2010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * doc/install.texi (Specific#x-x-cygwin): Document minimum required
+ binutils version, and reword target configuration description.
+
+2010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
+
+ * config/avr/avr.h (LINKER_NAME): Remove.
+
+2010-01-11 Janis Johnson <janis187@us.ibm.com>
+
+ PR target/42416
+ * config/rs6000/rs6000.c (rs6000_override_options): On targets
+ that support VSX, warn for -mno-altivec if vsx is not disabled,
+ and disable vsx.
+
+2010-01-11 Joseph Myers <joseph@codesourcery.com>
+ Shujing Zhao <pearly.zhao@oracle.com>
+
+ PR translation/42469
+ * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
+ fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
+ character between option name and help text.
+ * c.opt (imultilib): Likewise.
+
+2010-01-10 Rafael Avila de Espindola <espindola@google.com>
+
+ * lto-streamer-out.c (output_unreferenced_globals): Output static
+ variables.
+
+2010-01-10 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/42621
+ * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
+ optimizing for size.
+ (duplicate_computed_gotos): Remove now-redundant check.
+
+2010-01-10 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/37454
+ * configure.ac: Save and restore LDFLAGS and LIBS
+ * configure: Regenerate.
+
+2010-01-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42667
+ * builtins.c (fold_builtin_strlen): Add type argument and
+ convert the resulting length to it.
+ (fold_builtin_1): Adjust.
+
+2010-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
+ sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
+ 1 insn.
+ (num_insns_constant_wide): Adjust for that change.
+
+2010-01-09 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42631
+ * web.c (union_defs): Add used argument, to combine uses of
+ uninitialized regs.
+ (entry_register): Adjust type and tests of used argument.
+ (web_main): Widen used for new use. Pass it to union_defs.
+ * df.h (union_defs): Adjust prototype.
+
+2010-01-09 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42630
+ * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
+ uses in new incoming argument. Free body.
+ (reset_debug_uses_in_loop): New.
+ (analyze_insn_to_expand_var): Call the latter if the former found
+ anything. Fix whitespace. Reject invalid dest overlaps before
+ going through all insns in the loop.
+
+2010-01-09 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42629
+ * haifa-sched.c (dying_use_p): Debug insns don't count.
+
+2010-01-09 Alexandre Oliva <aoliva@redhat.com>
+
+ PR middle-end/42363
+ * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
+ * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
+ (verify_gimple_call): Reject LHS in noreturn calls.
+
+2010-01-09 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/42604
+ PR debug/42395
+ * tree-vect-loop-manip.c (adjust_info): New type.
+ (adjust_vec): New pointer to vector.
+ (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
+ (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
+ (slpeel_update_phis_for_duplicate_loop): Use them.
+ (slpeel_update_phi_nodes_for_guard1): Likewise.
+ (slpeel_update_phi_nodes_for_guard2): Likewise.
+ (slpeel_tree_peel_loop_to_edge): Likewise.
+ (vect_update_ivs_after_vectorizer): Likewise.
+
+2010-01-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
+ (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
+
+2010-01-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
+ bogus uninitialized warning.
+
+2010-01-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42512
+ * tree-scalar-evolution.c (interpret_loop_phi): Make sure
+ the evolution is compatible with the initial condition.
+
+2010-01-09 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c (process_command): Update copyright notice dates.
+ * gcov.c (print_version): Likewise.
+ * gcov-dump.c (print_version): Likewise.
+ * mips-tfile.c (main): Likewise.
+ * mips-tdump.c (main): Likewise.
+
+2010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
+
+ PR target/41885
+ * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
+ (rotlhi3): Delete.
+ (rotlhi3_8): Delete.
+ (rotlsi3): Delete.
+ (rotlsi3_8): Delete.
+ (rotlsi3_16): Delete.
+ (rotlsi3_24): Delete.
+ (rotl<mode>3): New.
+ (*rotw<mode>3): New.
+ (*rotb<mode>3): New.
+ * config/avr/avr.c (avr_rotate_bytes): New function.
+ * config/avr/avr-proto.h (avr_rotate_bytes): New function.
+
+2010-01-08 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/37454
+ * configure.ac: Modify -rdynamic check.
+ * configure: Regenerate.
+
+2010-01-08 DJ Delorie <dj@redhat.com>
+
+ * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
+ register popping order.
+
+2010-01-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/42528
+ * c.opt (fsigned-char): Also let LTO handle this option.
+ (funsigned-char): Likewise.
+
+2010-01-07 Richard Guenther <rguenther@suse.de>
+
+ * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
+ (gimple_op): Likewise.
+ (gimple_op_ptr): Likewise.
+ (gimple_assign_set_lhs): Remove gcc_assert.
+ (gimple_assign_set_rhs1): Likewise.
+ (gimple_assign_set_rhs2): Likewise.
+ (gimple_call_set_lhs): Likewise.
+ (gimple_call_set_fn): Likewise.
+ (gimple_call_set_fndecl): Likewise.
+ (gimple_call_fndecl): Likewise.
+ (gimple_call_return_type): Likewise.
+ (gimple_call_set_chain): Likewise.
+ (gimple_call_num_args): Likewise.
+ (gimple_call_set_arg): Likewise.
+ (gimple_cond_set_code): Likewise.
+ (gimple_cond_set_lhs): Likewise.
+ (gimple_cond_set_rhs): Likewise.
+ (gimple_cond_set_true_label): Likewise.
+ (gimple_cond_set_false_label): Likewise.
+ (gimple_label_set_label): Likewise.
+ (gimple_goto_set_dest): Likewise.
+ (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
+ (gimple_debug_bind_get_value): Likewise.
+ (gimple_debug_bind_get_value_ptr): Likewise.
+ (gimple_debug_bind_set_var): Likewise.
+ (gimple_debug_bind_set_value): Likewise.
+ (gimple_debug_bind_reset_value): Likewise.
+ (gimple_debug_bind_has_value_p): Likewise.
+ (gimple_return_retval_ptr): Remove gcc_assert.
+ (gimple_return_retval): Likewise.
+ (gimple_return_set_retval): Likewise.
+ * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
+ (safe_referenced_var_iterator): Remove.
+ (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
+ * tree-flow-inline.h (gimple_nonlocal_all): Remove.
+ (fill_referenced_var_vec): Remove.
+ (first_readonly_imm_use): Remove redundant gcc_assert.
+ (phi_arg_index_from_use): Combine gcc_asserts.
+ (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
+ (first_imm_use_stmt): Remove redundant gcc_assert.
+ * tree-cfg.c (verify_gimple_call): Verify function and chain
+ operands. Verify arguments.
+ (verify_types_in_gimple_stmt): Verify condition code and labels.
+
+2010-01-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42641
+ * sese.c (rename_map_elt_info): Use the SSA name version, do
+ not hash pointers.
+
+2010-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/42625
+ * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
+ TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
+
+2010-01-07 Duncan Sands <baldrick@free.fr>
+
+ * Makefile.in (PLUGIN_HEADERS): Add version.h.
+
+2010-01-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/42511
+ * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
+ note itself is not function_invariant_p.
+
+2009-01-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
+ Do not add the DF_NOTE problem.
+ * store-motion.c (execute_rtl_store_motion): Likewise.
+
+2010-01-07 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42157
+ * tree-sra.c (compare_access_positions): Stabilize sort if both
+ accesses have integer types, return zero immediately if they are the
+ same.
+
+2010-01-06 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/41883
+ * haifa-sched.c (add_to_note_list): Merge into ...
+ (concat_note_lists): ... here, and ...
+ (unlink_other_notes, rm_other_notes): Merge into...
+ (remove_notes): ... here. Create REG_SAVE_NOTEs for
+ NOTE_INSN_EPILOGUE_BEG.
+
+2010-01-06 Richard Guenther <rguenther@suse.de>
+
+ * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
+ not inline regular functions into always-inline functions.
+
+2010-01-06 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.h (enum rx_cpu_type): Add RX200.
+ (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
+ used together.
+ (OVERRIDE_OPTIONS): Delete.
+ (OPTIMIZATION_OPTIONS): Define.
+ (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
+ * config/rx/rx.c (rx_handle_option): Issue an error message if
+ -mcpu=rx200 and -fpu are used together.
+ (rx_set_optimization_options): New function. Issue an error
+ message if an optimization attribute attempts to reset the FPU/
+ math optimization pairing.
+ * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
+ * config/rx/rx.opt: Set the default to 32-bit doubles.
+ * config/rx/t-rx: Add multilibs for -nofpu option.
+ * doc/invoke.texi: Update documentation of RX options.
+
+2010-01-06 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (name_to_id): New global.
+ (alloc_expression_id): Simplify SSA name handling.
+ (lookup_expression_id): Likewise.
+ (init_pre): Zero name_to_id.
+ (fini_pre): Free it.
+
+2010-01-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
+
+2010-01-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/42542
+ * config/i386/sse.md (smaxv2di3): New.
+ (umaxv2di3): Likewise.
+ (sminv2di3): Likewise.
+ (uminv2di3): Likewise.
+
+2010-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/42564
+ * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
+ * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
+ (legitimize_tls_address): Likewise.
+ (sparc_tls_referenced_p): Likewise.
+ * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
+ and adjust calls to legitimize_pic_address.
+ (legitimate_constant_p) Use sparc_tls_referenced_p.
+ (legitimate_pic_operand_p): Likewise.
+ (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
+ (sparc_tls_symbol_ref_1): Delete.
+ (sparc_tls_referenced_p): Make static, recognize specific patterns.
+ (legitimize_tls_address): Make static, handle CONST patterns.
+ (legitimize_pic_address): Make static, remove unused parameter and
+ adjust recursive calls.
+ (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
+ and adjust call to legitimize_pic_address.
+ (sparc_output_mi_thunk): Likewise.
+
+2010-01-05 Paolo Bonzini <bonzini@gnu.rg>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/42542
+ * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
+ for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
+ operands to make them signed.
+
+ Revert:
+ 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/42542
+ * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
+ GTU to GT for V4SI and V2DI.
+
+ * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
+ (umin<mode>3): Removed.
+ (uminv8hi3): New.
+ (uminv4si3): Likewise.
+
+2010-01-05 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42462
+ * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
+ current_function_decl to helper functions and macros.
+
+2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/41771
+ * flags.h: Don't include real.h.
+ (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
+ HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
+ * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
+ HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
+ * dominance.c: Update copyright.
+ * gimple.c (walk_gimple_op): Remove inline.
+ * tree-ssa-reassoc.c: Include real.h.
+ * Makefile.in (FLAGS_H): Remove $(REAL_H).
+ (tree-ssa-reassoc.o): Depend on $(REAL_H).
+
+2010-01-05 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
+ register to push into the stack frame when the accumulator has to
+ be saved during interrupts.
+
+2010-01-05 Eric Fisher <joefoxreal@gmail.com>
+
+ * doc/invoke.texi: Remove the documentation about option
+ -Wunreachable-code.
+ * common.opt (Wunreachable-code): Preserved for backward
+ compatibility.
+ * tree-cfg.c: Remove the implementation of -Wunreachable-code.
+ * opts.c (common_handle_option): Add OPT_Wunreachable_code to
+ the backward compatibility flag section.
+
+2010-01-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
+
+2010-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR other/42611
+ * cfgexpand.c (expand_one_var): Diagnose too large variables.
+
+ PR tree-optimization/42508
+ * tree-sra.c (convert_callers): Check for recursive call
+ by comparing cgraph nodes instead of decls.
+ (modify_function): Call ipa_modify_formal_parameters also
+ on all same_body aliases.
+
+ * cgraphunit.c (cgraph_materialize_all_clones): Compare
+ cgraph nodes when checking for same_body aliases.
+
+2010-01-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
+ allocation and lookup.
+ (get_or_alloc_expr_for_constant): Likewise.
+ (phi_translate): Sink allocation.
+
+2010-01-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
+ a new entry only if needed.
+ * tree-ssa-dom.c (lookup_avail_expr): Likewise.
+ * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
+ hashtable lookup.
+ * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
+ the result array.
+ (phi_translate): Handle CONSTANTs early.
+
+2010-01-04 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42398
+ * tree-sra.c (struct access): Removed flag grp_different_types.
+ (dump_access): Do not dump the removed flag.
+ (sort_and_splice_var_accesses): Do not set the removed flag.
+ (sra_modify_expr): Check for type compatibility directly.
+
+2010-01-04 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/42366
+ * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
+ edges with variable number of parameters.
+ * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
+ flag instead of asserting it.
+ (ipa_read_node_info): Read uses_analysis_done flag.
+
+2010-01-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
+ iterative_hash_* as intended.
+ (vn_reference_compute_hash): Likewise. Simplify hashing
+ SSA names.
+ (vn_reference_lookup_2): Likewise.
+ (vn_nary_op_compute_hash): Likewise.
+ (vn_phi_compute_hash): Likewise.
+ (expressions_equal_p): Remove strange code.
+ * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
+ (pre_expr_hash): Likewise. Simplify hashing SSA names.
+ (bitmap_insert_into_set_1): Take value-id as parameter.
+ (add_to_value): Pass it.
+ (bitmap_insert_into_set): Likewise.
+ (bitmap_value_insert_into_set): Likewise. Remove redundant check.
+
+2010-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR driver/42442
+ * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
+ (do_self_spec): For switches with SWITCH_IGNORE set set also
+ SWITCH_IGNORE_PERMANENTLY.
+ (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
+ of SWITCH_IGNORE.
+
+2010-01-04 Rafael Avila de Espindola <espindola@google.com>
+
+ * lto-streamer-out.c (output_unreferenced_globals): Output the full
+ tree of an unreferenced global var.
+
+2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/42542
+ * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
+ GTU to GT for V4SI and V2DI.
+
+ * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
+ (umin<mode>3): Removed.
+ (uminv8hi3): New.
+ (uminv4si3): Likewise.
+
+2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR lto/42581
+ * collect2.c (main): Turn on trace in collect2 if -v is passed
+ to gcc with LTO.
+
+2010-01-03 Jerry Quinn <jlquinn@optonline.net>
+
+ * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
+ description of expression operand.
+
+2010-01-03 Andrew Jenner <andrew@codesourcery.com>
+
+ * configure.ac: Add install-html to target_list for Make-hooks.
+ * configure: Regenerate.
+ * fortran/Make-lang.in (F95_HTMLFILES): New.
+ (fortran.html): Use it.
+ (fortran.install-html): New.
+ * Makefile.in (install-html): Add lang.install-html.
+ * java/Make-lang.in (JAVA_HTMLFILES): New.
+ (java.html): Use it.
+ (java.install-html): New.
+ * objc/Make-lang.in (objc.install-html): New.
+ * objcp/Make-lang.in (obj-c++.install-html): New.
+ * cp/Make-lang.in (c++.install-html): New.
+ * ada/gcc-interface/Make-lang.in (ada.install-html): New.
+ * lto/Make-lang.in (lto.install-html): New.
+
+2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR lto/42520
+ * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
+
+2009-01-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/41862
+ * store-motion.c (store_killed_in_insn, compute_store_table,
+ remove_reachable_equiv_notes, replace_store_insn,
+ build_store_vectors): Ignore all DEBUG_INSNs.
+
+2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR lto/41564
+ * common.opt: Add dumpdir.
+
+ * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
+ isn't specified.
+ (option_map): Add --dumpdir.
+
+ * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
+
+ * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
+
+ * opts.c (decode_options): Try dump_dir_name first if
+ dump_base_name isn't an absolute path.
+ (common_handle_option): Handle OPT_dumpdir.
+
+ * toplev.c (dump_dir_name): New.
+ (print_switch_values): Also ignore -dumpdir.
+
+ * toplev.h (dump_dir_name): New.
+
+2010-01-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42589
+ * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
+ double-word expansion of bswap32.
+
+2010-01-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
+ with BLOCK_FOR_INSN.
+ * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
+ * ifcvt.c (noce_get_alt_condition, noce_try_abs,
+ noce_process_if_block): Likewise.
+ * gcse.c (compute_local_properties, insert_expr_in_table,
+ insert_set_in_table, canon_list_insert, find_avail_set,
+ pre_insert_copy_insn): Likewise.
+
+ * basic-block.h (BLOCK_NUM): Move from here...
+ * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
+
+2010-01-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/42438
+ * tree-ssa-pre.c (struct bb_bitmap_sets): Add
+ contains_may_not_return_call flag.
+ (BB_MAY_NOTRETURN): New.
+ (valid_in_sets): Trapping nary operations are not valid
+ in blocks that may not return.
+ (insert_into_preds_of_block): Remove check for trapping expressions.
+ (compute_avail): Compute also BB_MAY_NOTRETURN.
+
+2010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/invoke.texi: Add 2010 to copyright years.
+
+2010-01-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c: Fix formatting nits.
+
+2010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
+ Alexander Monakov <amonakov@ispras.ru>
+
+ * doc/invoke.texi (Optimize Options): Reword introduction a bit.
+
+2010-01-02 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42577
+ * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
+ (simplify_switch_using_ranges): Mark to be removed edges
+ as non-executable.
+
+2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
+
+ * collect2.c (scan_libraries): Add missing argument in call to
+ scan_prog_file.
+
+2010-01-02 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/42448
+ * config/alpha/predicates.md (aligned_memory_operand): Return false
+ for CQImode.
+ (unaligned_memory_operand): Return true for CQImode.
+ * config/alpha/alpha.c (get_aligned_mem): Assert that location
+ doesn not cross aligned SImode word boundary.
+
+2010-01-02 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
+ Remove.
+ * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
+ avr_change_section, avr_reg_class_from_letter) : Remove declaration.
+
+2010-01-02 Richard Guenther <rguenther@suse.de>
+
+ PR lto/41597
+ * toplev.c (compile_file): Emit LTO marker properly. Change
+ it to __gnu_lto_v1.
+ * collect2.c (scan_prog_file): Adjust for changed LTO marker.
+
+2010-01-01 Richard Guenther <rguenther@suse.de>
+
+ PR debug/42455
+ * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
+
+2010-01-01 Richard Guenther <rguenther@suse.de>
+
+ PR c/42570
+ * c-decl.c (grokdeclarator): For zero-size arrays force
+ structural equality checks as layout_type does.
+
+2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * builtins.c: Update copyright to 2010.
+
+2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR lto/42531
+ * lto-streamer-out.c (produce_asm): Revert the last change.
+ (copy_function): Likewise.
+
+ * lto-streamer.c (lto_get_section_name): Skip any leading
+ asterisk in name.
+
+2010-01-01 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42559
+ * builtins.c (get_object_alignment): Do not use DECL_ALIGN
+ for LABEL_DECLs.
+
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.