1. 15 Sep, 2007 6 commits
    • tree-parloops.c: New file. · 5f40b3cb
      	* tree-parloops.c: New file.
      	* tree-ssa-operands.h (free_stmt_operands): Declare.
      	* tree-ssa-loop-manip.c (split_loop_exit_edge): Return the new basic
      	block.
      	* tree-pass.h (pass_parallelize_loops): Declare.
      	* omp-low.c (expand_omp_parallel, expand_omp_for): Update SSA form for
      	virtual operands.
      	(build_omp_regions_1): Allow analysing just a single OMP region and
      	its subregions.
      	( build_omp_regions_root, omp_expand_local): New functions.
      	(build_omp_regions): Add argument to build_omp_regions_1 call.
      	* builtins.def (DEF_GOMP_BUILTIN): Initialize OMP builtins when
      	autoparallelization is run.
      	* timevar.def (TV_TREE_PARALLELIZE_LOOPS): New.
      	* tree-ssa-loop.c (gate_tree_parallelize_loops, tree_parallelize_loops,
      	pass_parallelize_loops): New.
      	* common.opt (ftree-parallelize-loops): New.
      	* tree-flow.h (omp_expand_local, tree_duplicate_sese_tail,
      	parallelize_loops): Declare.
      	(add_phi_args_after_copy, split_loop_exit_edge): Declaration changed.
      	* Makefile.in (tree-parloops.o): Added.
      	* tree-cfg.c (add_phi_args_after_copy_edge, tree_duplicate_sese_tail):
      	New functions.
      	(add_phi_args_after_copy_bb): Use add_phi_args_after_copy_edge.
      	(add_phi_args_after_copy): Call add_phi_args_after_copy_edge for
      	one extra edge as well.
      	(tree_duplicate_sese_region): Add argument to add_phi_args_after_copy.
      	Use VEC_free to free doms vector.
      	(move_block_to_fn): Update loop info. Remove phi nodes for virtual
      	operands.  Recompute operand caches in the new function.
      	(move_sese_region_to_fn): Update loop info.
      	* passes.c (init_optimization_passes): Add pass_parallelize_loops.
      	* tree-ssa-operands.c (free_stmt_operands): New function.
      
      	* doc/passes.texi: Document autoparallelization.
      	* doc/invoke.texi (-ftree-parallelize-loops): New option.
      
      	* gcc.dg/tree-ssa/parallelization-1.c: New test.
      
      From-SVN: r128517
      Zdenek Dvorak committed
    • re PR target/33062 (ICE in emit_move_insn and expand_call with -fdefault-integer-8) · 2ae88ecd
      	PR target/33062
      	* pa.c (function_value): Use GET_MODE_BITSIZE instead of TYPE_PRECISION.
      
      From-SVN: r128516
      John David Anglin committed
    • tree-vect-transform.c (vect_get_vec_defs_for_stmt_copy): check if the VEC is not NULL. · 4934454b
              * tree-vect-transform.c (vect_get_vec_defs_for_stmt_copy): check if
              the VEC is not NULL.
              (vectorizable_type_demotion, vectorizable_type_promotion): Check that
              get_vectype_for_scalar_type succeeded.
              (vectorizable_conversion): Likewise.
      
      From-SVN: r128514
      Dorit Nuzman committed
    • java-tree.h (struct lang_decl_func): Remove. · 8a0c568f
      	* java-tree.h (struct lang_decl_func) <function_decl_body>:
      	Remove.
      	<init_final>: Likewise.
      	* lang.c (java_dump_tree): Update.
      	* java-tree.h (DECL_FUNCTION_BODY): Remove.
      
      From-SVN: r128513
      Tom Tromey committed
    • re PR libfortran/21185 (Improve testsuite results on newlib targets) · 2515e5a7
      	PR libfortran/21185
      	* runtime/compile_options.c (set_options): Fix typo.
      	* runtime/main.c (store_exe_path): If getcwd is not available,
      	don't use it.
      	* intrinsics/getcwd.c: Same thing here.
      	* io/unix.c (fallback_access): New fallback function for access.
      	(fix_fd): Don't use dup if it's not available.
      	* configure.ac: Check for dup and getcwd.
      	* configure: Regenerate.
      	* config.h.in: Regenerate.
      
      From-SVN: r128512
      Francois-Xavier Coudert committed
    • Daily bump. · 7c4d947f
      From-SVN: r128508
      GCC Administrator committed
  2. 14 Sep, 2007 20 commits
  3. 13 Sep, 2007 14 commits
    • c-common.c (fname_as_string): Update. · 46c2514e
      gcc
      	* c-common.c (fname_as_string): Update.
      	* c-parser.c (c_parser) <lex_untranslated_string>: New field.
      	(c_lex_one_token): Update.  Add 'parser' argument.
      	(c_parser_simple_asm_expr): Update.
      	(c_parser_attributes): Update.
      	(c_parser_asm_statement): Update.
      	(c_parser_asm_operands): Update.
      	(c_parser_peek_token): Update.
      	(c_parser_peek_2nd_token): Update.
      	* c-lex.c (c_lex_string_translate): Remove.
      	(c_lex_return_raw_strings): Likewise.
      	(c_lex_with_flags): Added 'lex_flags' argument.
      	(lex_string): Added 'translate' argument.
      	* c-pragma.h (c_lex_with_flags): Update.
      	(c_lex_string_translate, c_lex_return_raw_strings): Remove.
      	(C_LEX_STRING_NO_TRANSLATE): New define.
      	(C_LEX_RAW_STRINGS): Likewise.
      gcc/cp
      	* parser.c (cp_lexer_new_main): Don't use
      	c_lex_return_raw_strings.
      	(cp_lexer_get_preprocessor_token): Update.  Add special case when
      	lexer is NULL.
      
      From-SVN: r128479
      Tom Tromey committed
    • iresolve.c (resolve_mask_arg): If a mask is an array expression, convert it to kind=1. · 76896993
      2007-09-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* iresolve.c (resolve_mask_arg): If a mask is an array
      	expression, convert it to kind=1.
      
      From-SVN: r128477
      Thomas Koenig committed
    • From Jie Zhang: · 1d7d5ac4
      	* config/bfin/bfin.c (enum bfin_builtins): Add BFIN_BUILTIN_ONES,
      	BFIN_BUILTIN_CPLX_MUL_16_S40, BFIN_BUILTIN_CPLX_MAC_16_S40,
      	BFIN_BUILTIN_CPLX_MSU_16_S40, and BFIN_BUILTIN_CPLX_SQU.
      	(bfin_init_builtins): Initialize __builtin_bfin_ones,
      	__builtin_bfin_min_fr1x16, __builtin_bfin_max_fr1x16,
      	__builtin_bfin_min_fr1x32, __builtin_bfin_max_fr1x32,
      	__builtin_bfin_cmplx_add, __builtin_bfin_cmplx_sub,
      	__builtin_bfin_cmplx_mul_s40, __builtin_bfin_cmplx_mac_s40,
      	__builtin_bfin_cmplx_msu_s40 and __builtin_bfin_csqu_fr16.
      	(bdesc_1arg): Add __builtin_bfin_ones.
      	(bfin_expand_builtin): Expand __builtin_bfin_cmplx_mul_s40,
      	__builtin_bfin_cmplx_mac_s40, __builtin_bfin_cmplx_msu_s40,
      	and __builtin_bfin_csqu_fr16.
      	* config/bfin/bfin.md (UNSPEC_ONES): New constant.
      	(ones): New define_insn.
      	(ssaddhi3_parts): New define_insn.
      	(sssubhi3_parts): New define_insn.
      	(flag_mulhi_parts): New define_insn.
      
      From-SVN: r128475
      Bernd Schmidt committed
    • common.opt (femit-class-debug-always): Turn off by default. · eae8e474
      2007-09-13  Seongbae Park <seongbae.park@gmail.com>
      
      	* common.opt (femit-class-debug-always): Turn off by default.
      
      From-SVN: r128474
      Seongbae Park committed
    • re PR fortran/33343 (ICE (segfault) on invalid code with wrongly shaped… · 3c7b91d3
      re PR fortran/33343 (ICE (segfault) on invalid code with wrongly shaped arguments to elemental procedures)
      
      2007-09-13  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/33343
      	* expr.c (gfc_check_conformance): Print ranks in the error message.
      	* resolve.c (resolve_elemental_actual): Check also conformance of
      	the actual arguments for elemental functions.
      
      2007-09-13  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/33343
      	* gfortran.dg/elemental_args_check_1.f90: New.
      	* gfortran.dg/assumed_size_refs_1.f90: Update error message.
      	* gfortran.dg/elemental_subroutine_4.f90: Ditto.
      
      From-SVN: r128473
      Tobias Burnus committed
    • symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive): Allow prefixes only… · 10a6db6e
      symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive): Allow prefixes only to be specified once.
      
      2007-09-13  Tobias Burnus  <burnus@net-b.de>
      
      	* symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive):
      	Allow prefixes only to be specified once.
      
      2007-09-13  Tobias Burnus  <burnus@net-b.de>
      
      	* gfortran.dg/recursive_check_3.f90: New.
      
      From-SVN: r128472
      Tobias Burnus committed
    • re PR fortran/33412 (Bind(C): ELEMENTAL procedure conflicts with BIND(C)) · e3bfd8f4
      2007-09-13  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/33412
      	* symbol.c (check_conflict): Add conflict of ELEMENTAL with Bind(C).
      
      2007-09-13  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/33412
      	* gfortran.dg/elemental_bind_c.f90: New.
      
      From-SVN: r128471
      Tobias Burnus committed
    • bfin.md (reload_outpdi, [...]): New patterns. · 6ed44ca1
      	* config/bfin/bfin.md (reload_outpdi, reload_inpdi): New patterns.
      	* config/bfin/bfin.c (bfin_secondary_reload): Make sure we use them.
      
      From-SVN: r128470
      Bernd Schmidt committed
    • re PR tree-optimization/33389 (Revision 128239 causes libgomp failure) · 468b40bc
      2007-09-13  James E. Wilson  <wilson@specifix.com>
      
      	PR tree-optimization/33389
      	* tree-ssa-operands.c (append_vuse): If ann->in_vdef_list true,
      	then set build_loads before returning.
      
      From-SVN: r128469
      James E Wilson committed
    • mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with {d}addiu and a… · f29adf5b
      mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with {d}addiu and a negative	immediate such that it works with...
      
      2007-09-13  Sandra Loosemore  <sandra@codesourcery.com>
      	    David Ung  <davidu@mips.com>
      
      	gcc/
      	* config/mips/mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with
      	{d}addiu and a negative	immediate such that it works with MIPS16
      	instructions.
      
      Co-Authored-By: David Ung <davidu@mips.com>
      
      From-SVN: r128468
      Sandra Loosemore committed
    • re PR bootstrap/33418 ([4.1/4.2/4.3]: Gcc failed to detect HJL's binutils linker) · 1f1752ec
      2007-09-13  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR bootstrap/33418
      	* configure.ac (ld_vers): Support Linux linker.
      	* configure: Regenerated.
      
      From-SVN: r128465
      H.J. Lu committed
    • mips.h (SYMBOL_FLAG_MIPS16_FUNC): Delete. · 9a6dfb47
      gcc/
      2007-09-13  Richard Sandiford  <richard@codesourcery.com>
      	    Sandra Loosemore <sandra@codesourcery.com>
      
      	* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Delete.
      	(SYMBOL_REF_MIPS16_FUNC_P): Delete.
      	* config/mips/mips.c (mips_attribute_table): Turn mips16 and
      	nomips16 into decl attributes.
      	(TARGET_INSERT_ATTRIBUTES): Override.
      	(TARGET_MERGE_DECL_ATTRIBUTES): Likewise.
      	(TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Always return true.
      	(mips_mips16_type_p, mips_nomips16_type_p): Delete in favor of...
      	(mips_mips16_decl_p, mips_nomips16_decl_p): ...these new functions.
      	(mips_comp_type_attributes): Remove mips16 and nomips16 handling.
      	(mips_use_mips16_mode_p): Reimplement as a function that takes
      	a decl and considers only decl attributes.  If the decl is nested
      	function, use its parent attributes.
      	(mips_function_ok_for_sibcall): Use mips_use_mips16_mode_p
      	instead of SYMBOL_REF_MIPS16_FUNC_P.
      	(mips_set_mips16_mode): Move call to sorry here from old
      	mips_use_mips16_mode_p.
      	(mflip_mips16_entry): New structure.
      	(mflip_mips16_htab): New variable.
      	(mflip_mips16_htab_hash, mflip_mips16_htab_eq): New functions.
      	(mflip_mips16_use_mips16_p, mips_insert_attributes): Likewise.
      	(mips_merge_decl_attributes): New function.
      	(mips_set_current_function): Reinstate call to mips_set_mips16_mode.
      	Use mips_use_mips16_mode_p.
      	(mips_output_mi_thunk): Use mips_use_mips16_mode_p instead of
      	SYMBOL_REF_MIPS16_FUNC_P.
      	(mips_encode_section_info): Don't set SYMBOL_FLAG_MIPS16_FUNC.
      
      gcc/testsuite/
      	* gcc.dg/gcc-have-sync-compare-and-swap.c: Skip for -mflip-mips16.
      	* gcc.target/mips/mips16-attributes-2.c: New test.
      	* gcc.target/mips/mips16-attributes-3.c: Likewise.
      	* gcc.target/mips/args-3.c: Skip for -mflip-mips16.  Do not use the
      	hard-float asm when __mips16 is defined.
      	* gcc.target/mips/atomic-memory-1.c (main): Add a nomips16 attribute.
      	* gcc.target/mips/atomic-memory-2.c (main): Likewise.
      	* gcc.target/mips/fpcmp-1.c (f1, f2): Likewise.
      	* gcc.target/mips/fpcmp-2.c (f1, f2): Likewise.
      	* gcc.target/mips/neg-abs-1.c (f1, f2, d1, f2): Likewise.
      	* gcc.target/mips/pr26765.c (foo): Likewise.
      	* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Run for all
      	targets, use dg-mips-options instead of dg-options, and use -mgp32
      	to force 32-bit mode.
      	* gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise -mgp64
      	and 64-bit mode.
      	* gcc.target/mips/mips.exp (is_gp32_flag): Return true for -mips32*.
      
      Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r128460
      Richard Sandiford committed
    • c-parser.c (c_parser_struct_declaration): Check for a null return. · 0ad7e054
      gcc/
      	* c-parser.c (c_parser_struct_declaration): Check for a null return.
      
      From-SVN: r128459
      Richard Sandiford committed