+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 <bernd.schmidt@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
+ * gcc/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.