1. 11 Aug, 2011 16 commits
    • tree-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call… · b9393656
      tree-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call stream_write_tree instead of output_record_start.
      
      	* tree-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers):
      	Call stream_write_tree instead of output_record_start.
      	(lto_output_ts_binfo_tree_pointers): Likewise.
      
      	* streamer-hooks.h (stream_write_tree): Move from tree-streamer.h.
      	Convert it to a macro.
      	(stream_read_tree): Likewise.
      
      	* lto-streamer.h (lto_stream_as_builtin_p): Move ...
      	* tree-streamer.h (lto_stream_as_builtin_p): ... here.
      
      	* lto-streamer-in.c (lto_read_tree): Call lto_streamer_cache_append
      	and tree_read_bitfields.
      	* lto-streamer-out.c (lto_is_streamable): Move from lto-streamer.c
      	(lto_write_tree): Call it.
      	* lto-streamer.c (lto_is_streamable): Move to lto-streamer-out.c
      	* streamer-hooks.h (struct streamer_hooks): Remove fields
      	name, is_streamable and alloc_tree. Update all users.
      	* tree-streamer-in.c (tree_read_bitfields): Factor out of ...
      	(lto_materialize_tree): ... here.
      	Handle CALL_EXPR codes.
      	Remove call to lto_streamer_cache_append.
      	* tree-streamer-out.c (lto_output_tree_header): Handle
      	CALL_EXPR nodes.
      	* tree-streamer.h (tree_read_bitfields): Declare.
      
      	* Makefile.in (TREE_STREAMER_H): Add STREAMER_HOOKS_H.
      	(gimple-streamer-in.o): Add dependency on TREE_STREAMER_H.
      	* tree-streamer.h (stream_read_tree): New.  Replace all calls
      	to lto_input_tree with it.
      	(stream_write_tree): New.  Replace all calls to lto_output_tree,
      	lto_output_tree_ref and lto_output_tree_or_ref with it.
      	* lto-streamer-in.c (lto_read_tree): Inline code from
      	lto_streamer_read_tree.
      	(lto_input_tree): Move from tree-streamer-in.c.
      	* lto-streamer-out.c (lto_output_tree_ref): Make static.
      	Remove handling of NULL values for EXPR.
      	Do not handle EXPRs that are not indexable.
      	(lto_write_tree): Move from tree-streamer-out.c.
      	Inline lto_streamer_write_tree.
      	(lto_output_tree): Move from tree-streamer-out.c.
      	If REF_P is true and EXPR is indexable, call lto_output_tree_ref.
      	* lto-streamer.c (lto_record_common_node): Move to tree-streamer.c.
      	(lto_preload_common_nodes): Likewise.
      	Remove assertions and adjustments for nodes
      	main_identifier_node, ptrdiff_type_node and fileptr_type_node.
      	(lto_streamer_hooks_init): Set streamer_hooks.write_tree to
      	lto_output_tree and streamer_hooks.read_tree to
      	lto_input_tree.
      	* lto-streamer.h (lto_input_tree): Declare.
      	(lto_output_tree_ref): Remove.
      	* streamer-hooks.h (struct streamer_hooks): Remove fields
      	preload_common_nodes, indexable_with_decls_p,
      	pack_value_fields, unpack_value_fields, output_tree_header and
      	has_unique_integer_csts_p.
      	Update all users.
      	* tree-streamer-in.c (lto_materialize_tree): Make extern.
      	(lto_input_tree_pointers): Likewise.
      	(lto_read_tree): Move to lto-streamer-in.c.
      	(lto_input_integer_cst): Make extern.
      	(lto_get_pickled_tree): Likewise.
      	(lto_get_builtin_tree): Likewise.
      	(lto_input_tree): Move to lto-streamer-in.c.
      	* tree-streamer-out.c (pack_value_fields): Make extern.
      	(lto_output_tree_or_ref): Remove.  Replace all callers with
      	calls to stream_write_tree.
      	(lto_output_builtin_tree): Make extern.
      	(lto_streamer_write_tree): Inline into lto_write_tree.
      	(lto_output_tree_pointers): Make extern.
      	(lto_output_tree_header): Likewise.
      	(lto_output_integer_cst): Likewise.
      	(lto_write_tree): Move to lto-streamer-out.c.
      	(lto_output_tree): Likewise.
      	* tree-streamer.c (lto_record_common_node): Move from
      	lto-streamer.c
      	(preload_common_nodes): Likewise.
      	(lto_streamer_cache_create): Call it.
      	* tree-streamer.h: Include streamer-hooks.h.
      	(stream_write_tree): New.
      	(stream_read_tree): New.
      	(lto_input_tree): Remove.
      	(lto_materialize_tree): Declare.
      	(lto_input_tree_pointers): Declare.
      	(lto_get_pickled_tree): Declare.
      	(lto_get_builtin_tree): Declare.
      	(lto_input_integer_cst): Declare.
      	(lto_output_tree_header): Declare.
      	(pack_value_fields): Declare.
      	(lto_output_tree_pointers): Declare.
      	(lto_output_integer_cst): Declare.
      	(lto_output_builtin_tree): Declare.
      
      From-SVN: r177661
      Diego Novillo committed
    • sel-sched-ir.c (get_seqno_of_a_pred): Rename to get_seqno_for_a_jump. · cf596bc7
      2011-08-11  Sergey Grechanik  <mouseentity@ispras.ru>
      
      	* sel-sched-ir.c (get_seqno_of_a_pred): Rename to
      	get_seqno_for_a_jump.  Update the caller.
      	(get_seqno_by_succs): New.  Use it ...
      	(get_seqno_for_a_jump): ... here to find a seqno if looking at
      	predecessors was not sufficient.
      	(get_seqno_by_preds): Include head in iteration range, exclude insn.
      
      From-SVN: r177660
      Sergey Grechanik committed
    • sel-sched-ir.c (invalidate_av_set): Remove the assert. · ae328e33
      2011-08-11  Dmitry Melnik  <dm@ispras.ru>
      
      	* sel-sched-ir.c (invalidate_av_set): Remove the assert.
      
      From-SVN: r177659
      Diego Novillo committed
    • sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge only if… · ca31ca94
      sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge only if producer writes to the register given by regno.
      
      2011-08-11  Sergey Grechanik  <mouseentity@ispras.ru>
      
      	* sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
      	only if producer writes to the register given by regno.
      
      From-SVN: r177658
      Sergey Grechanik committed
    • sched-deps.c (sched_get_condition_with_rev): Rename to ... · f0898307
      2011-08-11  Sergey Grechanik  <mouseentity@ispras.ru>
      	    Alexander Monakov  <amonakov@ispras.ru>
      
      	* sched-deps.c (sched_get_condition_with_rev): Rename to ...
      	(sched_get_condition_with_rev_uncached): ... this.  Factor out
      	condition caching logic into ...
      	(sched_get_condition_with_rev): ... this.  Reimplement.  Do not
      	attempt to use cache for instructions with zero luid.
      	(sched_analyze_insn): Use INSN_CACHED_COND instead of INSN_COND.
      	* sched-int.h (INSN_COND): Rename to INSN_CACHED_COND.
      
      
      Co-Authored-By: Alexander Monakov <amonakov@ispras.ru>
      
      From-SVN: r177657
      Sergey Grechanik committed
    • sel-sched-ir.c (get_seqno_of_a_pred): Rename to get_seqno_for_a_jump. · 0d9439b0
      2011-08-11  Sergey Grechanik  <mouseentity@ispras.ru>
      
      	* sel-sched-ir.c (get_seqno_of_a_pred): Rename to
      	get_seqno_for_a_jump.  Update the caller.
      	(get_seqno_by_succs): New.  Use it ...
      	(get_seqno_for_a_jump): ... here to find a seqno if looking at
      	predecessors was not sufficient.
      	(get_seqno_by_preds): Include head in iteration range, exclude insn.
      
      From-SVN: r177656
      Sergey Grechanik committed
    • sel-sched-ir.c (invalidate_av_set): Remove the assert. · 5c416724
      2011-08-11  Dmitry Melnik  <dm@ispras.ru>
      
      	* sel-sched-ir.c (invalidate_av_set): Remove the assert.
      
      From-SVN: r177655
      Dmitry Melnik committed
    • sel-sched-ir.h (register_unavailable_p): Declare. · cf3d5824
      2011-08-11  Sergey Grechanik  <mouseentity@ispras.ru>
      
      	* sel-sched-ir.h (register_unavailable_p): Declare.
      	* sel-sched-ir.c (register_unavailable_p): New.  Use it...
      	(set_unavailable_target_for_expr): ... here to properly test
      	availability of a register.
      	(speculate_expr): Ditto.
      	* sel-sched.c (substitute_reg_in_expr): Ditto.
      	(av_set_could_be_blocked_by_bookkeeping_p): Ditto.
      
      From-SVN: r177654
      Sergey Grechanik committed
    • sel-sched.c (verify_target_availability): Fix usage of hard_regno_nregs. · 944499ed
      2011-08-11  Sergey Grechanik  <mouseentity@ispras.ru>
      
      	* sel-sched.c (verify_target_availability): Fix usage of
      	hard_regno_nregs.
      
      From-SVN: r177653
      Sergey Grechanik committed
    • sel-sched-ir.c (init_global_and_expr_for_insn): Forbid copying of recognized by… · 6bf2d156
      sel-sched-ir.c (init_global_and_expr_for_insn): Forbid copying of recognized by cannot_copy_insn_p hook and volatile instructions.
      
      2011-08-11  Dmitry Melnik  <dm@ispras.ru>
      
      	* sel-sched-ir.c (init_global_and_expr_for_insn): Forbid copying of
      	recognized by cannot_copy_insn_p hook and volatile instructions.
      
      From-SVN: r177652
      Dmitry Melnik committed
    • sel-sched-ir.c (merge_expr_data): Take maximum spec. · bf3a40e9
      2011-08-11  Dmitry Melnik  <dm@ispras.ru>
      
      	* sel-sched-ir.c (merge_expr_data): Take maximum spec.
      
      From-SVN: r177651
      Dmitry Melnik committed
    • lto.c (uniquify_nodes): Use main variant's BINFO too. · f82d1a94
      2011-08-11  Martin Jambor  <mjambor@suse.cz>
      
      lto/
      	* lto.c (uniquify_nodes): Use main variant's BINFO too.
      
      From-SVN: r177650
      Martin Jambor committed
    • md.texi (define_bypass): Say that the instruction names can be filename-style globs. · f9bf5a8e
      gcc/
      	* doc/md.texi (define_bypass): Say that the instruction names can
      	be filename-style globs.
      	* Makefile.in (FNMATCH_H): Define.
      	(build/genattrtab.o, build/genautomata.o): Depend on $(FNMATCH_H).
      	* genattrtab.c: Include fnmatch.h.
      	(bypass_list): Change field name from "insn" to "pattern".
      	(gen_bypass_1): Update accordingly.
      	(process_bypasses): Use fnmatch to check for matches between
      	insn reservations and define_bypasses.
      	* genautomata.c: Include fnmatch.h.
      	(bypass_decl): Rename in_insn_name and out_insn_name to in_pattern
      	and out_pattern respectively.
      	(gen_bypass, insert_bypass): Update accordingly.
      	(for_each_matching_insn, process_bypass_2, process_bypass_1)
      	(process_bypass): New functions.
      	(process_decls): Use process_bypass.  Update after field name changes.
      
      From-SVN: r177649
      Richard Sandiford committed
    • re PR target/49687 ([avr] Missed optimization for widening MUL) · 7ece3881
      	
      	PR target/49687
      	* config/avr/avr.md (smulqi3_highpart): New insn.
      	(umulqi3_highpart): New insn.
      	(*subqi3.ashiftrt7): New insn.
      	(smulhi3_highpart): New expander.
      	(umulhi3_highpart): Nex expander.
      	(*smulhi3_highpart_call): New insn.
      	(*umulhi3_highpart_call): New insn.
      	(extend_u): New code attribute.
      	(extend_prefix): Rename code attribute to extend_su.
      	* config/avr/avr.c (avr_rtx_costs): Report costs of highpart of
      	widening QI/HI multiply.
      
      From-SVN: r177648
      Georg-Johann Lay committed
    • re PR tree-optimization/50039 (Segfault in vect_operation_fits_smaller_type()) · fb2c2b16
      
              PR tree-optimization/50039
              * tree-vect-patterns.c (vect_operation_fits_smaller_type): Check
              that DEF_STMT has a stmt_vec_info.
      
      From-SVN: r177647
      Ira Rosen committed
    • Daily bump. · 7746e0a1
      From-SVN: r177642
      GCC Administrator committed
  2. 10 Aug, 2011 12 commits
    • Initialize src3 with random value. · 25610619
      2011-08-10  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/sse4_1-blendps-2.c: Include <stdlib.h>.
      	(sse4_1_test): Initialize src3 with random value.
      
      From-SVN: r177628
      H.J. Lu committed
    • tree.h (can_trust_pointer_alignment): Remove. · b126811e
      2011-08-10  Richard Guenther  <rguenther@suse.de>
      
      	* tree.h (can_trust_pointer_alignment): Remove.
      	* builtins.c (can_trust_pointer_alignment): Remove.
      
      	cp/
      	* call.c (build_over_call): Call memcpy unconditionally.
      
      From-SVN: r177625
      Richard Guenther committed
    • c-typeck.c (scalar_to_vector): New function. · 0e3a99ae
      2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
      
      	* c-typeck.c (scalar_to_vector): New function. Try scalar to
      	vector conversion.
      	(stv_conv): New enum for scalar_to_vector return type.
      	(build_binary_op): Adjust.
      	* doc/extend.texi: Description of scalar to vector expansion.
      
      	c-family/
      	* c-common.c (unsafe_conversion_p): New function. Check if it is
      	unsafe to convert an expression to the type.
      	(conversion_warning): Adjust, use unsafe_conversion_p.
      	* c-common.h (unsafe_conversion_p): New function declaration.
      
      	testsuite/
      	* gcc.c-torture/execute/scal-to-vec1.c: New test.
      	* gcc.c-torture/execute/scal-to-vec2.c: New test.
      	* gcc.c-torture/execute/scal-to-vec3.c: New test.
      	* gcc.dg/scal-to-vec1.c: New test.
      	* gcc.dg/scal-to-vec2.c: New test.
      
      From-SVN: r177622
      Artjoms Sinkarovs committed
    • tree.h (get_pointer_alignment): Remove max-align argument. · 0eb77834
      2011-08-10  Richard Guenther  <rguenther@suse.de>
      
      	* tree.h (get_pointer_alignment): Remove max-align argument.
      	(get_object_alignment): Likewise.
      	* builtins.c (get_object_alignment_1): Adjust.
      	(get_object_alignment): Remove max-align argument.
      	(get_pointer_alignment): Likewise.
      	(expand_builtin_strlen): Adjust.
      	(expand_builtin_memcpy): Likewise.
      	(expand_builtin_mempcpy_args): Likewise.
      	(expand_builtin_strncpy): Likewise.
      	(expand_builtin_memset_args): Likewise.
      	(expand_builtin_memcmp): Likewise.
      	(expand_builtin_strcmp): Likewise.
      	(expand_builtin_strncmp): Likewise.
      	(get_builtin_sync_mem): Likewise.
      	(fold_builtin_memset): Likewise.
      	(fold_builtin_memory_op): Likewise.
      	(expand_builtin_memory_chk): Likewise.
      	* emit-rtl.c (get_mem_align_offset): Likewise.
      	(set_mem_attributes_minus_bitpos): Likewise.
      	* expr.c (expand_assignment): Likewise.
      	(expand_expr_real_1): Likewise.
      	* tree-sra.c (tree_non_mode_aligned_mem_p): Likewise.
      	* tree-ssa-forwprop.c (simplify_builtin_call): Likewise.
      	* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Likewise.
      	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Likewise.
      	* value-prof.c (gimple_stringops_transform): Likewise.
      
      From-SVN: r177620
      Richard Guenther committed
    • tm.texi.in (CLASS_MAX_NREGS): Fix typo. · 1c7836f0
      gcc/
      2011-08-10  Paulo J. Matos  <paulo.matos@csr.com>
      
      	* doc/tm.texi.in (CLASS_MAX_NREGS): Fix typo.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r177619
      Paulo J. Matos committed
    • re PR target/29560 ([avr] Poor optimization for byte shifts) · 4ada410b
      	
      	PR target/29560
      	* config/avr/avr.md (*ashlhiqi3): New insn-and-split.
      	(*ashl<extend_prefix>qihiqi3): New insn-and-splits.
      	(*ashl<extend_prefix>qihiqi3.mem): New insn-and-splits.
      	Add peephole2 to map ashlhi3 to ashlqi3 if high part of
      	shift target is unused.
      
      From-SVN: r177616
      Georg-Johann Lay committed
    • re PR tree-optimization/49937 (g++.dg/tree-ssa/fwprop-align.C) · d1f4e15f
      2011-08-10  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/49937
      	* tree-ssa-ccp.c (get_value_from_alignment): Re-implement
      	using get_object_alignment_1.
      
      From-SVN: r177615
      Richard Guenther committed
    • re PR bootstrap/49907 (lto-plugin -Wall in stage1) · f3016c47
      2011-08-10  Richard Guenther  <rguenther@suse.de>
      
      	PR bootstrap/49907
      	lto-plugin/
      	* configure.ac: Use ACX_PROG_CC_WARNING_OPTS to detect -Wall presence.
      	* Makefile.am (AM_CFLAGS): Adjust.  Do not build with -Werror.
      	* configure: Regenerate.
      	* Makefile.in: Likewise.
      	* aclocal.m4: Likewise.
      
      From-SVN: r177614
      Richard Guenther committed
    • re PR libstdc++/1773 (__cplusplus defined to 1, should be 199711L) · d62bab6a
      2011-08-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      	    Marc Glisse  <marc.glisse@normalesup.org>
      
      	PR libstdc++-v3/1773
      	* inclhack.def (solaris_cxx_linkage, solaris_getc_strict_stdc)
      	(solaris_longjmp_noreturn, solaris_pow_int_overload)
      	(solaris_std___filbuf): New fixes.
      	* tests/base/iso/math_iso.h, tests/base/iso/setjmp_iso.h,
      	tests/base/iso/stdio_iso.h, tests/base/iso/stdlib_iso.h: New tests.
      	* tests/base/stdio.h [SOLARIS_STD___FILBUF_CHECK]: New test.
      
      Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>
      
      From-SVN: r177613
      Rainer Orth committed
    • jcf-dump.c (print_constant): Cast first frexp arg. · 693ed633
      	gcc/java:
      	* jcf-dump.c (print_constant): Cast first frexp arg.
      
      	libjava:
      	* exception.cc (std::abort): Remove static.
      
      From-SVN: r177612
      Rainer Orth committed
    • i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Do not force operands[0] into a register. · dcfd8753
      	* config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Do not
      	force operands[0] into a register.
      
      From-SVN: r177611
      Uros Bizjak committed
    • Daily bump. · 57fcac16
      From-SVN: r177610
      GCC Administrator committed
  3. 09 Aug, 2011 12 commits