OSDN Git Service

2008-04-30 Martin Jambor <mjambor@suse.cz>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 843a2e2..e62a91a 100644 (file)
@@ -1,3 +1,197 @@
+2008-04-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (ALWAYS_RESTORE_ALTIVEC_BEFORE_POP): Define.
+       (rs6000_emit_epilogue): Use backchain to restore only when we
+       have a large frame.  Make use of frame pointer to restore if we
+       have one.  Handle ALWAYS_RESTORE_ALTIVEC_BEFORE_POP.
+
+2008-04-29  Paolo Bonzini  <bonzini@gnu.org>
+
+       * config/avr/avr.md (*sbrx_branch, *sbix_branch, *sbix_branch_tmp):
+       Add mode to zero_extract.
+       (sign bit tests peepholes): (Ditto.).
+
+2008-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_builtins): Replace Prescott New
+       Instructions in comments with SSE3.
+       (ix86_builtin_type): This.  Add FLOAT128_FTYPE_FLOAT128,
+       INT64_FTYPE_V4SF, INT64_FTYPE_V2DF, INT_FTYPE_V16QI,
+       INT_FTYPE_V8QI, INT_FTYPE_V4SF, INT_FTYPE_V2DF,
+       V16QI_FTYPE_V16QI, V8HI_FTYPE_V8HI, V8HI_FTYPE_V16QI,
+       V8QI_FTYPE_V8QI, V4SI_FTYPE_V4SI, V4SI_FTYPE_V16QI,
+       V4SI_FTYPE_V4SF, V4SI_FTYPE_V8HI, V4SI_FTYPE_V2DF,
+       V4HI_FTYPE_V4HI, V4SF_FTYPE_V4SF, V4SF_FTYPE_V4SI,
+       V4SF_FTYPE_V2DF, V2DI_FTYPE_V2DI, V2DI_FTYPE_V16QI,
+       V2DI_FTYPE_V8HI, V2DI_FTYPE_V4SI, V2DF_FTYPE_V2DF,
+       V2DF_FTYPE_V4SI, V2DF_FTYPE_V4SF, V2DF_FTYPE_V2SI,
+       V2SI_FTYPE_V2SI, V2SI_FTYPE_V4SF, V2SI_FTYPE_V2SF,
+       V2SI_FTYPE_V2DF, V2SF_FTYPE_V2SF and V2SF_FTYPE_V2SI.
+       (bdesc_sse_args): Renamed to ...
+       (bdesc_args): This.  Add IX86_BUILTIN_PF2ID, IX86_BUILTIN_PFRCP,
+       IX86_BUILTIN_PFRSQRT, IX86_BUILTIN_PI2FD, IX86_BUILTIN_PF2IW,
+       IX86_BUILTIN_PSWAPDSI, IX86_BUILTIN_PSWAPDSF and
+       IX86_BUILTIN_FABSQ.
+       (bdesc_1arg): Moved to ...
+       (bdesc_args): Here.
+       (ix86_init_mmx_sse_builtins): Updated.  Replace Prescott New
+       Instructions in comments with SSE3.
+       (ix86_expand_sse_operands_builtin): Renamed to ...
+       (ix86_expand_args_builtin): This.  Updated.
+       (ix86_expand_unop1_builtin): Update comments.
+       (ix86_expand_builtin): Updated.
+
+2008-04-29  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36078
+       * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
+       Update virtual SSA form after cleaning up the CFG.
+
+2008-04-29  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/15255
+       * fold-const.c (fold_binary): Fold (A + A) * C to A * 2*C.
+
+2008-04-29  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-alias.c (finalize_ref_all_pointers): Remove.
+       (compute_may_aliases): Do not call finalize_ref_all_pointers.
+       (compute_flow_insensitive_aliasing): Do not treat
+       PTR_IS_REF_ALL pointers special.
+       (get_smt_for): Likewise.
+       (may_alias_p): Re-structure.
+       (is_escape_site): A ref-all pointer conversion is not an escape site.
+       * tree-ssa-structalias.c (find_what_p_points_to): Do not treat
+       PTR_IS_REF_ALL pointers special.
+       * tree-ssa-structalias.h (struct alias_info): Remove
+       ref_all_symbol_mem_tag field.
+       (PTR_IS_REF_ALL): Remove.
+
+2008-04-29  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/36077
+       * fold-const.c (extract_muldiv_1): In combining division constants
+       make sure to never overflow.
+
+2008-04-29  Nick Clifton  <nickc@redhat.com>
+
+       * doc/tm.texi (RETURN_ADDR_RTX): Fix typo.
+
+2008-04-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR bootstrap/35169
+       * optc-gen.awk: Work around HP-UX/IA awk bug.
+
+2008-04-28  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/cygming-crtend.c (register_frame_ctor): Revert my
+       2008-04-25 commit.
+
+2008-04-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/36073
+       * config/i386/i386.md
+       (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit):
+       Change operand 1 predicate to nonimmediate_operand.
+
+2008-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/36060
+       * dwarf2out.c (struct die_struct): Mark as chain_circular through
+       die_sub field.
+       * gengtype.c (walk_type, write_func_for_structure): Handle
+       chain_circular.
+       * doc/gty.texi: Document chain_circular.
+
+2008-04-28  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36066
+       * tree-vrp.c (execute_vrp): Cleanup the CFG only after finalizing
+       SCEV and loop.
+
+2008-04-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/36064
+       * config/i386/i386.md
+       (floatdi<X87MODEF:mode>2_i387_with_xmm splitters):
+       Use match_scratch instead of match_operand for operands 3 and 4.
+
+2008-04-27  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/18754
+       PR tree-optimization/34223
+       * tree-pass.h (pass_complete_unrolli): Declare.
+       * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Print
+       loop size before and after unconditionally of UL_NO_GROWTH in effect.
+       Rewrite loop into loop closed SSA form if it is not already.
+       (tree_unroll_loops_completely): Re-structure to iterate over
+       innermost loops with intermediate CFG cleanups.
+       Unroll outermost loops only if requested or the code does not grow
+       doing so.
+       * tree-ssa-loop.c (gate_tree_vectorize): Don't shortcut if no
+       loops are available.
+       (tree_vectorize): Instead do so here.
+       (tree_complete_unroll): Also unroll outermost loops.
+       (tree_complete_unroll_inner): New function.
+       (gate_tree_complete_unroll_inner): Likewise.
+       (pass_complete_unrolli): New pass.
+       * tree-ssa-loop-manip.c (find_uses_to_rename_use): Only record
+       uses outside of the loop.
+       (tree_duplicate_loop_to_header_edge): Only verify loop-closed SSA
+       form if it is available.  
+       * tree-flow.h (tree_unroll_loops_completely): Add extra parameter.
+       * passes.c (init_optimization_passes): Schedule complete inner
+       loop unrolling pass before the first CCP pass after final inlining.
+
+2008-04-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * targhooks.h (default_emutls_var_fields,
+       default_emutls_var_init): Declare.
+       * tree.h (DECL_THREAD_LOCAL): Compare against TLS_MODEL_REAL.
+       * target.h (struct gcc_target): Add struct emutls member.
+       * target-def.h (TARGET_EMUTLS_GET_ADDRESS,
+       TARGET_EMUTLS_REGISTER_COMMON, TARGET_EMUTLS_VAR_SECTION,
+       TARGET_EMUTLS_TMPL_SECTION, TARGET_EMUTLS_VAR_PREFIX,
+       TARGET_EMUTLS_TMPL_PREFIX, TARGET_EMUTLS_VAR_FIELDS,
+       TARGET_EMUTLS_VAR_INIT, TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS,
+       TARGET_EMUTLS_VAR_ALIGN_FIXED, TARGET_EMUTLS): New.
+       (TARGET_INITIALIZER): Add TARGET_EMUTLS.
+       * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS,
+       BUILT_IN_EMUTLS_REGISTER_COMMON): Get name from targetm structure.
+       * dwarf2out.c (loc_descriptor_from_tree_1): Check if emutls can
+       emit debug information.
+       * coretypes.h (tls_model): Add TLS_MODEL_EMULATED, TLS_MODEL_REAL.
+       * varasm.c: Include targhooks.h.
+       (emutls_object_section, emutls_tmpl_section): New.
+       (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): Remove.
+       (EMUTLS_SEPARATOR): New.
+       (prefix_name): New.
+       (get_emutls_object_name): New.
+       (default_emutls_var_fields): New, broken out of ...
+       (get_emutls_object_type): ... here.  Adjust to use target hooks.
+       (get_emutls_init_templ_addr): Adjust to use target hooks.
+       (emutls_decl): Adjust to use target hooks.
+       (emutls_finish): Likewise.
+       (default_emutls_var_init): New, broken out of ...
+       (assemble_variable): ... here.  Adjust to use target hooks.
+       * output.h (enum section_category): Add SECCAT_EMUTLS_VAR,
+       SECCAT_EMUTLS_TMPL.
+       * c-common.c (handle_section_attribute): Prevent overriding
+       sections for emulated tls with special sections.
+       * config/i386/i386.c (x86_64_elf_select_section): Add
+       SECCAT_EMUTLS_VAR and SECCAT_EMUTLS_TMPL.
+       (x86_64_elf_unique_section): Likewise.
+       * config/vxworks.c: Include tree.h.
+       (vxworks_emutls_var_fields, vxworks_emutls_var_init): New.
+       (vxworks_override_options): Set TLS scheme.
+       * doc/tm.texi (Emulated TLS): New node.
+
+2008-04-26  Simon Baldwin <simonb@google.com>
+
+       PR c/35652
+       * builtins.c (c_strlen): Suppressed multiple warnings that can occur
+       with propagated string constants.
+
 2008-04-26  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md (fix_trunc<mode>_i387_fisttp_with_temp): Use 'X'
 
 2008-04-01  George Helffrich  <george@gcc.gnu.org>
 
