1. 29 Sep, 2011 13 commits
    • Change random seeds to 64bit and drop re-crcing · dde8b360
      I had some trouble with random build failures in a large LTO project
      and it turned out to be random seed collisions in a highly parallel build
      (thanks to Honza for suggesting that)
      
      There were multiple problems:
      - The way to generate the random seed is not very random (milliseconds time plus pid)
      and prone to collisions on highly parallel builds
      - It's only 32bit
      - Several users take the existing ascii seed and re-CRC32 it again, which
      doesn't exactly improve it.
      
      This patch changes that to:
      - Always use 64bit seeds as numbers (no re-crcing)
      - Change all users to use HOST_WIDE_INT
      - When the user specifies a random seed it's still crc32ed, but only in
      this case.
      
      Passes bootstrap + testsuite on x86_64-linux.
      
      gcc/cp:
      
      2011-09-26   Andi Kleen <ak@linux.intel.com>
      
      	* repo.c (finish_repo): Use HOST_WIDE_INT_PRINT_HEX_PURE.
      
      gcc/:
      
      2011-09-26   Andi Kleen <ak@linux.intel.com>
      
      	* hwint.h (HOST_WIDE_INT_PRINT_HEX_PURE): Add.
      	* lto-streamer.c (lto_get_section_name): Remove crc32_string.
       	Handle numerical random seed.
      	* lto-streamer.h (lto_file_decl_data): Change id to unsigned HOST_WIDE_INT.
      	* toplev.c (random_seed): Add.
      	(init_random_seed): Change for numerical random seed.
      	(get_random_seed): Return as HOST_WIDE_INT.
      	(set_random_seed): Crc32 existing string.
      	* toplev.h (get_random_seed): Change to numercal return.
      	* tree.c (get_file_function_name): Remove CRC. Handle numerical random seed.
      
      gcc/lto/:
      
      2011-09-26   Andi Kleen <ak@linux.intel.com>
      
      	* lto.c (lto_resolution_read): Remove id dumping.
      	(lto_section_with_id): Turn id HOST_WIDE_ID.
      	(create_subid_section_table): Dito.
      
      From-SVN: r179347
      Andi Kleen committed
    • re PR fortran/50547 (dummy procedure argument of PURE shall be PURE) · 4056cc1b
      2011-09-29  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/50547
      	* resolve.c (resolve_formal_arglist): Fix pureness check for dummy
      	functions.
      
      	PR fortran/50553
      	* symbol.c (check_conflict): Forbid TARGET attribute for statement
      	functions.
      
      
      2011-09-29  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/50547
      	* gfortran.dg/pure_formal_proc_3.f90: New.
      
      	PR fortran/50553
      	* gfortran.dg/stfunc_7.f90: New.
      
      From-SVN: r179345
      Janus Weil committed
    • re PR target/50566 ([avr]: Add support for better logging similar to -mdeb) · 6c7dfafe
      	PR target/50566
      	* config.gcc (extra_objs): Add avr-log.o for $target in:
      	avr-*-rtems*, avr-*-*.
      	* config/avr/t-avr (avr-log.o): New rule to compile...
      	* config/avr/avr-log.c: ...this new file.
      	* config/avr/avr.opt (mlog=): New option.
      	* config/avr/avr-protos.h (avr_edump, avr_fdump): New macros.
      	(avr_log_set_caller_e, avr_log_set_caller_f): New prototypes.
      	(avr_log_set_avr_log): New prototype.
      	(avr_log_t): New typedef.
      	(avr_log): New declaration.
      	* config/avr/avr.c (avr_option_override): Call avr_log_set_avr_log.
      
      From-SVN: r179344
      Georg-Johann Lay committed
    • The commands of the $(TOOLS_ZIP) rule include copying of two subtrees from the… · aec7773c
      The commands of the $(TOOLS_ZIP) rule include copying of two subtrees from the source tree (asm/ and classes/).
      
      The commands of the $(TOOLS_ZIP) rule include copying of two subtrees from the
      source tree (asm/ and classes/). If the source tree is read-only, the use of
      cp's -p option here prevents the trees from getting deleted later in the rule
      if they (or at least their directories) don't get marked writable.
      
      Committed as obvious.
      
      libjava/classpath/
      2011-09-29  Jan Beulich  <jbeulich@suse.com>
      
      	* tools/Makefile.am (TOOLS_ZIP): Make writable the copied subtrees
      	asm/ and classes/.
      	* tools/Makefile.in: Re-generate.
      
      From-SVN: r179343
      Jan Beulich committed
    • expr.c (do_store_flag): Expand vector comparison by building an appropriate VEC_COND_EXPR. · d246ab4f
      2011-09-29  Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
      
      	* expr.c (do_store_flag): Expand vector comparison by
      	building an appropriate VEC_COND_EXPR.
      	* c-typeck.c (build_binary_op): Typecheck vector comparisons.
      	(c_objc_common_truthvalue_conversion): Adjust.
      	* tree-vect-generic.c (do_compare): Helper function.
      	(expand_vector_comparison): Check if hardware supports
      	vector comparison of the given type or expand vector
      	piecewise.
      	(expand_vector_operation): Treat comparison as binary
      	operation of vector type.
      	(expand_vector_operations_1): Adjust.
      
      	* gcc.c-torture/execute/vector-compare-1.c: New testcase.
      	* gcc.c-torture/execute/vector-compare-2.c: Likewise.
      	* gcc.dg/vector-compare-1.c: Likewise.
      	* gcc.dg/vector-compare-2.c: Likewise.
      
      From-SVN: r179342
      Artjoms Sinkarovs committed
    • tree.c (build_opaque_vector_type): Make opaque vectors variant types of the… · 7c99ecef
      tree.c (build_opaque_vector_type): Make opaque vectors variant types of the corresponding non-opaque type.
      
      2011-09-29  Richard Guenther  <rguenther@suse.de>
      
      	* tree.c (build_opaque_vector_type): Make opaque vectors
      	variant types of the corresponding non-opaque type.  Make
      	sure to share opaque vector types properly.
      
      From-SVN: r179341
      Richard Guenther committed
    • ChangeLog: Fix whitespace. · 9b0c7202
      	* ChangeLog: Fix whitespace.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r179338
      Uros Bizjak committed
    • Remove unnecessary sparc code attr. · 580bd500
      	* config/sparc/sparc.md (gcond_name): Delete unnecessary code attr.
      	(VIS pixel-compare insn): Just use <gcond:name>.
      
      From-SVN: r179335
      David S. Miller committed
    • Add sparc 3D array addressing VIS intrinsics. · 1ec01ab2
      gcc/
      
      	* config/sparc/sparc.md (UNSPEC_ARRAY8, UNSPEC_ARRAY16,
      	UNSPEC_ARRAY32): New unspec.
      	(define_attr type): New type 'array'.
      	(array{8,16,32}<P:mode>_vis): New patterns.
      	* config/sparc/ultra1_2.md: Add reservations for 'array'.
      	* config/sparc/ultra3.md: Likewise.
      	* config/sparc/niagara.md: Likewise.
      	* config/sparc/niagara2.md: Likewise.
      	* config/sparc/sparc.c (sparc_vis_init_builtins): Build new
      	array builtins.
      	* config/sparc/visintrin.h (__vis_array8, __vis_array16,
      	__vis_array32): New.
      	* doc/extend.texi: Document new VIS builtins.
      
      gcc/testsuite/
      
      	* gcc.target/sparc/array.c: New test.
      
      From-SVN: r179334
      David S. Miller committed
    • darwin9.h (STACK_CHECK_STATIC_BUILTIN): Enable for Darwin >= 9. · 8f931eff
      
      gcc:
      
      	* config/darwin9.h (STACK_CHECK_STATIC_BUILTIN): Enable for
      	Darwin >= 9.
      
      From-SVN: r179332
      Iain Sandoe committed
    • predcom-1.c: Explicitly turn on loop unroll and set max unroll times to 8. · 655cd20f
      2011-09-29  Jiangning Liu  <jiangning.liu@arm.com>
      
      	* gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c: Explicitly turn on
      	loop unroll and set max unroll times to 8.
      	* gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c: Likewise.
      	* gcc/testsuite/gcc.dg/tree-ssa/predcom-3.c: Likewise.
      	* gcc/testsuite/gcc.dg/tree-ssa/predcom-4.c: Likewise.
      	* gcc/testsuite/gcc.dg/tree-ssa/predcom-5.c: Likewise.
      
      From-SVN: r179330
      Jiangning Liu committed
    • Respin sparc pixel-compare patterns using iterators. · b3304235
      	* config/sparc/sparc.md (UNSPEC_FCMPLE, UNSPEC_FCMPNE,
      	UNSPEC_FCMPGT, UNSPEC_FCMPEQ): Delete and reduce to...
      	(UNSPEC_FCMP): New unspec.
      	(gcond): New code iterator.
      	(gcond_name): New code attr.
      	(GCM): New mode iterator.
      	(gcm_name): New mode attr.
      	(fcmp{le,ne,gt,eq}{16,32}_vis): Reimplement using iterators.
      
      From-SVN: r179329
      David S. Miller committed
    • Daily bump. · bdcf918b
      From-SVN: r179327
      GCC Administrator committed
  2. 28 Sep, 2011 14 commits
  3. 27 Sep, 2011 13 commits
    • m32r.md: Use match_test rather than eq/ne symbol_ref throughout file. · f18d1d16
      gcc/
      	* config/m32r/m32r.md: Use match_test rather than eq/ne symbol_ref
      	throughout file.
      
      From-SVN: r179297
      Richard Sandiford committed
    • iq2000.md: Use match_test rather than eq/ne symbol_ref throughout file. · b4d58803
      gcc/
      	* config/iq2000/iq2000.md: Use match_test rather than eq/ne symbol_ref
      	throughout file.
      
      From-SVN: r179296
      Richard Sandiford committed
    • mfmovd.c: Extend list of supported targets. · 88778f15
      	* gcc.target/sh/mfmovd.c: Extend list of supported targets.
      	* gcc.target/sh/struct-arg-dw2.c: Fix typo.
      	* gcc.target/sh/sh4a-sincos.c: Make test SH4A only.
      	* gcc.target/sh/sh4a-sincosf.c: Ditto.
      	* gcc.target/sh/sh4a-cos.c: Ditto.
      	* gcc.target/sh/sh4a-cosf.c: Ditto.
      	* gcc.target/sh/sh4a-sin.c: Ditto.
      	* gcc.target/sh/sh4a-sinf.c: Ditto.
      	* gcc.target/sh/sh4a-fsrra.c: Ditto.
      	* gcc.target/sh/sh4a-memmovua.c: Ditto.
      	* gcc.target/sh/sh4a-bitmovua.c: Ditto.
      
      From-SVN: r179295
      Oleg Endo committed
    • re PR c++/31489 (error says struct when it should say class) · 2427db20
      /cp
      2011-09-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/31489
      	* parser.c (cp_parser_elaborated_type_specifier): For RECORD_TYPE,
      	set CLASSTYPE_DECLARED_CLASS.
      
      /testsuite
      2011-09-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/31489
      	* g++.dg/parse/error40.C: New.
      	* g++.dg/warn/incomplete1.C: Adjust.
      
      From-SVN: r179293
      Paolo Carlini committed
    • trans-types.c (gfc_type_for_size): Return wider type if no suitable narrower type has been found. · 82aa8722
      	* trans-types.c (gfc_type_for_size): Return wider type
      	if no suitable narrower type has been found.
      	(gfc_type_for_mode): Return NULL_TREE if gfc_type_for_size
      	returned type doesn't have expected TYPE_MODE.
      
      From-SVN: r179290
      Jakub Jelinek committed
    • output.h (SECTION_EXCLUDE): New macro. · 4c345757
      2011-09-27  Sriraman Tallam  <tmsriram@google.com>
      
      	* output.h (SECTION_EXCLUDE): New macro.
      	* varasm.c (default_elf_asm_named_section): Check for
      	SECTION_EXCLUDE.
      
      From-SVN: r179288
      Sriraman Tallam committed
    • fwprop.c (forward_propagate_and_simplify): After checking reg/subreg… · 8e8af9b7
      fwprop.c (forward_propagate_and_simplify): After checking reg/subreg combinations, check whether the modes are the same.
      
      gcc/
      	* fwprop.c (forward_propagate_and_simplify): After checking
      	reg/subreg combinations, check whether the modes are the same.
      
      From-SVN: r179287
      Richard Sandiford committed
    • mips.c (mips_add_cfa_restore): New function. · a7449961
      gcc/
      2011-09-25  Bernd Schmidt  <bernds@codesourcery.com>
      	    Richard Sandiford  <rdsandiford@googlemail.com>
      
      	* config/mips/mips.c (mips_add_cfa_restore): New function.
      	(mips16e_save_restore_reg): Use it.
      	(mips_restore_reg): Likewise.  Split double FPRs for
      	REG_CFA_RESTORE notes.
      
      Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
      
      From-SVN: r179286
      Bernd Schmidt committed
    • re PR libgomp/50386 (libgomp.h:87:5: error: unnamed struct/union that defines no instances) · 58ac6459
      gcc/
      	PR middle-end/50386
      	PR middle-end/50326
      	* tree-sra.c (build_ref_for_model): Use the type of the field as
      	the type of the COMPONENT_REF.
      
      From-SVN: r179285
      Richard Sandiford committed
    • ifcvt.c (cheap_bb_rtx_cost_p): Add SCALE argument. · 16a275d2
      	* ifcvt.c (cheap_bb_rtx_cost_p): Add SCALE argument.  Scale
      	non-jumping insns by REG_BR_PROB_BASE and the maximum cost
      	by SCALE.
      	(find_if_case_1): Use the probability of the THEN clause when
      	determining if speculation is profitable.
      	(find_if_case_2): Similarly for the ELSE clause.
      
      From-SVN: r179284
      Jeff Law committed
    • re PR middle-end/49463 (LTO doesn't work symbol renamed via asm statement) · 9b7ab6d6
      	PR middle-end/49463
      	* gcc.c-torture/execute/builtins/strstr-asm-lib.c
      	(my_strstr): Mark used.
      
      From-SVN: r179280
      Jan Hubicka committed
    • common.opt: Add -foptimize-strlen option. · d8878031
      	* common.opt: Add -foptimize-strlen option.
      	* Makefile.in (OBJS): Add tree-ssa-strlen.o.
      	(tree-sssa-strlen.o): Add dependencies.
      	* opts.c (default_options_table): Enable -foptimize-strlen
      	by default at -O2 if not -Os.
      	* passes.c (init_optimization_passes): Add pass_strlen
      	after pass_object_sizes.
      	* timevar.def (TV_TREE_STRLEN): New timevar.
      	* params.def (PARAM_MAX_TRACKED_STRLENS): New parameter.
      	* tree-pass.h (pass_strlen): Declare.
      	* tree-ssa-strlen.c: New file.
      	* c-decl.c (merge_decls): If compatible stpcpy prototype
      	is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
      cp/
      	* decl.c (duplicate_decls): If compatible stpcpy prototype
      	is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
      testsuite/
      	* gcc.dg/strlenopt-1.c: New test.
      	* gcc.dg/strlenopt-1f.c: New test.
      	* gcc.dg/strlenopt-2.c: New test.
      	* gcc.dg/strlenopt-2f.c: New test.
      	* gcc.dg/strlenopt-3.c: New test.
      	* gcc.dg/strlenopt-4.c: New test.
      	* gcc.dg/strlenopt-4g.c: New test.
      	* gcc.dg/strlenopt-4gf.c: New test.
      	* gcc.dg/strlenopt-5.c: New test.
      	* gcc.dg/strlenopt-6.c: New test.
      	* gcc.dg/strlenopt-7.c: New test.
      	* gcc.dg/strlenopt-8.c: New test.
      	* gcc.dg/strlenopt-9.c: New test.
      	* gcc.dg/strlenopt-10.c: New test.
      	* gcc.dg/strlenopt-11.c: New test.
      	* gcc.dg/strlenopt-12.c: New test.
      	* gcc.dg/strlenopt-12g.c: New test.
      	* gcc.dg/strlenopt-13.c: New test.
      	* gcc.dg/strlenopt-14g.c: New test.
      	* gcc.dg/strlenopt-14gf.c: New test.
      	* gcc.dg/strlenopt-15.c: New test.
      	* gcc.dg/strlenopt-16g.c: New test.
      	* gcc.dg/strlenopt-17g.c: New test.
      	* gcc.dg/strlenopt-18g.c: New test.
      	* gcc.dg/strlenopt.h: New file.
      
      From-SVN: r179279
      Jakub Jelinek committed
    • common.opt: Add -foptimize-strlen option. · 19ecbcbc
      	* common.opt: Add -foptimize-strlen option.
      	* Makefile.in (OBJS): Add tree-ssa-strlen.o.
      	(tree-sssa-strlen.o): Add dependencies.
      	* opts.c (default_options_table): Enable -foptimize-strlen
      	by default at -O2 if not -Os.
      	* passes.c (init_optimization_passes): Add pass_strlen
      	after pass_object_sizes.
      	* timevar.def (TV_TREE_STRLEN): New timevar.
      	* params.def (PARAM_MAX_TRACKED_STRLENS): New parameter.
      	* tree-pass.h (pass_strlen): Declare.
      	* tree-ssa-strlen.c: New file.
      	* c-decl.c (merge_decls): If compatible stpcpy prototype
      	is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
      cp/
      	* decl.c (duplicate_decls): If compatible stpcpy prototype
      	is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
      testsuite/
      	* gcc.dg/strlenopt-1.c: New test.
      	* gcc.dg/strlenopt-1f.c: New test.
      	* gcc.dg/strlenopt-2.c: New test.
      	* gcc.dg/strlenopt-2f.c: New test.
      	* gcc.dg/strlenopt-3.c: New test.
      	* gcc.dg/strlenopt-4.c: New test.
      	* gcc.dg/strlenopt-4g.c: New test.
      	* gcc.dg/strlenopt-4gf.c: New test.
      	* gcc.dg/strlenopt-5.c: New test.
      	* gcc.dg/strlenopt-6.c: New test.
      	* gcc.dg/strlenopt-7.c: New test.
      	* gcc.dg/strlenopt-8.c: New test.
      	* gcc.dg/strlenopt-9.c: New test.
      	* gcc.dg/strlenopt-10.c: New test.
      	* gcc.dg/strlenopt-11.c: New test.
      	* gcc.dg/strlenopt-12.c: New test.
      	* gcc.dg/strlenopt-12g.c: New test.
      	* gcc.dg/strlenopt-13.c: New test.
      	* gcc.dg/strlenopt-14g.c: New test.
      	* gcc.dg/strlenopt-14gf.c: New test.
      	* gcc.dg/strlenopt-15.c: New test.
      	* gcc.dg/strlenopt-16g.c: New test.
      	* gcc.dg/strlenopt-17g.c: New test.
      	* gcc.dg/strlenopt-18g.c: New test.
      	* gcc.dg/strlenopt.h: New file.
      
      From-SVN: r179278
      Jakub Jelinek committed