re PR bootstrap/49104 (bootstrap failure on AMD K6-2 with illegal instruction (cmove...
[platform/upstream/gcc.git] / gcc / ChangeLog
index a3ce4ef..81e2d20 100644 (file)
@@ -1,3 +1,288 @@
+2011-05-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/49104
+       * config/i386/cpuid.h (bit_MMXEXT): New define.
+
+2011-05-22  Nick Clifton  <nickc@redhat.com>
+
+       * config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
+       initialisation of non-existant args[2] element.  Use args[] array
+       not arg[] array to pass arguments to build_function_type_list.
+
+2011-05-22  Ira Rosen  <ira.rosen@linaro.org>
+
+       PR tree-optimization/49087
+       * tree-vect-loop.c (vect_is_slp_reduction): Fail if LHS has no uses.
+
+2011-05-21  Jason Merrill  <jason@redhat.com>
+
+       PR c++/49092
+       * dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for
+       static storage duration.
+
+2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
+       frame pointer.
+
+2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.c (eligible_for_return_delay): Do not return
+       false if there are call-saved registers here...
+       (sparc_can_use_return_insn_p): ...but here instead.
+       (save_or_restore_regs): Fix thinko.
+       (sparc_expand_prologue): Use current_function_is_leaf.
+       (sparc_frame_pointer_required): Likewise.
+
+2011-05-21  Nick Clifton  <nickc@redhat.com>
+
+       PR target/49098
+       * config/rx/rx.c (rx_memory_move_cost): Note unused parameters.
+
+2011-05-21  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * gengtype.c (walk_type): Implemented "atomic" GTY option.
+       * doc/gty.texi (GTY Options): Document "atomic" GTY option.
+
+2011-05-21  Joseph Myers  <joseph@codesourcery.com>
+
+       * opt-read.awk: New.  Split out of optc-gen.awk and opth-gen.awk.
+       * optc-gen.awk: Move common code to opt-read.awk.
+       * opth-gen.awk: Likewise.
+       * Makefile.in (options.c, s-options-h): Update to use opt-read.awk.
+
+2011-05-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * godump.c (go_format_type): Don't use TYPE_ARG_TYPES.
+
+2011-05-20  Tom de Vries  <tom@codesourcery.com>
+
+       PR target/45098
+       * tree-ssa-loop-ivopts.c: Include expmed.h.
+       (get_shiftadd_cost): New function.
+       (force_expr_to_var_cost): Declare forward.  Use get_shiftadd_cost.
+
+2011-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/49086
+       * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
+       for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
+
+2011-05-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * Makefile.in: Update comment referring to $(OBJS-common).
+
+2011-05-20  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c (go_output_typedef): Put enum constants in the macro
+       hash table to avoid duplicate Go const definitions.
+
+2011-05-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * Makefile.in (LIBDEPS): Add libcommon.a.
+       (LIBS): Likewise.
+       (GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o.
+       (OBJS-common): Remove diagnostic.o, input.o, intl.o,
+       pretty-print.o and version.o.
+       (OBJS-libcommon): New.
+       (ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon).
+       (BACKEND): Add libcommon.a.
+       (MOSTLYCLEANFILES): Likewise.
+       (libcommon.a): New.
+       (xgcc$(exeext)): Don't explicitly use version.o and intl.o.
+       (cpp$(exeext)): Likewise.
+       (COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o,
+       pretty-print.o and input.o.
+       (lto-wrapper$(exeext)): Don't explicitly use intl.o.
+       (lto-wrapper.o): Depend on $(DIAGNOSTIC_H).
+       (errors.o): Remove.
+       (mips-tfile): Don't explicitly use version.o.
+       (mips-tdump): Likewise.
+       (gcov.o): Depend on $(DIAGNOSTIC_H).
+       (gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H).
+       (GCOV_OBJS): Remove intl.o, version.o and errors.o.
+       (GCOV_DUMP_OBJS): Remove version.o and errors.o.
+       * gcov-dump.c: Include intl.h and diagnostic.h.
+       (main): Initialize diagnostics.
+       * gcov.c: Include diagnostic.h.
+       (fnotice): Remove.
+       (main): Initialize diagnostics.
+       * lto-wrapper.c: Include diagnostic.h.
+       (main): Initialize diagnostics.
+
+2011-05-20  Michael Matz  <matz@suse.de>
+
+       * Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.
+
+2011-05-20  Michael Matz  <matz@suse.de>
+           Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer.c (lto_record_common_node): Don't track seen nodes,
+       use lto_streamer_cache_append directly instead of returning a VEC.
+       (preload_common_node): Remove.
+       (lto_get_common_nodes): Rename to lto_preload_common_nodes, don't
+       track seen nodes.
+       (lto_streamer_cache_create): Call lto_preload_common_nodes.
+
+2011-05-20  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/49079
+       * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
+       MEM_REFs correctly for the trailing array access detection.
+       Special case constants the same way as decls for overall size
+       constraining.
+
+2011-05-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Fix macro
+       argument expansion.
+
+2011-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/49073
+       * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL if
+       PHI argument is SSA_NAME, whose def_stmt is dominated by the PHI.
+       * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
+
+2011-05-20  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/48849
+       * gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL
+       of pointer types the same way the middle-end does.
+
+2011-05-20  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_register_type_1): Do not fiddle with main-variant
+       or pointer-to chains.  Delay all fixup to uniquify_nodes.
+
+2011-05-19  Quentin Neill  <quentin.neill@amd.com>
+
+       * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
+       (fma4_fmaddsub): Likewise
+
+2011-05-19  Jan Hubicka  <jh@suse.cz>
+
+       * gimple.c (gtc_visited, gtc_ob, type_pair_hash, type_pair_eq): Remove.
+       (GIMPLE_TYPE_PAIR_SIZE): New macro.
+       (type_pair_cache): New static var.
+       (lookup_type_pair): Use fixed sized custom hash; make inline.
+       (gtc_visit, gimple_types_compatible_p, gimple_register_type_1): Update
+       calls of lookup_type_pair.
+       (print_gimple_types_stats): Remove cache stats.
+       (free_gimple_type_tables): Free type_pair_cache instead of gtc_visited
+       and gtc_ob.
+
+2011-05-19  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
+       when TARGET_RDRND is active.
+       (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
+       Generate dummy SImode target register when target is NULL.
+
+2011-05-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/arm-fpus.def: New.
+       * config/arm/genopt.sh: Generate Enum and EnumValue entries from
+       arm-fpus.def.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm.c (all_fpus): Move contents to arm-fpus.def.
+       (arm_option_override): Don't decode FPU name to string here.
+       * config/arm/arm.opt (mfpu=): Use Enum.
+       * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt, arm.o):
+       Update dependencies.
+
+2011-05-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * collect2.c: Include diagnostic.h.
+       (fatal_perror, fatal, error, fancy_abort): Remove.
+       (main): Set progname.  Call xmalloc_set_program_name and
+       diagnostic_initialize.
+       (maybe_run_lto_and_relink, main, collect_execute, scan_prog_file,
+       scan_libraries, resolve_lib_name): Call fatal_error instead of
+       fatal and fatal_perror.
+       * collect2.h (error, fatal, fatal_perror): Don't declare.
+       * tlink.c: Include diagnostic-core.h.
+       (recompile_files): Call fatal_error instead of fatal_perror.
+       * Makefile.in (COLLECT2_OBJS): Include diagnostic.o,
+       pretty-print.o and input.o.
+       (collect2.o, tlink.o): Update dependencies.
+
+2011-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/i386/i386.md (tls_initial_exec_64_sun): Add semicolon.
+
+2011-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/40483
+       * configure.ac (gcc_cv_as_comdat_group_group): Check for Sun as
+       COMDAT group syntax, both SPARC and x86 variants.
+       (HAVE_COMDAT_GROUP): Also define if gcc_cv_as_comdat_group_group.
+       * configure: Regenerate.
+       * config/sol2.h (TARGET_SOLARIS): Define.
+       (PUSHSECTION_FORMAT): Remove.
+       (SECTION_NAME_FORMAT): Define.
+       * config/sol2.c: Include hashtab.h.
+       (solaris_output_init_fini): Replace PUSHSECTION_FORMAT by its
+       expansion, using SECTION_NAME_FORMAT.
+       (solaris_comdat_htab): New variable.
+       (struct comdat_entry): Define.
+       (comdat_hash): New function.
+       (comdat_eq): New function.
+       (solaris_elf_asm_comdat_section): New function.
+       (solaris_define_comdat_signature): New function.
+       (solaris_code_end): New function.
+       * config/sol2-protos.h (solaris_elf_asm_comdat_section): Declare.
+       (solaris_code_end): Declare.
+       * config/t-sol2 (sol2.o): Add $HASHTAB_H dependency.
+       * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Call
+       solaris_code_end.
+       (i386_solaris_elf_named_section): Wrap in TARGET_SOLARIS.
+       Remove ATTRIBUTE_UNUSED.
+       [!USE_GAS]: Call solaris_elf_asm_comdat_section for
+       SECTION_LINKONCE sections if HAVE_COMDAT_GROUP.
+       * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Likewise.
+       * config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Moved ...
+       * config/i386/sol2.h (TARGET_ASM_NAMED_SECTION): ... here.
+       * config/sparc/sol2.h (TARGET_ASM_CODE_END): Redefine.
+       (PUSHSECTION_FORMAT): Remove.
+       (SECTION_NAME_FORMAT): Redefine.
+
+2011-05-19  Kai Tietz  <ktietz@redhat.com>
+
+       * tree-cfg.c (verify_gimple_assign_binary): Barf on
+       TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
+       (gimplify_expr): Move TRUTH_AND|OR|XOR_EXPR to its binary form.
+
+2011-05-19  Anatoly Sokolov <aesok@post.ru>
+           Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/t-sol2 (sol2.o): Add $(TARGET_H) dependency.
+
+2011-05-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/48985
+       * tree-object-size.c (addr_object_size): If the pointed-to
+       variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
+
+2011-05-19  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_types_compatible_p_1): Compare names of
+       the types themselves.
+       (iterative_hash_gimple_type): And hash them that way.
+       (gimple_register_type_1): If we register a main variant properly
+       initialize the leader to ourselves.
+
+2011-05-19  Tom de Vries  <tom@codesourcery.com>
+
+       PR target/45098
+       * tree-ssa-loop-ivopts.c (get_expr_id): Factored new function out of
+       get_loop_invariant_expr_id.
+       (get_loop_invariant_expr_id): Use get_expr_id.
+       (parm_decl_cost): New function.
+       (determine_use_iv_cost_condition): Use get_expr_id and parm_decl_cost.
+       Improve bound cost estimation.  Use different inv_expr_id for elim and
+       express cases.
+
 2011-05-19  Tom de Vries  <tom@codesourcery.com>
 
        PR target/45098