-       PR fortran/PR35154, fortran/PR23057
-       * fortran/trans-common.c (create_common):  Add decl to function
-       chain to preserve identifier scope in debug output.
-
+       PR fortran/35154, fortran/23057
        * dbxout.c: Emit .stabs debug info for Fortran COMMON block
        variables as base symbol name + offset using N_BCOMM/N_ECOMM.
        (is_fortran, dbxout_common_name, dbxout_common_check): New functions.
        (common_check): New function to check whether symbol in Fortran COMMON.
        (gen_variable_die): If COMMON, use DW_TAG_common_block.
 
-       * testsuite/gcc.dg/debug/pr35154.c:  New test to check that non-Fortran
-       use of common is unchanged.
-
-       * testsuite/lib/gfortran-dg.exp:  New harness to compile Fortran progs
-       with all combinations of debug options available on target.
-       * testsuite/gfortran.dg/debug/debug.exp:  Ditto.
-       * testsuite/gfortran.dg/debug/trivial.f:  Ditto.
-       * testsuite/gfortran.dg/debug/pr35154-stabs.f:  New test case for
-       .stabs functionality.
-       * testsuite/gfortran.dg/debug/pr35154-dwarf2.f:  New test case for
-       DWARF functionality.
-
 2008-04-01  Volker Reichelt  <v.reichelt@netcologne.de>
 
        PR c/35436
 
        * config/spu/spu-builtins.def: Fixed wrong parameter type in spu 
        intrinsics spu_convts, spu_convtu, spu_convtf.
-       * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
 
 2008-02-08  Hans-Peter Nilsson  <hp@axis.com>