OSDN Git Service

PR target/32433
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5b707ba..dc35a49 100644 (file)
@@ -1,3 +1,257 @@
+2007-06-30  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/32433
+       * config/i386/i386.md (ffssi2): Expand as ffs_cmove for TARGET_CMOVE.
+       (ffs_cmove): New expander to expand using ctz pattern.
+       (*ffs_cmove): Remove pattern.
+       (*ffs_no_cmove): Enable only for !TARGET_CMOVE.
+       (ffsdi2): Expand using ctz pattern.
+       (*ffs_rex64): Remove pattern.
+
+2007-06-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR rtl-optimization/32296
+       * pa.md (return): Delete pattern.
+       (return_internal): Remove "(const_int 1)" from pattern.
+       (epilogue): Use return_internal pattern for trivial returns.
+       * pa-protos.h (hppa_can_use_return_insn_p): Delete declaration.
+       * pa.c (hppa_can_use_return_insn_p): Delete function.  Include "df.h".
+
+2007-06-30  Daniel Berlin  <dberlin@dberlin.org>
+       
+       Fix PR tree-optimization/32540
+       Fix PR tree-optimization/31651
+
+       * tree-ssa-sccvn.c: New file.
+
+       * tree-ssa-sccvn.h: Ditto.
+       
+       * tree-vn.c: Include tree-ssa-sccvn.h
+       (val_expr_paid_d): Removed.
+       (value_table): Ditto.
+       (vn_compute): Ditto.
+       (val_expr_pair_hash): Ditto.
+       (val_expr_pair_expr_eq): Ditto.
+       (copy_vuses_from_stmt): Ditto.
+       (vn_delete): Ditto.
+       (vn_init): Ditto.
+       (shared_vuses_from_stmt): Ditto.
+       (print_creation_to_file): Moved up.
+       (sort_vuses): Ditto.
+       (sort_vuses_heap): Ditto.
+       (set_value_handle): Make non-static.
+       (make_value_handle): Ditto.
+       (vn_add): Rewritten to use sccvn lookups.
+       (vn_add_with_vuses): Ditto.
+       (vn_lookup): Ditto (and second argument removed).
+       (vn_lookup_with_vuses): Ditto.
+       (vn_lookup_or_add): Ditto (and second argument removed);
+       (vn_lookup_or_add_with_vuses): Ditto.
+       (vn_lookup_with_stmt): New.
+       (vn_lookup_or_add_with_stmt): Ditto.
+       (create_value_handle_for_expr): Ditto.
+
+       * tree-ssa-pre.c: Include tree-ssa-sccvn.h.
+       (seen_during_translate): New function.
+       (phi_trans_lookup): Use iterative_hash_expr, not vn_compute.
+       (phi_trans_add): Ditto.
+       (constant_expr_p): FIELD_DECL is always constant.
+       (phi_translate_1): Renamed from phi_translate, add seen bitmap.
+       Use constant_expr_p.
+       Avoid infinite recursion on mutually valued expressions.
+       Change callers of vn_lookup_or_add.
+       (phi_translate): New function.
+       (compute_antic_safe): Allow phi nodes.
+       (create_component_ref_by_pieces): Update for FIELD_DECL change.
+       (find_or_generate_expression): Rewrite slightly.
+       (create_expression_by_pieces): Updated for vn_lookup_or_add
+       change.
+       Update VN_INFO for new names.
+       (insert_into_preds_of_block): Update for new names.
+       (add_to_exp_gen): New function.
+       (add_to_sets): Use vn_lookup_or_add_with_stmt.
+       (find_existing_value_expr): Rewrite to changed vn_lookup.
+       (create_value_expr_from): Ditto, and use add_to_exp_gen.
+       (try_look_through_load): Removed.
+       (try_combine_conversion): Ditto.
+       (get_sccvn_value): New function.
+       (make_values_for_phi): Ditto.
+       (make_values_for_stmt): Ditto.
+       (compute_avail): Rewritten for vn_lookup_or_add changes and to use
+       SCCVN.
+       (init_pre): Update for SCCVN changes.
+       (fini_pre): Ditto.
+       (execute_pre): Ditto.
+
+       * tree-flow.h (make_value_handle): Declare.
+       (set_value_handle): Ditto.
+       (sort_vuses_heap): Ditto.
+       (vn_lookup_or_add_with_stmt): Ditto.
+       (vn_lookup_with_stmt): Ditto.
+       (vn_compute): Remove.
+       (vn_init): Ditto.
+       (vn_delete): Ditto.
+       (vn_lookup): Update arguments.
+
+       * Makefile.in (tree-ssa-pre.o): Add tree-ssa-sccvn.h
+       (tree-vn.o): Ditto.
+       (tree-ssa-sccvn.o): New.
+       (OBJS-common): Add tree-ssa-sccvn.o
+       
+2007-06-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR c/4076
+       * c-typeck.c (build_external_ref): Don't mark as used if called
+       from itself.
+       * calls.c (rtx_for_function_call): Likewise.
+       
+2007-06-30  Richard Sandiford  <richard@codesourcery.com>
+
+       Revert:
+
+       2007-06-27  Richard Sandiford  <richard@codesourcery.com>
+
+       * dce.c (deletable_insn_p_1): New function, split out from...
+       (deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
+       specially, not those inside PARALLELs.  Remove BODY argument
+       and adjust recursive call accordingly.
+       (prescan_insns_for_dce): Update call to delete_insn_p.
+
+2007-06-30  Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+       * combine.c (combine_validate_cost): New parameter NEWOTHERPAT.
+       (try_combine): Move potential calls to undo_all() so they happen
+       before we commit to using the combined insns.
+
+2006-06-30  Jan Hubicka  <jh@suse.cz>
+
+       * loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit    
+       code.
+
+2006-06-30  Thomas Neumann  <tneumann@users.sourceforge.net>
+
+       * ipa.c (cgraph_postorder): Cast according to the coding conventions.
+       (cgraph_remove_unreachable_nodes): Likewise.
+       * ipa-cp.c (ipcp_propagate_stage): Use BOTTOM instead of integer 0.
+       * ipa-inline.c (update_caller_keys): Cast according to the coding
+       conventions.
+       (cgraph_decide_recursive_inlining): Likewise.
+       (cgraph_decide_inlining_of_small_function): Likewise.
+       (try_inline): Likewise.
+       (cgraph_decide_inlining_incrementally): Likewise.
+       * ipa-pure-const.c (get_function_state): Likewise.
+       (scan_function): Likewise.
+       (analyze_function): Likewise.
+       (static_execute): Likewise.
+       * gcc/ipa-reference.c (scan_for_static_refs): Likewise.
+       (merge_callee_local_info): Likewise.
+       (analyze_function): Use type safe memory macros.
+       (static_execute): Likewise. Cast according to the coding conventions.
+       * ipa-type-escape.c (scan_for_regs): Cast according to the coding
+       conventions.
+       * ipa-utils.c (searchc): Likewise. Avoid using C++ keywords as variable
+       names.
+       (ipa_utils_reduced_inorder): Likewise. Use type safe memory macros.
+       * ipa-utils.h (struct ipa_dfa_info): Avoid using C++ keywords as
+       variable names.
+
+2007-06-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR middle-end/30024
+       * emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0]
+       for complex modes (both int and real).
+
+2007-06-29  Jan Hubicka  <jh@suse.cz>
+
+       * cse.c: Rever accidentally comitted TODO_verify_rtl_sharing change.
+
+2007-06-29  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/32372
+       * cse.c (cse_insn): Avoid invalid sharing in between register note and
+       the insn pattern.
+
+2007-06-29  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/32335
+       * config/avr/avr.c: Include dataflow header file.
+       (expand_prologue): Adjust for prologue insn change.
+       * config/avr/avr.md (call_prologue_saves): Only modify REG_SP once
+       inside a insn.
+
+2007-06-29  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/32493
+       * gimplify.c (gimplify_call_expr): Ignore variable argument parts
+       during type verification.
+
+2007-06-29  Jan Hubicka  <jh@suse.cz>
+
+       * recog.c (validate_change_rtx_1): Unshare TO argument.
+
+2007-06-29  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR tree-optimization/24659
+       * tree-vect-transform.c (vectorizable_call): Handle
+       (nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases.
+
+       * config/i386/sse.md (vec_pack_sfix_v2df): New expander.
+       * config/i386/i386.c (enum ix86_builtins)
+       [IX86_BUILTIN_VEC_PACK_SFIX]: New constant.
+       (struct bdesc_2arg) [__builtin_ia32_vec_pack_sfix]: New builtin
+       description.
+       (ix86_init_mmx_sse_builtins): Define all builtins with 2 arguments as
+       const using def_builtin_const.
+       (ix86_expand_binop_builtin): Remove bogus assert() that insn wants
+       input operands in the same modes as the result.
+       (ix86_builtin_vectorized_function): Handle BUILT_IN_LRINT.
+
+2007-06-29  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * df-problems.c (df_set_unused_notes_for_mw): Fix formatting.
+       (df_set_dead_notes_for_mw): Likewise.
+
+2007-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * c-common.c (pointer_int_sum): Do the negation in sizetype.
+
+2007-06-28  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c.h (OVERRIDE_OPTIONS): Omit unneeded semicolon.
+
+2007-06-28  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/invoke.texi (C++ Dialect Options): Document
+       fvisibility-ms-compat.
+       * c.opt (fvisibility-ms-compat): New.
+
+2007-06-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR tree-opt/32417
+       * tree-affine.c (aff_combination_add_elt): Handle
+       pointer addition specially.
+
+2007-06-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
+       decl is non-external for AIX ABI.
+
+2007-06-28  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/predicates.md (current_file_function_operand):
+       Ensure the symbol is non-external for AIX ABI.
+
+2007-06-28  Nick Clifton  <nickc@redhat.com>
+
+       * common.opt (fipa-matrix-reorg): Add Optimization attribute.
+       (fdce, fdse, fpredictive-commoning): Likewise.
+
+2007-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+       PR other/31400
+       * gcc.c (process_command): Recognize the new -static-libgfortran
+       option.
+
 2007-06-27  Rask Ingemann Lambertsen  <rask@sygehus.dk>
 
        PR target/32418
        * gimplify.c (mark_addressable): New function.
        (gimplify_modify_expr_rhs, gimplify_addr_expr, gimplify_expr): Use it.
 
-2007-06-19  Uros Bizjak  <ubizjak@gmail.com>
+2007-06-22  Uros Bizjak  <ubizjak@gmail.com>
 
        PR middle-end/32374
        * expr.c (store_constructor): Do not clobber non-zeroed memory.