OSDN Git Service

PR middle-end/42202
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index ef355dd..58ff396 100644 (file)
@@ -1,3 +1,124 @@
+2009-12-03  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       PR middle-end/42202
+       * regrename.c (live_in_chains): New variable.
+       (verify_reg_tracked): New static function.
+       (scan_rtx_reg): Update live_in_chains.
+       (scan_rtx): Only promote sets in COND_EXEC to OP_INOUT if
+       we're already tracking the reg.
+       (build_def_use): Likewise.  Initialize live_in_chains.
+
+2009-12-03  Ken Werner  <ken.werner@de.ibm.com>
+
+        * config/spu/spu-elf.h (STARTFILE_SPEC): Add support for gprof
+        startup files.
+        * config/spu/spu-protos.h (spu_function_profiler): Add prototype.
+        * config/spu/spu.c (spu_function_profiler): New function.
+        * config/spu/spu.h (FUNCTION_PROFILER): Invoke
+        spu_function_profiler.
+        (NO_PROFILE_COUNTERS): Define.
+        (PROFILE_BEFORE_PROLOGUE): Likewise.
+
+2009-12-03  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       * ggc-page.c (struct free_object): Pull definition out ...
+       (struct globals): .. from here.
+
+2009-12-02  Richard Guenther  <rguenther@suse.de>
+
+       * fold-const.c (div_if_zero_remainder): Honor that sizetypes
+       are sign-extending.  Simplify.
+
+2009-12-02  Richard Henderson  <rth@redhat.com>
+
+       PR tree-opt/42215
+       * tree-loop-distribution.c (build_size_arg_loc): Tidy.
+       (generate_memset_zero): Convert to sizetype properly.  Tidy.
+
+2009-12-02  Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer-out.c (pack_ts_decl_common_value_fields):
+       Do not pretend we have value exprs.
+
+2009-12-02  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/41491
+       * fold-const.c (try_move_mult_to_index): Do not leak
+       domain types into the IL.
+
+2009-12-02  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42088
+       * tree.c (free_lang_data): Disable if not using LTO.
+
+2009-12-02  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42229
+       * cfgloopmanip.c (remove_path): Avoid cancelling loops
+       twice.
+
+2009-12-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       PR middle-end/42224
+       * tree.h (int_or_pointer_precision): Remove.
+       * tree.c (int_or_pointer_precision): Remove.
+       (integer_pow2p): Use TYPE_PRECISION instead.
+       (tree_log2): Likewise.
+       (tree_floor_log2): Likewise.
+       (signed_or_unsigned_type_for): Likewise.
+       * fold-const.c (fit_double_type): Likewise.
+       * varasm.c (initializer_constant_valid_p): Likewise.
+
+2009-12-02  Ira Rosen  <irar@il.ibm.com>
+
+       * doc/invoke.texi (-fdump-tree-slp): Document.
+       (-ftree-vectorizer-verbose): Update.
+       (-ftree-slp-vectorize): Document.
+
+2009-12-02  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.c (rx_conditional_register_usage): Do not warn if
+       no fixed registers are available for interrupt handlers.  Do not
+       fix normal registers.
+       (MUST_SAVE_ACC_REGISTER): New macro.
+       (rx_get_stack_layout): Create a stack frame for fast interrupt
+       handlers, if necessary.  Push extra registers if needed in order
+       to save the accumulator.
+       (rx_expand_prologue): Create a stack frame for fast interrupt
+       handlers, if necessary.
+       (rx_expand_builtin_mvfc): Handle the case where there is no
+       target.
+
+2009-12-01  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * config/i386/abmintrin.h (__lzcnt16): New.
+       (__lzcnt): New.
+       (__lzcnt64): New.
+       * config/i386/i386-builtin-types.def (UINT16_FTYPE_UINT16): New.
+       * config/i386/i386.c (IX86_BUILTIN_CLZS): New.
+       (bdesc_special_args): Add __builtin_clzs.
+       (ix86_expand_args_builtin): Handle UINT16_FTYPE_UINT16.
+
+2009-12-01  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * config/i386/abmintrin.h (_mm_popcnt_u32): New.
+       (_mm_popcnt_u64): New.
+
+2009-12-01  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * config/i386/abmintrin.h: New.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Defined __ABM__.
+       * config/i386/x86intrin.h: Include abmintrin.h when __ABM__ is defined.
+
+2009-12-01  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (SWI124): Rename from CRC32MODE.
+       (crc32modesuffix): Remove.
+       (crc32modeconstraint): Ditto.
+       (sse4_2_crc32<mode>): Update for renamed mode iterator.  Use
+       imodesuffix instead of crc32modesuffix and <r>m instead of
+       crc32modeconstraint.
+
 2009-12-01  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/42234
 
 2009-12-01  Martin Jambor  <mjambor@suse.cz>
 
