1. 12 Jun, 2007 18 commits
    • re PR libstdc++/29286 (placement new does not change the dynamic type as it should) · 058dcc25
      ./:	PR libstdc++/29286
      	* tree.def: Add CHANGE_DYNAMIC_TYPE_EXPR.
      	* tree.h (CHANGE_DYNAMIC_TYPE_NEW_TYPE): Define.
      	(CHANGE_DYNAMIC_TYPE_LOCATION): Define.
      	(DECL_NO_TBAA_P): Define.
      	(struct tree_decl_common): Add no_tbaa_flag field.
      	* tree-ssa-structalias.c (struct variable_info): Add
      	no_tbaa_pruning field.
      	(new_var_info): Initialize no_tbaa_pruning field.
      	(unify_nodes): Copy no_tbaa_pruning field.
      	(find_func_aliases): Handle CHANGE_DYNAMIC_TYPE_EXPR.
      	(dump_solution_for_var): Print no_tbaa_pruning flag.
      	(set_uids_in_ptset): Add no_tbaa_pruning parameter.  Change all
      	callers.
      	(compute_tbaa_pruning): New static function.
      	(compute_points_to_sets): Remove CHANGE_DYNAMIC_TYPE_EXPR nodes.
      	Call compute_tbaa_pruning.
      	* tree-ssa-alias.c (may_alias_p): Test no_tbaa_flag for pointers.
      	* gimplify.c (gimplify_expr): Handle CHANGE_DYNAMIC_TYPE_EXPR.
      	* gimple-low.c (lower_stmt): Likewise.
      	* tree-gimple.c (is_gimple_stmt): Likewise.
      	* tree-ssa-operands.c (get_expr_operands): Likewise.
      	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
      	* tree-inline.c (estimate_num_insns_1): Likewise.
      	(copy_result_decl_to_var): Likewise.
      	* expr.c (expand_expr_real_1): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-inline.c (copy_decl_to_var): Copy DECL_NO_TBAA_P flag.
      	* omp-low.c (omp_copy_decl_2): Likewise.
      	* print-tree.c (print_node): Print DECL_NO_TBAA_P flag.
      	* doc/c-tree.texi (Expression trees): Document
      	CHANGE_DYNAMIC_TYPE_EXPR.
      cp/:
      	PR libstdc++/29286
      	* init.c (avoid_placement_new_aliasing): New static function.
      	(build_new_1): Call it.
      testsuite/:
      	PR libstdc++/29286
      	* g++.dg/init/new16.C: New test.
      	* g++.dg/init/new17.C: New test.
      	* g++.dg/init/new18.C: New test.
      	* g++.dg/init/new19.C: New test.
      
      Co-Authored-By: Daniel Berlin <dberlin@dberlin.org>
      
      From-SVN: r125653
      Ian Lance Taylor committed
    • fold-const.c (fold_binary): Guard (X-X) -> 0 transformation with !HONOR_NANS and !HONOR_INFINITIES. · 52a39a4c
      	* fold-const.c (fold_binary): Guard (X-X) -> 0 transformation
      	with !HONOR_NANS and !HONOR_INFINITIES.
      	* simplify-rtx.c (simplify_binary_operation_1): Likewise.
      
      From-SVN: r125652
      Kaveh R. Ghazi committed
    • MAINTAINERS (Various Maintainer): Fix typo. · 1c2abe5e
      2007-06-12  Seongbae Park  <seongbae.park@gmail.com>
      
      	* MAINTAINERS (Various Maintainer): Fix typo.
      
      From-SVN: r125651
      Seongbae Park committed
    • reorder changelog entries · fc78ca2b
      From-SVN: r125650
      Dirk Mueller committed
    • gcov.c: Comments updated. · 1a9075e2
      	* gcov.c: Comments updated.
      	(source_info): Add file_time field.
      	(source_index): New variable.
      	(mutiple_files): New variable.
      	(generate_results): New function extracted from process_file.
      	(process_file): Save and restore chain of functions, generate
      	results and free structures only if not merging results.
      	(release_structures): File names are now freed in create_file_names
      	(create_file_names): Free previous file names.
      	(find_source): File date is now read here and modifications in
      	source files is checked here.
      	(read_graph_file): Only reverse order of functions for the current
      	object file.
      	(make_gcov_file_name): Do not generate long names if input_name is
      	NULL.
      	(output_lines): If merging results do not display graph, data and 
      	runs informations.
      	Checking source file modification is done in find_source.
      
      	* doc/gcov.texi: Append an s to sourcefile.
      
      From-SVN: r125649
      Tristan Gingold committed
    • bfin.md (UNSPEC_NOP): New constant. · b18e284e
      	* config/bfin/bfin.md (UNSPEC_NOP): New constant.
      	(forced_nop): New pattern.
      	* config/bfin/bfin.c: Include "df.h".
      	(add_to_reg): Use df_regs_ever_live_p instead of regs_ever_live.
      	(bfin_discover_loop): Use df_get_live_in instead of
      	global_live_at_start.
      	(bfin_reorder_loops): Pass 0 to cfg_layout_initialize.  Call
      	df_analyze when done.
      	(gen_one_bundle): Don't generate SEQUENCE insns, just put modes on
      	the insns.  Use QImode for the final insn in a bundle.  Call
      	df_insn_rescan on generated NOPs; use gen_forced_nop instead of
      	gen_nop.
      	(reorder_var_tracking_notes): New function.
      	(bfin_reorg): Pass no argument to split_all_insns.  Don't call
      	update_life_info.  Call df_analyze after scheduling and bundle
      	generation.  Call reorder_var_tracking_notes if generating these notes.
      	Call df_finish_pass at the end.
      
      From-SVN: r125648
      Bernd Schmidt committed
    • trans-stmt.c (gfc_trans_call): fix gcc_assert to a comparison, not an assignment. · 8c8fa927
      2007-06-07  Dirk Mueller  <dmueller@suse.de>
      
              * trans-stmt.c (gfc_trans_call): fix gcc_assert to
              a comparison, not an assignment.
      
              * optabls.c (debug_optab_libfuncs): fix gcc_assert to
              a comparison, not an assignment.
      
      From-SVN: r125647
      Dirk Mueller committed
    • tree-nested.c (convert_local_reference): Handle VIEW_CONVERT_EXPR. · 0e1a6f29
      	* tree-nested.c (convert_local_reference): Handle VIEW_CONVERT_EXPR.
      	Request walking the subtrees only, leaving the current is_lhs/val_only
      	untouched.
      	(convert_non_local_reference): Likewise.
      
      	testsuite/
      	* gnat.dg/lhs_view_convert.adb: New test.
      
      From-SVN: r125646
      Olivier Hainque committed
    • * config/m68k/m68k-devices.def (52221, 52223, 5253): New. · beff4180
      From-SVN: r125645
      Nathan Sidwell committed
    • re PR tree-optimization/15353 ([tree-ssa] Merge two "if"s if one subsumes the other.) · 18d08014
      2007-06-12  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/15353
      	PR tree-optimization/31657
      	* passes.c (init_optimization_passes): Add pass_tree_ifcombine.
      	* timevar.def: Add TV_TREE_IFCOMBINE.
      	* tree-pass.h (pass_tree_ifcombine): Declare.
      	* tree-ssa-ifcombine.c: New file.
      	* tree-ssa-phiopt.c (blocks_in_phiopt_order): Export.
      	* tree-flow.h (blocks_in_phiopt_order): Declare.
      	* Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o.
      	(tree-ssa-ifcombine.o): New dependencies.
      
      	* gcc.c-torture/execute/20070424-1.c: New testcase.
      	* gcc.dg/tree-ssa/ssa-ifcombine-1.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ifcombine-2.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ifcombine-3.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ifcombine-4.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ifcombine-5.c: Likewise.
      
      From-SVN: r125644
      Richard Guenther committed
    • re PR rtl-optimization/32293 (internal compiler error: in do_SUBST, at combine.c:502) · 7f482dfe
      	PR rtl-optimization/32293
      	* combine.c (simplify_if_then_else): Truncate return from
      	nonzero_bits() to correct mode.
      
      testsuite/ChangeLog:
      	
      	PR rtl-optimization/32293
      	* gcc.dg/pr32293.c: New test.
      
      From-SVN: r125643
      Uros Bizjak committed
    • fold-const (fold_binary): Also optimize a/cbrt(b/c) into a*cbrt(c/b) if… · 9883e373
      fold-const (fold_binary): Also optimize a/cbrt(b/c) into a*cbrt(c/b) if flag_unsafe_math_optimizations is set.
      
      	* fold-const (fold_binary) [RDIV_EXPR]: Also optimize a/cbrt(b/c)
      	into a*cbrt(c/b) if flag_unsafe_math_optimizations is set.
      
      testuite/ChangeLog:
      
      	* gcc.dg/builtins-11.c: Also check folding of a/cbrt(b/c).
      
      From-SVN: r125641
      Uros Bizjak committed
    • trans-common.c (create_common): Initialize 'field_init'. · f84c7ed9
      2007-06-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* trans-common.c (create_common): Initialize 'field_init'.
      
      From-SVN: r125640
      Paul Thomas committed
    • Fix a few nits. · a472f546
      From-SVN: r125638
      Eric Botcazou committed
    • Makefile.in (reload1.o-warn): Remove. · 16b4cb48
      
      	* Makefile.in (reload1.o-warn): Remove.
      
      From-SVN: r125636
      Diego Novillo committed
    • combine.c (subst): Fix typo. · 467f79e8
      2007-06-11  Seongbae Park <seongbae.park@gmail.com>
      
      	* combine.c (subst): Fix typo.
      
      From-SVN: r125635
      Seongbae Park committed
    • combine.c (subst): Use reg_overlap_mentioned_p instead of comparing register numbers directly. · 46cc2141
      2007-06-11  Seongbae Park <seongbae.park@gmail.com>
      
      	* combine.c (subst): Use reg_overlap_mentioned_p
      	instead of comparing register numbers directly.
      
      From-SVN: r125634
      Seongbae Park committed
    • Daily bump. · b1db1d9b
      From-SVN: r125631
      GCC Administrator committed
  2. 11 Jun, 2007 19 commits
  3. 10 Jun, 2007 3 commits
    • re PR fortran/32235 (incorrectly position text file after backspace) · 82fa3fc0
      2007-06-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/32235
      	* io/transfer.c (st_read): Remove test for end of file condition.
      	(next_record_r): Add test for end of file condition.
      
      From-SVN: r125606
      Jerry DeLisle committed
    • lambda-code.c (remove_iv): New. · 51c0074e
      	* lambda-code.c (remove_iv): New.
      	(lambda_loopnest_to_gcc_loopnest): Use remove_iv.
      
      
      Co-Authored-By: Sebastian Pop <sebpop@gmail.com>
      
      From-SVN: r125605
      Jan Sjodin committed
    • tree-data-ref.c (dr_analyze_alias): Handle case smt is NULL. · 79f5e442
      	* tree-data-ref.c (dr_analyze_alias): Handle case smt is NULL.
      	* tree-predcom.c (mark_virtual_ops_for_renaming): Exported.
      	* tree-ssa-loop-prefetch.c: Include optabs.h.
      	(FENCE_FOLLOWING_MOVNT): New macro.
      	(struct mem_ref): Add independent_p and storent_p fields.
      	(record_ref): Initalize the new fields.
      	(gather_memory_references_ref): Return true if the reference
      	could be analysed.
      	(gather_memory_references): Check whether all memory accesses
      	in loop were recorded.
      	(should_issue_prefetch_p): Return false for nontemporal stores.
      	(nontemporal_store_p, mark_nontemporal_store, emit_mfence_after_loop,
      	may_use_storent_in_loop_p, mark_nontemporal_stores): New functions.
      	(determine_loop_nest_reuse): Detect independent memory references.
      	(loop_prefetch_arrays): Call mark_nontemporal_stores.
      	* tree-flow.h (mark_virtual_ops_for_renaming): Declare.
      	* Makefile.in (tree-ssa-loop-prefetch.o): Add OPTABS_H dependency.
      	* config/i386/i386.h (x86_mfence): Declare.
      	(FENCE_FOLLOWING_MOVNT): Return x86_mfence.
      	* config/i386/i386.c (x86_mfence): New variable.
      	(ix86_init_mmx_sse_builtins): Initialize x86_mfence.
      
      	* tree-pretty-print.c (dump_generic_node): Mark nontemporal stores.
      	* optabs.c (init_optabs): Initialize storent_optab.
      	* optabs.h (enum optab_index): Add OTI_storent.
      	(storent_optab): Declare.
      	* genopinit.c (optabs): Add initialization for storent_optab.
      	* tree.h (MOVE_NONTEMPORAL): New macro.
      	* expr.c (expand_assignment, store_expr, store_constructor_field,
      	store_constructor, store_field, expand_expr_real_1): Propagate
      	nontemporality of the expanded store.
      	(emit_storent_insn): New function.
      	* expr.h (expand_assignment, store_expr): Declaration changed.
      	* function.c (assign_parm_setup_reg): Pass false as nontemporality
      	to expand_assignment.
      	* stmt.c (expand_asm_expr): Ditto.
      	* calls.c (initialize_argument_information): Pass false as
      	nontemporality to store_expr.
      	* config/i386/sse.md (storentv4sf, storentv2df, storentv2di,
      	storentsi): New.
      
      	* gcc.dg/tree-ssa/prefetch-7.c: New test.
      
      From-SVN: r125604
      Zdenek Dvorak committed