+2011-04-03 Alan Modra <amodra@gmail.com>
+
+ * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
+
+2011-04-03 Michael Matz <matz@suse.de>
+
+ * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
+ an integer.
+ * tree.h (tree_decl_non_common.vindex): Adjust comment.
+
+2011-04-03 Michael Matz <matz@suse.de>
+
+ * cgraphbuild.c (record_reference): Canonicalize constructor
+ values.
+ * gimple-fold.c (canonicalize_constructor_val): Accept being called
+ without function context.
+ * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
+ current_function_decl and cfun.
+
+2011-04-03 Michael Matz <matz@suse.de>
+
+ * tree.c (decl_init_priority_insert): Don't create entry for
+ default priority.
+ (decl_fini_priority_insert): Ditto.
+ (fields_compatible_p, find_compatible_field): Remove.
+ * tree.h (fields_compatible_p, find_compatible_field): Remove.
+ * gimple.c (gimple_compare_field_offset): Adjust block comment.
+
+2011-04-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * combine.c (try_combine): Remove useless local variable.
+
+2011-04-03 Richard Guenther <rguenther@suse.de>
+ Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
+ non-variable offsets and compare the remaining bases of the two
+ accesses instead of looking for exact same data-ref.
+
+2011-04-02 Kai Tietz <ktietz@redhat.com>
+
+ PR target/48416
+ * i386.c (ix86_function_arg_boundary): Fix printf formatter.
+
+ * i386.c (ix86_is_msabi_thiscall): New helper function.
+ (ix86_is_type_thiscall): New helper function.
+ (ix86_comp_type_attributes): Handle thiscall for method-functions
+ special.
+ (init_cumulative_args): Likewise.
+ (find_drap_reg): Likewise.
+ (ix86_static_chain): Likewise.
+ (x86_this_parameter): Likewise.
+ (x86_output_mi_thunk): Likewise.
+
+2011-04-01 Olivier Hainque <hainque@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
+ (add_gnat_descriptive_type_attribute): New function.
+ (gen_array_type_die): Call it.
+ (gen_enumeration_type_die): Likewise.
+ (gen_struct_or_union_type_die): Likewise.
+ (modified_type_die): Likewise.
+ * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
+ * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
+ (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
+
+2011-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/48148
+ * dwarf2out.c (resolve_addr): Don't call force_decl_die
+ if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
+
+ Revert:
+ 2011-03-17 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/48148
+ * lto-cgraph.c (input_overwrite_node): Clear the abstract
+ origin for decls in other ltrans units.
+ (input_varpool_node): Likewise.
+
+2011-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48335
+ * expr.c (expand_assignment): Handle all possibilities
+ if TO_RTX is CONCAT.
+ * expmed.c (store_bit_field_1): Avoid trying to create
+ invalid SUBREGs.
+ (store_split_bit_field): If SUBREG_REG (op0) or
+ op0 itself has smaller mode than word, return it
+ for offset 0 and const0_rtx for out-of-bounds stores.
+ If word is const0_rtx, skip it.
+
+2011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
+
+ * config/h8300/h8300.c (print_operand_address): Rename to...
+ (h8300_print_operand_address): ...this. Make static. Adjust comments.
+ Call h8300_print_operand and h8300_print_operand_address instead of
+ print_operand and print_operand_address. Declare.
+ (print_operand): Renake to...
+ (h8300_print_operand): ...this. Make static. Adjust comments.
+ Call h8300_print_operand instead of print_operand. Declare.
+ (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
+ (h8300_register_move_cost): Likewise.
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
+ TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
+ * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
+ PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
+ * config/h8300/h8300-protos.h (print_operand): Delete.
+ (print_operand_address): Delete.
+
+2011-04-01 Richard Henderson <rth@redhat.com>
+
+ PR 48400
+ * dwarf2out.c (dwarf2out_source_line): Disable discriminators
+ in strict mode before dwarf4. Re-order tests to early out
+ before switching sections.
+
+2011-04-01 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/h8300/constraints.md: New file.
+ * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
+ satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
+ (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
+ * config/h8300/predicates.md (bit_operand): Likewise.
+ (incdec_operand): Use satisfies_constraint_M and
+ satisfies_constraint_O. Don't use C code block.
+ * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
+ * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
+ (compute_mov_length): Use satisfies_constraint_G.
+ (fix_bit_operand): Use satisfies_constraint_U.
+ * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
+ (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
+ (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
+ (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
+ (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
+ (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
+ (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+ (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
+ (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
+ (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
+ (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
+ (EXTRA_MEMORY_CONSTRAINT): Delete.
+
+2011-04-01 Andrew Pinski <pinskia@gmail.com>
+ Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/48262
+ * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
+ operands, as per the specifications.
+
+ * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
+ (vec_extract_evenv4sf): Ditto.
+ (vec_extract_evenv8hi): Ditto.
+ (vec_extract_evenv16qi): Ditto.
+ (vec_extract_oddv4si): Ditto.
+
+2011-03-31 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
+ high_pc attribute if the CU has no associated code. Only output
+ DW_AT_entry_pc for CU if not generating strict dwarf and
+ dwarf_version < 4.
+
+2011-04-01 Bernd Schmidt <bernds@codesourcery.com>
+
+ * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
+ * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
+ out of ...
+ (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
+ * final.c (final_start_function): Call the new function rather
+ than using a NULL argument for dwarf2out_frame_debug.
+
+ * ifcvt.c (cond_exec_process_insns): Disallow converting a block
+ that contains the prologue.
+
+ * haifa-sched.c (queue_insn): New arg REASON. All callers
+ changed. Print it in debugging output.
+
+ * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
+
+ * sched-ebb.c (begin_schedule_ready): Remove second argument.
+ Split most of the code into...
+ (begin_move_insn): ... here. New function.
+ (ebb_sched_info): Add a pointer to it.
+ * haifa-sched.c (scheduled_insns): New static variable.
+ (sched_extend_ready_list): Allocate it.
+ (schedule_block): Use it to record the order of scheduled insns.
+ Perform RTL changes to move insns only after all scheduling
+ decisions have been made.
+ * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
+ begin_move_insn field.
+ * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
+ * sched-int.h (struct haifa_sched_info): Remove second argument
+ from begin_schedule_ready hook. Add new member begin_move_insn.
+ * sched-rgn.c (begin_schedule_ready): Remove second argument.
+ (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
+
+ * haifa-sched.c (prune_ready_list): New function, broken out of
+ schedule_block.
+ (schedule_block): Use it.
+
+2011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
+
+2011-04-01 Kai Tietz <ktietz@redhat.com>
+
+ * config.gcc (*-*-mingw*): Allow as option the
+ posix threading model.
+ * config/i386/mingw32.h ( SPEC_PTHREAD1, SPEC_PTHREAD2):
+ New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
+ definition.
+ (CPP_SPEC): Add pthread/no-pthread handling.
+ (LIB_SPEC): Likewise.
+ * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
+ (LIB_SPEC): Likewise.
+ * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
+ flag to pass -pthread option for shared libgcc build.
+ (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
+ for shared libgcc build.
+ * config/i386/t-mingw-pthread: New file.
+ * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
+ New define to enable use of library pthread by default.
+ * config/i386/mingw.opt (pthread): New driver option.
+ (no-pthread): New driver option.
+ * config/i386/cygming.opt: Make sure trailing empty line
+ is retained.
+ * config/i386/mingw-w64.opt: Likewise.
+
+2011-04-01 Gary Funck <gary@intrepid.com>
+
+ * c-decl.c (grokdeclarator): Fix formatting.
+
+2011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * expr.c (emit_block_move_via_movmem): Use n_generator_args
+ instead of n_operands.
+ (set_storage_via_setmem): Likewise.
+ * optabs.c (maybe_gen_insn): Likewise.
+ * config/arm/arm.c (arm_init_neon_builtins): Likewise.
+ * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
+ (mips_expand_builtin_direct): Likewise.
+ * config/spu/spu.c (expand_builtin_args): Likewise.
+
+2011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * recog.h (insn_data_d): Add n_generator_args.
+ * genoutput.c (data): Likewise.
+ (output_insn_data): Print it.
+ (max_opno, num_dups): Delete.
+ (scan_operands): Just fill in "d->operand[...]".
+ (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
+
+2011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * gensupport.h (pattern_stats): New structure.
+ * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
+ * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
+ (max_operand_1, max_operand_vec): Delete.
+ (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
+
+2011-03-31 Nathan Froyd <froydnj@codesourcery.com>
+
+ * emit-rtl.c (emit_pattern_after_setloc): New function.
+ (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
+ (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
+ (emit_pattern_after): New function.
+ (emit_insn_after, emit_jump_insn_after): Call it.
+ (emit_call_insn_after, emit_debug_insn_after): Likewise.
+ (emit_pattern_before_setloc): New function.
+ (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
+ (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
+ Likewise.
+ (emit_pattern_before): New function.
+ (emit_insn_before, emit_jump_insn_before): Call it.
+ (emit_call_insn_before, emit_debug_insn_before): Likewise.
+
2011-03-31 Richard Henderson <rth@redhat.com>
* dwarf2out.c (dw_separate_line_info_ref): Remove.