OSDN Git Service

* dwarf2out.c (dwarf2out_frame_debug_expr): Consult the
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 1a6f22a..5b35250 100644 (file)
@@ -1,3 +1,266 @@
+2008-03-06  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * dwarf2out.c (dwarf2out_frame_debug_expr): Consult the
+       dwarf_register_span hook when emitting unwind information for
+       register-to-memory saves.
+       * config/rs6000/rs6000.c (spe_synthesize_frame): Delete.
+       (rs6000_frame_related): Remove call to spe_synthesize_frame.
+
+2008-03-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes
+       for the same VAR_DECL.
+
+2008-03-06  Tom Tromey  <tromey@redhat.com>
+
+       * treelang: Delete.
+       * doc/standards.texi (Standards): Don't mention treelang.
+       * doc/invoke.texi (Overall Options): Don't mention treelang.
+       * doc/install.texi (Prerequisites): Don't mention bison or
+       treelang.
+       (Configuration): Don't mention treelang.
+       (Building): Likewise.
+       * doc/frontends.texi (G++ and GCC): Don't mention treelang.
+
+2008-03-06  Paolo Bonzini  <bonzini@gnu.org>
+
+       * simplify-rtx.c (simplify_subreg): Remove useless shifts from
+       word-extractions out of a multi-word object.
+
+2008-03-06  Richard Guenther  <rguenther@suse.de>
+
+       * tree.def (BIT_FIELD_REF): Constrain result type and its precision.
+       * tree-cfg.c (verify_expr): Verify BIT_FIELD_REF constraints on
+       result type and precision.
+       * expr.c (get_inner_reference): Set unsignedp based on the result
+       type of BIT_FIELD_REF.
+       * tree.h (BIT_FIELD_REF_UNSIGNED): Remove.
+       * tree-sra.c (instantiate_element): Do not set BIT_FIELD_REF_UNSIGNED.
+       (try_instantiate_multiple_fields): Likewise.  Use the correct type
+       for BIT_FIELD_REF.
+       (sra_build_assignment): Likewise.
+       (sra_build_elt_assignment): Likewise.
+       (sra_explode_bitfield_assignment): Likewise.
+       * print-tree.c (print_node): Do not check BIT_FIELD_REF_UNSIGNED.
+       * tree-vect-transform.c (vect_create_epilog_for_reduction): Do not
+       set BIT_FIELD_REF_UNSIGNED.
+       (vectorizable_load): Likewise.
+
+2008-03-06  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * cse.c (cse_extended_basic_block): Invalidate artificial defs
+       at bb start.
+
+2008-03-06  Richard Guenther  <rguenther@suse.de>
+
+       * alias.c (struct alias_set_entry): Move has_zero_child field
+       to pack with alias_set.
+
+2008-03-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386-modes.def: Use 4 byte alignment on DI for
+       32bit host.
+
+2008-03-05  Ian Lance Taylor  <iant@google.com>
+
+       * alias.h (alias_set_type): Change from HOST_WIDE_INT to int.
+
+2008-03-05  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * fwprop.c (update_df): Support width and offset parameters of
+       df_ref_create.
+       * ra-conflict.c (mark_reg_store, clear_reg_in_live,
+       global_conflicts): Change DF_REF_EXTRACT to either
+       DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
+       DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
+       * df-scan.c (df_ref_record, df_defs_record,
+       df_ref_create_structure, df_def_record_1, df_uses_record,
+       df_get_conditional_uses, df_get_call_refs, df_insn_refs_collect,
+       df_bb_refs_collect, df_entry_block_defs_collect,
+       df_exit_block_uses_collect): Support new width and offset fields.
+       (ref_extract_pool): New storage pool.
+       (df_free_ref): New function.
+       (df_reg_chain_unlink, df_free_collection_rec,
+       df_sort_and_compress_refs): Call df_free_ref.
+       (df_ref_equal_p, df_ref_compare): Compare offset and width fields
+       of df_ref_extract.
+       (df_ref_create_structure): Allocate df_ref_extract if offset and
+       width fields are used.
+       (df_def_record_1): Get offset and width from ZERO_EXTRACT.
+       (df_uses_record): Get offset and width from ZERO_EXTRACT 
+       and SIGN_EXTRACT.
+       * global.c (build_insn_chain): Change DF_REF_EXTRACT to either
+       DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
+       DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
+       * df.h (df_ref_flags): Change DF_REF_EXTRACT to either
+       DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
+       DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
+       (df_ref_extract): New structure.
+       (DF_REF_WIDTH, DF_REF_OFFSET): New macros.
+       (df_ref_create): Add width and offset parameters.
+       
+2008-03-05  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (get_constraint_for_component_ref):
+       Use ranges_overlap_p.
+       (offset_overlaps_with_access): Rename
+       to ranges_overlap_p and move ...
+       * tree-flow-inline.h (ranges_overlap_p): ... here.
+
+       * tree.h (get_inner_reference, handled_component_p): Update
+       comments.
+
+       * tree.h (record_component_aliases, get_alias_set,
+       alias_sets_conflict_p, alias_sets_must_conflict_p,
+       objects_must_conflict_p): Move declarations ...
+       * alias.h (record_component_aliases, get_alias_set,
+       alias_sets_conflict_p, alias_sets_must_conflict_p,
+       objects_must_conflict_p): ... here.
+       Include coretypes.h.
+       * Makefile.in (ALIAS_H): Add coretypes.h dependency.
+
+2008-03-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * cfg.c: Include tree-flow.h.
+       (remove_edge_raw): Call redirect_edge_var_map_clear.
+       (redirect_edge_succ_nodup): Call redirect_edge_var_map_dup.
+       * tree-flow-inline.h (redirect_edge_var_map_def): New.
+       (redirect_edge_var_map_result): New.
+       * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace
+       PENDING_STMT use with redirect_edge_var_map_*.
+       * tree-ssa.c (edge_var_maps): New definition.
+       (redirect_edge_var_map_add): New.
+       (redirect_edge_var_map_clear): New.
+       (redirect_edge_var_map_dup): New.
+       (redirect_edge_var_map_vector): New.
+       (redirect_edge_var_map_destroy): New.
+       (ssa_redirect_edge): Replace PENDING_STMT use with
+       redirect_edge_var_map_*.
+       (flush_pending_stmts): Same.
+       (delete_tree_ssa): Destroy edge var map.
+       * tree-flow.h (struct _edge_var_map): New.
+       Define edge_var_map vector type.
+       Declare redirect_edge_var_map_* prototypes.
+       * Makefile.in (cfg.o): Depend on TREE_FLOW_H.
+       * tree-cfg.c (reinstall_phi_args): Replace
+       PENDING_STMT use with redirect_edge_var_map_*.
+
+2008-03-05  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/35472
+       * tree-ssa-dse.c (dse_optimize_stmt): Do not delete a store
+       whose single use_stmt has a overlapping set of loaded and
+       stored symbols as that use_stmt might be a noop assignment then.
+
+2008-03-05  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+       * gthr-rtems.h: Implement __gthread_mutex_destroy.
+
+2008-03-05  Richard Guenther  <rguenther@suse.de>
+
+       PR c++/35336
+       * tree.def (BIT_FIELD_REF): Document that operands 1 and 2
+       should be constants.
+       * tree-cfg.c (verify_expr): Verify it.
+       * fold-const.c (fold_truthop): Remove code generating
+       BIT_FIELD_REFs of structure bases.
+       (fold_binary): Likewise.
+       (fold_ternary): Position and size of BIT_FIELD_REFs are
+       always host integers.
+       (make_bit_field_ref): Remove.
+       (optimize_bit_field_compare): Remove.
+       (all_ones_mask_p): Remove.
+
+2008-03-05  Gabor Loki  <loki@gcc.gnu.org>
+
+       PR gcc/33009
+       * rtl-factoring.c (clear_regs_live_in_seq): Fix backward steps.
+       (split_block_and_df_analyze): New. Split basic block and rebuild
+       dataflow.
+       (block_label_after): Use SPLIT_BLOCK_AND_DF_ANALYZE instead of
+       SPLIT_BLOCK.
+       (split_pattern_seq): Likewise.
+       (erase_matching_seqs): Likewise.
+       (split_pattern_seq): Skip return insn in case of REG_NORETURN note.
+
+2008-03-04  Geoff Keating  <geoffk@apple.com>
+
+       * fold-const.c (tree_single_nonnegative_warnv_p): Fix mixed
+       declaration and code.
+       (tree_invalid_nonnegative_warnv_p): Likewise.
+
+2008-03-05  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
+
+       * doc/install.texi (Testing): Correct quoting for the RUNTESTFLAGS
+       examples.  Truncate option-names then causing overfull hbox.
+
+2008-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/35222
+       * configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions
+       on hpux10.
+       * configure: Rebuilt.
+
+2008-03-04  Rafael Espindola  <espindola@google.com>
+
+       * fold-const.c (tree_simple_nonnegative_warnv_p): New.
+       (tree_unary_nonnegative_warnv_p): New.
+       (tree_binary_nonnegative_warnv_p): New.
+       (tree_single_nonnegative_warnv_p): New.
+       (tree_invalid_nonnegative_warnv_p): New.
+       (tree_expr_nonnegative_warnv_p): Redefine in term of the new functions.
+
+2008-03-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR 28322
+       * opts.c (handle_option): Postpone 'unknown option' errors only for
+       warning options.
+
+2008-03-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/35453
+       * config/i386/smmintrin.h (SIDD_XXX): Renamed to ...
+       (_SIDD_XXX): This.
+
+2008-03-04  Rafael Espindola  <espindola@google.com>
+
+       * fold-const.c (tree_unary_nonzero_warnv_p): New.
+       (tree_binary_nonzero_warnv_p): New.
+       (tree_single_nonzero_warnv_p): New.
+       (tree_expr_nonzero_warnv_p): Redefine using the new functions.
+
+2008-03-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR middle-end/35456
+       * fold-const.c (fold_cond_expr_with_comparison): Prevent
+       transformations for modes that have signed zeros.
+       * ifcvt.c (noce_try_abs): Ditto.
+
+>>>>>>> .r132956
+2008-03-04  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/i386/i386.c (override_options): Force
+       -maccumulate-outgoing-args on if TARGET_STACK_PROBE.
+
+2008-03-04  Jan Hubicka  <jh@suse.cz>
+
+       PR c++/35262
+       * ipa-inline.c (cgraph_decide_inlining_of_small_function): Fix typo
+       in last commit.
+
+2008-03-04  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/i386.md (allocate_stack_worker_32): Use  __chkstk
+        label to probe the stack.
+
+2008-03-04  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * gthr-win32.h [__GTHREAD_HIDE_WIN32API]
+       (__gthr_win32_mutex_destroy): Declare.
+       [__GTHREAD_HIDE_WIN32API] (__gthread_mutex_destroy): Use
+       __gthr_win32_mutex_destroy.
+       * config/i386/gthr-win32.c  (__gthr_win32_mutex_destroy): Define.
+
 2008-03-03  Jan Hubicka  <jh@suse.cz>
 
        PR c++/35262
        struct rdg_vertex_info, rdg_vertex_for_stmt): New.
        (create_rdg_edge_for_ddr, create_rdg_vertices): Cleaned up.
        (stmts_from_loop): Skip LABEL_EXPR.
-       (hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del): New.
+       (hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del):
+       New.
        (build_rdg): Initialize rdg->indices htab.
        (free_rdg, stores_from_loop, ref_base_address,
        rdg_defs_used_in_other_loops_p, have_similar_memory_accesses,
        * tree-data-ref.h: Depend on tree-chrec.h.
        (debug_data_dependence_relations, free_data_ref): Declared.
        (same_access_functions): ... here.
-       (ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level): New.
+       (ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level):
+       New.
        (struct rdg_vertex): Add has_mem_write and has_mem_reads.
        (RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT,
        RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT): New.
        (struct rdg_edge): Add level.
        (RDGE_LEVEL): New.
        (free_rdg, stores_from_loop, remove_similar_memory_refs,
-       rdg_defs_used_in_other_loops_p, have_similar_memory_accesses): Declared.
+       rdg_defs_used_in_other_loops_p, have_similar_memory_accesses):
+       Declared.
        (rdg_has_similar_memory_accesses): New.
        * tree-vect-analyze.c: Remove unused static decls.
        * lambda.h (dependence_level): New.