-        * cgraph.h (struct cgraph_edge): Reorder fields.  Make loop_nest
+       * cgraph.h (struct cgraph_edge): Reorder fields.  Make loop_nest
        unsigned short int.
        * ipa-prop.h (struct ipa_param_call_note): Likewise.
        * ipa-prop.c (ipa_note_param_call): Initialize note->loop_nest.
        vec_select form to vec_duplicate form.
        (*sse2_interleave_highv2df, sse2_interleave_lowv2df): Use
        ix86_vec_interleave_v2df_operator_ok.
-       (avx_movddup256, avx_unpcklpd256): Change to expanders, merge into ... 
+       (avx_movddup256, avx_unpcklpd256): Change to expanders, merge into ...
        (*avx_unpcklpd256): ... here.
        (*vec_dupv4si_avx): New.
        (*vec_dupv2di_avx): Add movddup alternative.
        (*vec_dupv2di_sse3): New.
        (vec_dup<AVX256MODE24P>): Replace avx_vbroadcasts<AVXMODEF4P> and
-       avx_vbroadcastss256; represent with vec_duplicate instead of 
+       avx_vbroadcastss256; represent with vec_duplicate instead of
        nested vec_concat operations.
        (avx_vbroadcastf128_<mode>): Rename from
        avx_vbroadcastf128_p<avxmodesuffixf2c>256.
        (cgraph_expand_function): Handle thunks.
        (thunk_adjust): New.
        (init_lowered_empty_function): New.
-       * cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): Remove.
+       * cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS):
+       Remove.
        * lto-cgraph.c (lto_output_node): Stream thunk info.
        (input_node): Likewise.
        * langhooks.h (lang_hooks_for_callgraph): Remove emit_associated_thunks.
 
 2009-11-28  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
 
-       * config/avr/avr.h (ASM_OUTPUT_EXTERNAL): Add. 
+       * config/avr/avr.h (ASM_OUTPUT_EXTERNAL): Add.
 
 2009-11-28  David Binderman  <dcb314@hotmail.com>
 
 
 2009-11-27  Nick Clifton  <nickc@redhat.com>
 
-       * longlong.h (count_leading_zeros): Define macro for stormy16
-       target.
-       (COUNT_LEADING_ZEROS_0): Likewise.      
+       * longlong.h (count_leading_zeros): Define macro for stormy16 target.
+       (COUNT_LEADING_ZEROS_0): Likewise.
        * config/stormy16/stormy16-lib2.c: Arrange for separate
        compilation of each function.
        (__ffshi2): New function.
        [SUPPORTS_WEAK && GTHREAD_USE_WEAK] (__gthread_active_p): Use
        __extension__ to allow cast from function pointer to object
        pointer in C++.
-       * doc/install.texi (--enable-threads): Clarify use of Solaris
-       threads.
+       * doc/install.texi (--enable-threads): Clarify use of Solaris threads.
 
 2009-11-27  Steven Bosscher  <steven@gcc.gnu.org>
 
 
 2009-11-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
-       * emit-rtl.c (next_active_insn, prev_active_insn): Correct
-       comment.
+       * emit-rtl.c (next_active_insn, prev_active_insn): Correct comment.
 
 2009-11-27  Jakub Jelinek  <jakub@redhat.com>
 
        (struct builtin_description) <CODE_FOR_avx_vzeroupper_rex64>:
        Remove initailization.
        <CODE_FOR_avx_vzeroupper>: Unconditionally initialize here.
-       
+
 2009-11-25  Paul Brook  <paul@codesourcery.com>
 
        * config/arm/arm.md (consttable_4): Handle (high ...).