OSDN Git Service

2011-05-26 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b57b242..2b8478e 100644 (file)
@@ -1,3 +1,218 @@
+2011-05-26  Richard Guenther  <rguenther@suse.de>
+
+       * fold-const.c (fold_unary_loc): Remove bogus code.
+
+2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (struct tree_identifier): Inherit from tree_typed, not
+       tree_common.
+       (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
+       * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
+       TS_BASE instead of TS_COMMON.
+       * varasm.c (assemble_name): Remove assert.
+
+2011-05-26  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * Makefile.in (srcdirify): Change order so that libgcc_objdir is
+       substituted first.
+       * libgcc-std.ver: Delete file.
+
+2011-05-26  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/48702
+       * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
+       only when we know the base address is within bounds.
+       * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
+       assume the base address of TARGET_MEM_REFs is in bounds.
+
+2011-05-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/49099
+       * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Wrap
+       declaration in TARGET_SOLARIS.
+
+2011-05-26  Hariharan Sandanagobalane <hariharan@picochip.com>
+
+       * config/picochip/picochip.md (cbranchhi4): No :CC for match_operator.
+         The instruction is then expanded explicitly.
+       (supported_compare): Callable instruction.
+       (compare): Likewise.
+
+2011-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/49165
+       * gimplify.c (shortcut_cond_r): Don't special case
+       COND_EXPRs if they have void type on one of their arms.
+
+2011-05-26  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * haifa-sched.c (schedule-block): Reorder the inner scheduling loop
+       to reduce duplication, and to achieve a slightly more logical order
+       of operations.
+
+2011-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/49161
+       * tree-vrp.c (struct case_info): New type.
+       (compare_case_labels): Sort case_info structs instead of
+       trees, and not primarily by CASE_LABEL uids but by
+       label_for_block indexes.
+       (find_switch_asserts): Put case labels into struct case_info
+       array instead of TREE_VEC, adjust sorting, compare label_for_block
+       values instead of CASE_LABELs.
+
+2011-05-26  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       * config/arm/neon.md ("orn<mode>3_neon"): Canonicalize not.
+       ("orndi3_neon"): Likewise.
+       ("bic<mode>3_neon"): Likewise.
+
+2011-05-26  Ira Rosen  <ira.rosen@linaro.org>
+
+       PR tree-optimization/49038
+       * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
+       Ensure at least one epilogue iteration if required by data
+       accesses with gaps.
+       * tree-vectorizer.h (struct _loop_vec_info): Add new field
+       to mark loops that require peeling for gaps.
+       * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
+       (vect_get_known_peeling_cost): Take peeling for gaps into
+       account.
+       (vect_transform_loop): Generate epilogue if required by data
+       access with gaps.
+       * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
+       loop as requiring an epilogue if there are gaps in the end of
+       the strided group.
+
+2011-05-25  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c (go_format_type): Output the first field with a usable
+       Go type, if any.
+
+2011-05-25  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c (go_format_type): Check for invalid type names, pointer
+       target types, and struct field types.
+
+2011-05-25  Jason Merrill  <jason@redhat.com>
+
+       * print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
+
+2011-05-25  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
+
+2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.md (*movqi_extv_1)): Put back
+       "register_operand" check in "type" calculation.
+       (*movqi_extzv_2): Likewise.
+
+2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * doc/extend.texi (X86 Built-in Functions): Update pause intrinsic.
+
+2011-05-25  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR bootstrap/49160
+       * libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
+       __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
+       __divxc3, __divtc3): Wrap definitions in #ifndef.
+
+2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/49142
+       * config/i386/i386.md (*movqi_extv_1_rex64): Remove
+       "register_operand" check and replace q_regs_operand with
+       QIreg_operand in "type" calculation.
+       (*movqi_extv_1): Likewise.
+       (*movqi_extzv_2_rex64): Likewise.
+       (*movqi_extzv_2): Likewise.
+
+       * config/i386/predicates.md (QIreg_operand): New.
+
+2011-05-25  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
+       type-based offset disambiguation, streamline MEM_REF and
+       TARGET_MEM_REF handling.
+
+2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_PAUSE.
+       (bdesc_special_args): Add pause intrinsic.
+
+       * config/i386/i386.md (UNSPEC_PAUSE): New.
+       (pause): Likewise.
+       (*pause): Likewise.
+       * config/i386/ia32intrin.h (__pause): Likewise.
+
+       * doc/extend.texi (X86 Built-in Functions): Add documentation for
+       pause intrinsic.
+
+2011-05-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       PR tree-optimization/46728
+       * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
+       (execute_cse_sincos): Add switch case for BUILT_IN_POW.
+
+2011-05-25  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (struct tree_exp): Inherit from struct tree_typed.
+       * tree.c (initialize_tree_contains_struct): Mark TS_EXP as TS_TYPED
+       instead of TS_COMMON.
+
+2011-05-25  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
+       LIBGCC2_GNU_PREFIX is defined.
+       (__N): New macro.
+       (__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
+       __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
+       __divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
+       __clz_tab): Define using __N.
+       (__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
+       COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+       * target.def (libfunc_gnu_prefix): New hook.
+       * doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
+       (TARGET_LIBFUNC_GNU_PREFIX): Add hook.
+       * doc/tm.texi: Regenerate.
+       * system.h (LIBGCC2_GNU_PREFIX): Poison.
+       * optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
+       account.
+       (gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
+       (init_optabs): Likewise for the bswap libfuncs.
+       * tree.c (build_common_builtin_nodes): Likewise for complex multiply
+       and divide.
+       * config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
+       * config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
+       * libgcc-std.ver: Remove.
+       * Makefile.in (srcdirify): Handle $$(libgcc_objdir).
+       * config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
+       libgcc-std.ver.
+       * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
+       * config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
+       * config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
+       * config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
+       * config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
+       * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
+       * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
+       * config/fixed-bit.h (FIXED_OP): Define differently depending on
+       LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
+       (FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
+
+2011-05-25  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer-out.c (output_record_start): Use lto_output_enum
+       (lto_output_tree): Use output_record_start.
+       * lto-streamer-in.c (input_record_start): Use lto_input_enum
+       (lto_get_pickled_tree): Use input_record_start.
+       * lto-section-in.c (lto_section_overrun): Turn into fatal error.
+       (lto_value_range_error): New function.
+       * lto-streamer.h (lto_value_range_error): Declare.
+       (lto_output_int_in_range, lto_input_int_in_range): New functions.
+       (lto_output_enum, lto_input_enum): New macros.
+
 2011-05-25  Eric Botcazou  <ebotcazou@adacore.com>
 
        * common.opt (flag_stack_usage_info): New variable.
        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>
+2011-05-19  Anatoly Sokolov  <aesok@post.ru>
            Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * config/t-sol2 (sol2.o): Add $(TARGET_H) dependency.