1. 29 Jan, 2007 11 commits
  2. 28 Jan, 2007 18 commits
    • builtins.c (expand_builtin_memset): Fix typo in my last patch. · 52ca6d35
      
      	* builtins.c (expand_builtin_memset): Fix typo in my last patch.
      	* value-prof.c (stringop_block_profile): Likewise.
      
      From-SVN: r121272
      Jan Hubicka committed
    • expr.c (emit_block_move_via_movmem, [...]): Add variant handling histograms; add wrapper. · 079a182e
      	* expr.c (emit_block_move_via_movmem, emit_block_move_via_libcall): Add
      	variant handling histograms; add wrapper.
      	(clear_storage_via_libcall): Export.
      	(emit_block_move_hints): Break out from ...; add histograms.
      	(emit_block_move): ... this one.
      	(clear_storage_hints): Break out from ...; add histograms.
      	(clear_storage): ... this one.
      	(set_storage_via_memset): Handle histogram.
      	* expr.h (emit_block_move_via_libcall, emit_block_move_hints): Declare.
      	(clear_storage_hints, clear_storage_via_libcall): Declare.
      	(set_storage_via_setmem): Update prototype.
      	* doc/md.texi (movmem, setmem): Document new arguments.
      
      	* value-prof.c (dump_histogram_value, tree_find_values_to_profile): Add
      	new histograms.
      	(stringop_block_profile): New global function.
      	(tree_stringops_values_to_profile): Profile block size and alignment.
      	* value-prof.h (enum hist_type): add HIST_TYPE_AVERAGE and
      	HIST_TYPE_IOR.
      	(struct profile_hooks): Add gen_average_profiler and gen_ior_profiler.
      	(stringop_block_profile): Declare.
      	* builtins.c: Include value-prof.h.
      	(expand_builtin_memcpy, expand_builtin_memset): Pass block profile.
      	* gcov-ui.h (GCOV_COUNTER_NAMES): Add new counter.
      	(GCOV_COUNTER_AVERAGE, GCOV_COUNTER_IOR): New constants.
      	(GCOV_COUNTERS, GCOV_LAST_VALUE_COUNTER): Update.
      	* profile.c (instrument_values): Add new counters.
      	* cfgexpand.c (expand_gimple_basic_block): Propagate histograms to
      	calls.
      	* tree-profile.c (tree_average_profiler_fn, tree_ior_profiler_fn): New.
      	(tree_init_edge_profiler): Build new profilers.
      	(tree_gen_average_profiler, tree_gen_ior_profiler): New.
      	(pass_tree_profile): Add dump.
      	(tree_profile_hooks): Update.
      	* Makefile.in (LIBGCOV): Add new constants.
      	* libgcov.c (__gcov_merge_ior, __gcov_average_profiler,
      	__gcov_ior_profiler): New.
      	* i386.md (movmem/setmem expanders): Add new optional arguments.
      
      From-SVN: r121270
      Jan Hubicka committed
    • * MAINTAINERS (spu port): Add myself. · 2472200d
      From-SVN: r121269
      David Edelsohn committed
    • large-size-array-3.c: Correct test case (portability). · 7217a9eb
      
      	* gcc.dg/large-size-array-3.c: Correct test case (portability).
      
      From-SVN: r121266
      Roger Sayle committed
    • 2007-01-28 Michele Sandri <gpointorama@gmail.com> · 94468b1c
      	* gnu/java/nio/channels/natFileChannelWin32.cc
      	(lock): Implemented.
      	(unlock): Implemented.
      
      From-SVN: r121265
      Michele Sandri committed
    • locale_facets.tcc (num_get<>::do_get(iter_type, iter_type, ios_base&,… · 226a2e08
      locale_facets.tcc (num_get<>::do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&), [...]): -Wconversion and -Woverflow fixes.
      
      2007-01-28  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
      	iter_type, ios_base&, ios_base::iostate&, bool&),
      	num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)):
      	-Wconversion and -Woverflow fixes.
      	* include/bits/istream.tcc (operator>>(int&), operator>>(short&)):
      	Likewise.
      	* include/std/valarray (valarray<>::shift, cshift): Likewise.
      
      From-SVN: r121264
      Paolo Carlini committed
    • re PR c++/28988 (g++ does not check first type name in pseudo-destructor-name) · 5cf10afb
      2007-01-28  Andrew Pinski  <pinskia@gmail.com>
      
              PR C++/28988
              * semantics.c (finish_pseudo_destructor_expr): Check the
              destrutor name by calling check_dtor_name.
      
      2007-01-28  Andrew Pinski  <pinskia@gmail.com>
      
              PR C++/28988
              * g++.dg/expr/dtor4.C: New test.
      
      From-SVN: r121261
      Andrew Pinski committed
    • tree-ssa-loop-unswitch.c: Include tree-inline.h. · 7f9bc51b
      	* tree-ssa-loop-unswitch.c: Include tree-inline.h.
      	(tree_unswitch_single_loop): Pass eni_size_weights to
      	tree_num_loop_insns.
      	* tree-ssa-loop-manip.c: Include tree-inline.h.
      	(can_unroll_loop_p): Pass eni_size_weights to
      	tree_num_loop_insns.
      	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p):
      	Pass eni_size_weights to estimate_num_insns.
      	* tree.h (init_inline_once): Export.
      	* toplev.c (backend_init): Call init_inline_once.
      	* cgraphunit.c (cgraph_process_new_functions,
      	cgraph_analyze_function): Pass eni_inlining_weights to
      	estimate_num_insns.
      	* ipa-inline.c (compute_inline_parameters): Ditto.
      	* tree-ssa-loop-ivcanon.c (tree_num_loop_insns): Pass weights
      	to estimate_num_insns.
      	(try_unroll_loop_completely): Pass eni_size_weights to
      	tree_num_loop_insns.
      	* tree-eh.c (decide_copy_try_finally): Pass eni_size_weights
      	ot estimate_num_insns.
      	* tree-ssa-loop-prefetch.c: Include tree-inline.h.
      	(loop_prefetch_arrays): Pass eni_time_weights to tree_num_loop_insns.
      	* tree-inline.c (eni_inlining_weights, eni_size_weights,
      	eni_time_weights): New variables.
      	(init_inline_once): Initialize them.
      	(struct eni_data): Mew.
      	(estimate_num_insns_1, estimate_num_insns): Use weights.
      	* tree-inline.h (struct eni_weights_d): New.
      	(eni_inlining_weights, eni_size_weights, eni_time_weights): Declare.
      	(estimate_num_insns): Declaration changed.
      	* cfgloop.h (tree_num_loop_insns): Declaration changed.
      	* Makefile.in (tree-ssa-loop-unswitch.o, tree-ssa-loop-prefetch.o,
      	tree-ssa-loop-manip.o): Add TREE_INLINE_H dependency.
      
      	* gcc.dg/tree-ssa/loop-23.c: New test.
      
      From-SVN: r121260
      Zdenek Dvorak committed
    • tree-data-ref.c (conflict_fn): Assert that the number of affine relations in the… · b39c6706
      tree-data-ref.c (conflict_fn): Assert that the number of affine relations in the conflict function is valid.
      
      	* tree-data-ref.c (conflict_fn): Assert that the number of affine
      	relations in the conflict function is valid.
      
      From-SVN: r121259
      Zdenek Dvorak committed
    • re PR bootstrap/30469 (profiledbootstrap no longer works) · 9891ec5f
      	PR bootstrap/30469
      	* Makefile.in (CFLAGS): Forcibly remove -fprofile-generate and
      	-fprofile-use.
      
      From-SVN: r121257
      Daniel Jacobowitz committed
    • ipa-cp.c (ipcp_insert_stage, [...]): Support for SSA. · 3cc1cccc
      2007-01-25  Razya Ladelsky  <razya@il.ibm.com>
      
              * ipa-cp.c (ipcp_insert_stage, ipcp_driver): Support for SSA.
              (ipcp_driver): Change to static definition.
              Add dumping of the ifunctions.
              (constant_val_insert): Remove unused parameter. Support for SSA.
              (ipcp_propagate_const): Support for SSA.
              (ipcp_profile_bb_print): Print only analyzed nodes.
              (ipcp_replace_map_create): Remove support for Fortran constant
              for now.
              * ipa-prop.c (ipa_method_modify_stmt,
              ipa_callsite_compute_param): Support for SSA.
              * ipa-prop.h (ipcp_driver): Remove declaration.
              (IS_VALID_TREE_MAP_INDEX): Add define.
      
      From-SVN: r121256
      Razya Ladelsky committed
    • re PR fortran/30389 ([4.1 only] ACHAR() intrinsic gives erroneous errors in constant-folding.) · 34462c28
      2007-01-28  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	PR libfortran/30389
      	* gfortran.h:  Remove gfc_simplify_init_1.
      	* arith.h:  Remove third argument from gfc_compare_string.
      	* arith.c(gfc_compare_expression):  Remove third argument
      	from call to gfc_compare_string.
      	(gfc_compare_string):  Remove third argument xcoll_table.
      	Remove use of xcoll_table.
      	* misc.c(gfc_init_1):  Remove call to gfc_simplify_init_1.
      	* simplify.c(ascii_table):  Remove.
      	(xascii_table): Likewise.
      	(gfc_simplify_achar):  ICE if extract_int fails.  Remove use of
      	ascii_table.  Warn if -Wsurprising and value < 0 or > 127.
      	(gfc_simplify_char):  ICE if extract_int fails. Error if
      	value < 0 or value > 255.
      	(gfc_simplify_iachar):  Remove use of xascii_table.
      	Char values outside of 0..255 are an ICE.
      	(gfc_simplify_lge):  Remove use of xascii_table.
      	(gfc_simplify_lgt):  Likewise.
      	(gfc_simplify_lle):  Likewise.
      	(gfc_simplify_llt):  Likewise.
      	(invert_table):  Remove.
      	(gfc_simplify_init_1):  Remove.
      
      2007-01-28  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	PR libfortran/30389
      	* gfortran.dg/achar_2.f90:  New test.
      	* gfortran.dg/achar_3.f90:  New test.
      
      From-SVN: r121255
      Thomas Koenig committed
    • common.opt: Add fstrict-overflow. · eeef0e45
      ./:	* common.opt: Add fstrict-overflow.
      	* opts.c (decode_options): Set flag_strict_overflow if -O2.
      	* flags.h (TYPE_OVERFLOW_WRAPS): Define.
      	(TYPE_OVERFLOW_UNDEFINED): Define.
      	(TYPE_OVERFLOW_TRAPS): Define.  This replaces TYPE_TRAP_SIGNED.
      	Replace all uses.
      	* tree.h (TYPE_TRAP_SIGNED): Don't define.
      	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
      	(fold_negate_expr): Likewise.
      	(make_range): Likewise.
      	(extract_muldiv_1): Likewise.
      	(maybe_canonicalize_comparison): Likewise.
      	(fold_comparison): Likewise.
      	(fold_binary): Likewise.
      	(tree_expr_nonnegative_p): Likewise.
      	(tree_expr_nonzero_p): Likewise.
      	* tree-vrp.c (compare_values): Likewise.
      	(extract_range_from_binary_expr): Likewise.
      	(extract_range_from_unary_expr): Likewise.
      	* tree-ssa-loop-niter.c (infer_loop_bounds_from_signedness):
      	Likewise.
      	(nowrap_type_p): Likewise.
      	* tree-scalar-evolution.c (simple_iv): Likewise.
      	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
      	(build_range_check): Likewise.
      	(extract_muldiv_1): Likewise.
      	(fold_comparison): Likewise.
      	* tree-vrp.c (vrp_int_const_binop): Likewise.
      	(extract_range_from_unary_expr): Likewise.
      	* convert.c (convert_to_integer): Likewise.
      	* fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
      	(fold_comparison): Likewise.
      	(fold_binary): Likewise.
      	* optabs.c (optab_for_tree_code): Likewise.
      	* tree-vectorizer.c (vect_is_simple_reduction): Likewise.
      	* simplify-rtx.c (simplify_const_relational_operation): Check
      	flag_strict_overflow and flag_trapv.
      	(simplify_const_relational_operation): Likewise.
      	* doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
      	(Optimize Options): Add -fstrict-overflow to -O2 list.  Document
      	-fstrict-overflow.
      testsuite/:
      	* gcc.dg/strict-overflow-1.c: New test.
      	* gcc.dg/no-strict-overflow-1.c: New test.
      	* gcc.dg/strict-overflow-2.c: New test.
      	* gcc.dg/no-strict-overflow-2.c: New test.
      	* gcc.dg/strict-overflow-3.c: New test.
      	* gcc.dg/no-strict-overflow-3.c: New test.
      	* gcc.dg/strict-overflow-4.c: New test.
      	* gcc.dg/no-strict-overflow-4.c: New test.
      	* gcc.dg/fold-mod-1.c: Add -fstrict-overflow option.
      	* gcc.dg/pr15784-1.c: Likewise.
      	* gcc.dg/pr20922-1.c: Likewise.
      	* gcc.dg/pr20922-3.c: Likewise.
      	* gcc.dg/pr20922-4.c: Likewise.
      	* gcc.dg/pr20922-6.c: Likewise.
      	* gcc.dg/compare-4.c: Likewise.
      	* gcc.dg/torture/pr26898-1.c: Likewise.
      	* gcc.dg/tree-ssa/divide-1.c: Likewise.
      	* gcc.dg/tree-ssa/divide-2.c: Likewise.
      	* gcc.dg/tree-ssa/divide-3.c: Likewise.
      	* gcc.dg/tree-ssa/divide-4.c: Likewise.
      	* gcc.dg/tree-ssa/pr14490-1.c: Likewise.
      	* gcc.dg/tree-ssa/pr14490-3.c: Likewise.
      	* gcc.dg/tree-ssa/pr21082.c: Likewise.
      	* gcc.dg/tree-ssa/pr26899.c: Likewise.
      	* g++.dg/tree-ssa/pr21082.C: Likewise.
      
      From-SVN: r121254
      Ian Lance Taylor committed
    • tree.c (tree_fold_gcd): Delete. · b73a6056
      
      	* tree.c (tree_fold_gcd): Delete.
      	* tree.h (tree_fold_gcd): Remove prototype.
      	* tree-data-ref.c (tree_fold_divides_p): Don't use tree_fold_gcd to
      	test whether one constant integer is a multiple of another.  Instead
      	call int_const_binop with TRUNC_MOD_EXPR and test for a zero result.
      	* fold-const.c (multiple_of_p):  We've determined both TOP and
      	BOTTOM are integer constants so we can call int_const_binop directly
      	instead of the more generic const_binop.
      
      From-SVN: r121253
      Roger Sayle committed
    • fold-const.c (size_binop): In the fast-paths for X+0... · 74890d7b
      
      	* fold-const.c (size_binop): In the fast-paths for X+0, 0+X, X-0 and
      	1*X check that the constant hasn't overflowed, to preserve the
      	TREE_OVERFLOW bit.
      	(round_up): Provide an efficient implementation when rouding-up an
      	INTEGER_CST to a power-of-two.
      
      	* gcc-dg/large-size-array-3.c: New test case.
      
      From-SVN: r121252
      Roger Sayle committed
    • Daily bump. · 5e851559
      From-SVN: r121250
      GCC Administrator committed
  3. 27 Jan, 2007 11 commits
    • sourcebuild.texi: Add comma for clarity. · 2a01aae6
      	* doc/sourcebuild.texi: Add comma for clarity.
      	* doc/extend.texi: Fix some typos.
      	* doc/passes.texi: Likewise.
      	* doc/cppinternals.texi: Likewise.
      	* doc/c-tree.texi: Likewise.
      	* doc/tree-ssa.texi: Likewise.
      
      From-SVN: r121242
      Ralf Wildenhues committed
    • sourcebuild.texi: Add comma for clarity. · 1eaf20ec
      	* doc/sourcebuild.texi: Add comma for clarity.
      	* doc/extend.texi: Fix some typos.
      	* doc/passes.texi: Likewise.
      	* doc/cppinternals.texi: Likewise.
      	* doc/c-tree.texi: Likewise.
      	* doc/tree-ssa.texi: Likewise.
      
      From-SVN: r121241
      Ralf Wildenhues committed
    • tree-sra.c (sra_walk_function): Don't rely on aliases being build. · 7fbb9a49
      	* tree-sra.c (sra_walk_function): Don't rely on aliases being build.
      	(pass_sra): Do not require alias information.
      	* passes.c (init_optimization_passes): Add SRA
      
      From-SVN: r121240
      Jan Hubicka committed
    • re PR libgcj/30513 (Bootstrap failure with libgcj on sparc-sun-solaris2.10) · 4838bfc0
      2007-01-27  Andreas Tobler  <a.tobler@schweiz.org>
      
      	PR libgcj/30513
      	* configure.host: Add forgottten sysdep_dir to sparc. Add a flag to
      	libgcj_flags to undefine 'sun' at compile time.
      	* sysdep/sparc/locks.h (read_barrier): New functions for 32 and 64 bit
      	Sparc.
      	(write_barrier): Likewise.
      
      From-SVN: r121239
      Andreas Tobler committed
    • depstand.m4 (ZW_CREATE_DEPDIR): Use mkinstalldirs to make directory. · 024abeb3
      config
      2007-01-27  Paolo Bonzini  <bonzini@gnu.org>
      	* depstand.m4 (ZW_CREATE_DEPDIR): Use mkinstalldirs to make
      	directory.
      
      libcpp
      	* configure: Rebuilt.
      
      From-SVN: r121237
      Tom Tromey committed
    • trans-stmt.c (forall_info): Replace the next_nest and outer fields that previously implemented a... · e8d366ec
      
      	* trans-stmt.c (forall_info): Replace the next_nest and outer
      	fields that previously implemented a doubly-linked list with a
      	single prev_nest field (singly-linked list).
      	(gfc_trans_nested_forall_loop): The nested_forall_info argument
      	now denotes the innermost FORALL in the loop nest.
      	(compute_overall_iter_number): Use prev_nest instead of next_nest.
      	(gfc_trans_forall_1): Link/cons the new "info" to the head of the
      	nested_forall_info linked list.  Free the current "info" when done.
      
      	* gfortran.dg/forall_7.f90: New test case.
      
      From-SVN: r121236
      Roger Sayle committed
    • re PR fortran/30407 ([4.1 only] Elemental functions in WHERE assignments wrongly rejected) · a00b8d1a
      2007-01-27  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/30407
      	* trans-expr.c (gfc_conv_operator_assign): New function.
      	* trans.h : Add prototype for gfc_conv_operator_assign.
      	* trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
      	a potential operator assignment subroutine.  If it is non-NULL
      	call gfc_conv_operator_assign instead of the first assignment.
      	( gfc_trans_where_2): In the case of an operator assignment,
      	extract the argument expressions from the code for the
      	subroutine call and pass the symbol to gfc_trans_where_assign.
      	resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
      	gfc_resolve_forall_body): Resolve the subroutine call for
      	operator assignments.
      
      2007-01-27  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/30407
      	* gfortran.dg/where_operator_assign_1.f90: New test.
      	* gfortran.dg/where_operator_assign_2.f90: New test.
      	* gfortran.dg/where_operator_assign_3.f90: New test.
      
      From-SVN: r121235
      Paul Thomas committed
    • * gnu/classpath/jdwp/natVMVirtualMachine.cc · ea624428
              (getAllClassMethods): Move error handling to ...
              (throw_jvmti_error): ... here.
              (jdwpClassPrepareCB): New function.
              (jdwpThreadEndCB): New function.
              (jdwpThreadStartCB): New function.
              (jdwpVMDeathCB): New function.
              (jdwpVMInitCB): Define and enable callbacks for
              ClassPrepare, ThreadEnd, ThreadStart, and VMDeath.
      
      From-SVN: r121233
      Keith Seitz committed
    • tracer.c (rest_of_handle_tracer): We already cleaned up the CFG in tracer() so… · 9eab6785
      tracer.c (rest_of_handle_tracer): We already cleaned up the CFG in tracer() so don't do it here again.
      
      	* tracer.c (rest_of_handle_tracer): We already cleaned
      	up the CFG in tracer() so don't do it here again.
      	* cfgcleanup.c (rest_of_handle_jump2): Don't repeat
      	cleanup_cfg here, either.  And don't call renumber_insns.
      
      	* cfgrtl.c (rtl_verify_flow_info_1): Don't verify that BB_END
      	and BB_HEAD are in the insn stream here.  Instead make sure
      	that BB_INSN is valid on all insns.  Also, do check here that
      	there are no pending branch predictions...
      	(rtl_verify_flow_info): ...instead of doing it here.  Checks
      	for BB_END and BB_HEAD moved from rtl_verify_flow_info_1 to
      	here.
      
      From-SVN: r121231
      Steven Bosscher committed
    • Add 'PR fortran/30278' to my previous commit. · 90e7f69d
      From-SVN: r121229
      Steven G. Kargl committed
    • i386.c (ix86_swap_binary_operands_p): New helper function to simplify/factorize… · ffa1b3c6
      i386.c (ix86_swap_binary_operands_p): New helper function to simplify/factorize operand order canonicalization.
      
      
      	* config/i386/i386.c (ix86_swap_binary_operands_p): New helper
      	function to simplify/factorize operand order canonicalization.
      	(ix86_fixup_binary_operands): Reorganize using the above function.
      	(ix86_binary_operator_ok): Likewise.
      
      From-SVN: r121227
      Roger Sayle committed