Commit Graph

95567 Commits

Author SHA1 Message Date
Alexandre Oliva
b98a26e6d0 guality.h: Include stdint.h.
* gcc.dg/guality/guality.h: Include stdint.h.  Drop unnecessary
unistd.h, sys/types.h and sys/wait.h.
(gualchk_t): New.
(GUALCVT): New.
(GUALCHKXPR, GUALCHKVAL, GUALCHKFLA): Use it.
(GUALITY_GDB_REDIRECT): New.
(GUALITY_GDB_ARGS): Use it.

From-SVN: r151434
2009-09-04 18:56:39 +00:00
Alexandre Oliva
6751b6f658 toplev.c (process_options): Move setter of flag_var_tracking before other tests that depend on it.
* toplev.c (process_options): Move setter of flag_var_tracking
before other tests that depend on it.  Move down setter of
flag_rename_registers.  Don't enable var-tracking-assignments
by default if selective scheduling is enabled.  Warn if both
are enabled.

From-SVN: r151433
2009-09-04 18:55:45 +00:00
Alexandre Oliva
24277d3405 var-tracking.c (dv_is_decl_p): Adjust NULL behavior to match comment.
* var-tracking.c (dv_is_decl_p): Adjust NULL behavior to match
comment.  Use switch statement to catch overlaps between rtx
and tree codes.  Accept FUNCTION_DECLs in addition to those in...
(IS_DECL_CODE): ... here. Remove.
(check_value_is_not_decl): Remove.
(dv_from_decl, dv_from_value): Check after conversion.

From-SVN: r151432
2009-09-04 18:55:25 +00:00
Richard Guenther
5f1a9ebbc1 re PR middle-end/41257 (Bogus error '*.LTHUNK0' aliased to undefined symbol '_ZN1CD1Ev')
2009-09-04  Richard Guenther  <rguenther@suse.de>

	PR middle-end/41257
	* (cgraph_finalize_compilation_unit): Move finalizing aliases
	after emitting tunks.  Move emitting thunks and ctors from ...
	(cgraph_optimize): ... here.  Remove redundant
	cgraph_analyze_functions.
	* varasm.c (find_decl_and_mark_needed): Remove no longer
	necessary check.
	(finish_aliases_1): Adjust check for thunk aliases.

	* g++.dg/torture/pr41257.C: New testcase.

From-SVN: r151431
2009-09-04 18:54:01 +00:00
Daniel Gutson
8d142c15c9 arm.md (ctzsi2): Added braces to avoid warning that broke booststrap.
2009-09-04  Daniel Gutson  <dgutson@codesourcery.com>

        * config/arm/arm.md (ctzsi2): Added braces
        to avoid warning that broke booststrap.

From-SVN: r151427
2009-09-04 15:42:05 +00:00
Ozkan Sezer
0e497905ce re PR target/39065 (libiberty hashtab.c:hash_pointer() needs intptr_t)
2009-09-04  Ozkan Sezer  <sezeroz@gmail.com>

	PR target/39065
	* configure.ac: Replace AC_CHECK_TYPE() for intptr_t and uintptr_t
	with AC_TYPE_INTPTR_T and AC_TYPE_UINTPTR_T.
	* config.in: Regenerated.
	* configure: Regenerated.

From-SVN: r151423
2009-09-04 07:33:16 -07:00
Martin Jambor
22fc64b4d9 re PR tree-optimization/41112 (ACATS c43205b fails at -O2 (tree-sra))
2009-09-04  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/41112
	* tree-sra.c (build_ref_for_offset_1): Signal that we cannot
	handle variable-bounded arrays.
	(expr_with_var_bounded_array_refs_p): New function.
	(analyze_access_subtree): Call expr_with_var_bounded_array_refs_p.

	* testsuite/gnat.dg/array8.adb: New test.

From-SVN: r151420
2009-09-04 13:08:12 +02:00
Wolfgang Gellerich
2cdece442d 2097.md: Removed two incorrect bypasses.
2009-09-04  Wolfgang Gellerich  <gellerich@de.ibm.com>

	* config/s390/2097.md: Removed two incorrect bypasses.
	(z10_fsimpdf): Fixed latency.
	(z10_fhex): New insn_reservation.
	(z10_floaddf): Fixed latency.
	(z10_floadsf): Fixed latency.
	(z10_ftrunctf): Fixed latency.
	(z10_ftruncdf): Fixed latency.
	* config/s390/s390.c (z10_cost): Fixed values.
	(s390_adjust_priority): Added z10 path.
	* config/s390/s390.md (type): Added fhex.
	(*mov<mode>_64dfp): Updated type attribute.
	(*mov<mode>_64): Updated type attribute.
	(*mov<mode>_31): Updated type attribute.
	(*mov<mode>"): Likewise.
	* config/s390/2084.md (x_fsimpdf): Updated condition.

From-SVN: r151419
2009-09-04 10:11:00 +00:00
Tobias Burnus
aa4042b15e re PR fortran/41219 (libgfortran build warnings)
2009-09-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41219
        * intrinsics/getlog.c: Define _POSIX for MINGW32.

From-SVN: r151417
2009-09-04 11:25:00 +02:00
Andreas Krebbel
b09062ee0b s390.md ("*fmadd<mode>", [...]): Enable mem RTXs in the predicate for operand 1.
2009-09-04  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md ("*fmadd<mode>", "*fmsub<mode>"): Enable mem
	RTXs in the predicate for operand 1.

From-SVN: r151416
2009-09-04 07:48:09 +00:00
Jakub Jelinek
4d17b2f695 guality.exp: Only run guality tests if a trivial testcase using guality.h compiles and links...
* gcc.dg/guality/guality.exp: Only run guality tests if a trivial
	testcase using guality.h compiles and links and if a global variable
	can be verified by gdb.

From-SVN: r151410
2009-09-04 08:56:55 +02:00
Daniel Gutson
ca96ed43b2 arm.md (UNSPEC_RBIT): New constant.
2009-09-03  Daniel Gutson  <dgutson@codesourcery.com>

	* config/arm/arm.md (UNSPEC_RBIT): New constant.
	(rbitsi2): New insn.
	(ctzsi2): New expand.
	* config/arm/arm.h (CTZ_DEFINED_VALUE_AT_ZERO): New macro.

	testsuite/
	* gcc.target/arm/ctz.c: New test case.

From-SVN: r151402
2009-09-04 02:52:08 +00:00
Daniel Gutson
9af43ec7a2 Daniel Gutson added.
From-SVN: r151400
2009-09-04 00:20:27 +00:00
GCC Administrator
a66627ed30 Daily bump.
From-SVN: r151399
2009-09-04 00:17:45 +00:00
Martin Jambor
687b5078a5 tree-sra.c (duplicate_expr_for_different_base): Removed.
2009-09-03  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (duplicate_expr_for_different_base): Removed.
	(create_artificial_child_access): Use build_ref_for_offset instead
	of duplicate_expr_for_different_base.
	(propagate_subacesses_accross_link): Likewise.

From-SVN: r151394
2009-09-03 23:25:00 +02:00
Eric Botcazou
755d55bbe5 Fix long line
From-SVN: r151393
2009-09-03 20:26:12 +00:00
Alexandre Oliva
9a2e0bd181 Move misplaced contrib/ChangeLog entry to config/.
From-SVN: r151392
2009-09-03 20:11:24 +00:00
Richard Sandiford
006b29ab17 mips.c (USEFUL_INSN_P): Use NONDEBUG_INSN_P instead of INSN_P.
gcc/
	* config/mips/mips.c (USEFUL_INSN_P): Use NONDEBUG_INSN_P instead
	of INSN_P.
	(mips16e_collect_argument_saves): Skip debug instructions.
	(mips_74k_agen_init): Use CALL_P || JUMP_P instead of !NONJUMP_INSN_P.
	(mips16_lay_out_constants): Use USEFUL_INSN_P instead of INSN_P.
	(r10k_insert_cache_barriers): Likewise.
	(mips_reorg_process_insns): Likewise.

From-SVN: r151391
2009-09-03 19:50:30 +00:00
Joseph Myers
3734d8fdca * fi.po: Update.
From-SVN: r151389
2009-09-03 20:22:55 +01:00
Vladimir Makarov
691571d285 re PR bootstrap/41241 (bootstrap comparison failure)
2009-09-03  Vladimir Makarov  <vmakarov@redhat.com>

	PR bootstrap/41241
	* ira.c (update_equiv_reg): Remove check on class likely spill.

From-SVN: r151388
2009-09-03 18:33:25 +00:00
Loren J. Rittle
10e1bc0371 dyn_load.c (HAVE_DL_ITERATE_PHDR): Break definition from use.
2009-09-03  Loren J. Rittle  <ljrittle@acm.org>

	* dyn_load.c (HAVE_DL_ITERATE_PHDR): Break definition from use.
	Define for FreeBSD 7.0+.

From-SVN: r151387
2009-09-03 16:53:35 +00:00
Ozkan Sezer
2e3dac6f94 re PR target/39065 (libiberty hashtab.c:hash_pointer() needs intptr_t)
2009-09-03  Ozkan Sezer  <sezeroz@gmail.com>

	PR target/39065
	* configure.ac: Also check for intptr_t.
	* config.h.in: Regenerated.
	* configure: Regenerated.
	* hashtab.c (hash_pointer): Cast the pointer argument to intptr_t
	instead of of long.

From-SVN: r151386
2009-09-03 09:46:00 -07:00
Jakub Jelinek
7d4507cb30 re PR debug/41236 (RTL checking failure compiling libgcc)
PR debug/41236
	* dwarf2out.c (loc_descriptor): Don't use SUBREG_REG macro on
	SIGN_EXTEND or ZERO_EXTEND.  Don't assume there is a REG inside of
	it or SUBREG.

From-SVN: r151385
2009-09-03 18:33:27 +02:00
Jakub Jelinek
08ab0acf19 re PR debug/41238 (VTA: bootstrap failure, ICE in loc_cmp, at var-tracking.c:2456)
PR debug/41238
	* function.c (assign_parm_find_stack_rtl): Don't set mem attributes on
	the stack slot if it is passed by invisible reference.
	* var-tracking.c (vt_add_function_parameters): Handle arguments passed by
	invisible reference.

From-SVN: r151384
2009-09-03 18:32:07 +02:00
Kai Tietz
eead42e0c5 Revert revision 151379 for linux bootstrap failure for gstdint.h
From-SVN: r151382
2009-09-03 17:49:00 +02:00
Bernd Schmidt
9840d30abf linux.h (TARGET_SUPPORTS_SYNC_CALLS): Define to 1.
gcc/
	* config/bfin/linux.h (TARGET_SUPPORTS_SYNC_CALLS): Define to 1.
	* config/bfin/uclinux.h (TARGET_SUPPORTS_SYNC_CALLS): Define to 1.
	* config/bfin/bfin.h (TARGET_SUPPORTS_SYNC_CALLS): Provide default of
	0.
	* config/bfin/sync.md: New file.
	* config/bfin/bfin.md: Include it.
	(UNSPEC_ATOMIC): New.
	(UNSPEC_ONES): Provide a unique number.

	From Jie Zhang <jie.zhang@analog.com>:
	* config/bfin/bfin.c (ret_regs): New.
	(must_save_fp_p): Don't return true because of frame_pointer_needed.
	(must_save_rets_p): New.
	(n_regs_saved_by_prologue): Use must_save_rets_p instead of
	current_function_is_leaf.
	(do_link): Likewise.
	(do_unlink): Likewise.
	(expand_interrupt_handler_prologue): Use ret_regs array.
	(expand_interrupt_handler_epilogue): Use ret_regs array and
	pass return register to gen_return_internal.
	(bfin_expand_epilogue): Pass return register to
	gen_return_internal.
	(bfin_expand_call): Explicitly clobber RETS.
	* config/bfin/bfin.h (FUNCTION_RETURN_REGISTERS): Define.
	* config/bfin/bfin.md (call_symbol_fdpic, call_value_symbol_fdpic,
	call_insn_fdpic, call_value_insn_fdpic, call_symbol,
	call_value_symbol, call_insn, call_value_insn): Explicitly clobber
	RETS.
	(return_internal): Take a reg rtx rather than the register number.

gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_sync_int_long):
	Supported on Blackfin Linux targets.

From-SVN: r151381
2009-09-03 15:37:28 +00:00
Kai Tietz
be2c0fc941 config.in (HAVE_STDINT_H): New.
2009-09-03  Kai Tietz  <kai.tietz@onevision.com>

	* config.in (HAVE_STDINT_H): New.
	* configure.ac (GCC_HEADER_STDINT): Generated gstdint.h.
	* configure: Regenerated.
	* system.h (gstdint.h): Add include.
	* Makefile.in (aclocal): Add config/stdint.m4.
	* aclocal.m4: Regenerated.

From-SVN: r151379
2009-09-03 16:18:38 +02:00
H.J. Lu
8e094aa29d tree-parloops.c (parallelize_loops): Cast to HOST_WIDE_INT when comparing against estimated_loop_iterations_int return.
2009-09-03  H.J. Lu  <hongjiu.lu@intel.com>

	* tree-parloops.c (parallelize_loops): Cast to HOST_WIDE_INT
	when comparing against estimated_loop_iterations_int return.

From-SVN: r151378
2009-09-03 06:19:01 -07:00
Richard Guenther
e20c9328c0 dwarf2out.c (dwarf2out_do_cfi_asm): Remove check of eh_personality_libfunc.
2009-09-03  Richard Guenther  <rguenther@suse.de>

	* dwarf2out.c (dwarf2out_do_cfi_asm): Remove check of
	eh_personality_libfunc.

From-SVN: r151376
2009-09-03 11:11:08 +00:00
Razya Ladelsky
c9630c4022 tree-parloops.c (separate_decls_in_region): Add space
* tree-parloops.c (separate_decls_in_region): Add space

From-SVN: r151374
2009-09-03 09:38:54 +00:00
Razya Ladelsky
e7df16a549 tree-parloops.c (separate_decls_in_region): Change the condition checking if there are reductions in the loop.
* tree-parloops.c (separate_decls_in_region): Change the condition 
	checking if there are reductions in the loop.

From-SVN: r151373
2009-09-03 09:10:36 +00:00
Razya Ladelsky
785aa2a706 re PR tree-optimization/38275 (bootstrap failure when -ftree-parallelize-loops=4 is enabled)
PR tree-optimization/38275
	* tree-parloops.c (parallelize_loops): Replace profitability condition 
        for expected number of iterations.
        * testsuite/gcc.dg/autopar/reduc-1char.c: Increase number  
        of iterations. Adjust the logic accordingly.
        * testsuite/gcc.dg/autopar/reduc-2char.c: Ditto.
        * testsuite/gcc.dg/autopar/reduc-1.c: Ditto.
        * testsuite/gcc.dg/autopar/reduc-2.c: Ditto.
        * testsuite/gcc.dg/autopar/reduc-3.c: Ditto.
        * testsuite/gcc.dg/autopar/reduc-6.c: Ditto.
        * testsuite/gcc.dg/autopar/reduc-7.c: Ditto.
        * testsuite/gcc.dg/autopar/reduc-8.c: Ditto.
        * testsuite/gcc.dg/autopar/reduc-9.c: Ditto.
        * testsuite/gcc.dg/autopar/pr39500-1.c: Ditto.
        * testsuite/gcc.dg/autopar/reduc-1short.c: Ditto.
        * testsuite/gcc.dg/autopar/reduc-2short.c: Ditto.
        * testsuite/gcc.dg/autopar/parallelization-1.c: Ditto.

From-SVN: r151372
2009-09-03 08:59:25 +00:00
Tobias Burnus
ee5111a441 re PR fortran/41219 (libgfortran build warnings)
2009-09-03  Tobias Burnus  <burnus@net-b.de>

       PR fortran/41219
       * intrinsics/iso_c_binding.c (c_f_pointer_u0): Move variable
       declaration out of the loop.

From-SVN: r151371
2009-09-03 09:36:36 +02:00
Alexandre Oliva
e12c409449 configure.ac (--with-build-config): New.
ChangeLog:
* configure.ac (--with-build-config): New.  Set BUILD_CONFIG.
Default to bootstrap-debug only if compare-debug works.
* configure: Rebuilt.
* Makefile.tpl: Make BUILD_CONFIG configure-configurable.
* Makefile.in: Rebuilt.
contrib/ChangeLog:
* bootstrap-debug-big.mk (STAGE2_CFLAGS): Drop -gtoggle.
* bootstrap-debug-lean.mk: Update comments.
(STAGE2_CFLAGS): Likewise.
(do-compare): Don't override.
gcc/ChangeLog:
* doc/invoke.texi (BUILD_CONFIG): Document --with-build-config.
(bootstrap-debug): Explain conditions in which it becomes default.
(bootstrap-debug-big): Rather than duplicate bootstrap-debug,
make it add to it.

From-SVN: r151367
2009-09-03 05:55:57 +00:00
Namhyung Kim
95da10ea18 invoke.texi (Optimize Options): Move -finline-small-functions to the -O2 list.
2009-09-03  Namhyung Kim  <namhyung@gmail.com>

	* doc/invoke.texi (Optimize Options): Move
	-finline-small-functions to the -O2 list.

From-SVN: r151366
2009-09-03 15:31:42 +10:00
Alexandre Oliva
73d598d5a7 toplev.c (process_options): Enable var-tracking-assignments by default if var-tracking is enabled.
* toplev.c (process_options): Enable var-tracking-assignments
by default if var-tracking is enabled.

From-SVN: r151362
2009-09-03 05:24:57 +00:00
David Daney
896aa4eae3 cfgbuild.c (find_bb_boundaries): Split blocks containing a barrier.
2009-09-02  David Daney  <ddaney@caviumnetworks.com>

	* cfgbuild.c (find_bb_boundaries): Split blocks containing a
	barrier.
	* emit-rtl.c (prev_nonnote_insn_bb): New function.
	* rtl.h (prev_nonnote_insn_bb): Declare it.

2009-09-02  David Daney  <ddaney@caviumnetworks.com>

	* gcc.c-torture/compile/builtin_unreachable-1.c: New testcase.

From-SVN: r151361
2009-09-03 05:01:40 +00:00
Diego Novillo
4537ec0c86 [multiple changes]
2009-09-01  Diego Novillo  <dnovillo@google.com>

	* c-lang.c (lang_hooks): Remove const qualifier.

java/ChangeLog

	* lang.c (lang_hooks): Remove const qualifier.

objc/ChangeLog

	* objc-lang.c (lang_hooks): Remove const qualifier.

objcp/ChangeLog

	* objcp-lang.c (lang_hooks): Remove const qualifier.

ada/ChangeLog

	* gcc-interface/misc.c (lang_hooks): Remove const qualifier.

fortran/ChangeLog

	* f95-lang.c (lang_hooks): Remove const qualifier.

cp/ChangeLog

	* cp-lang.c (lang_hooks): Remove const qualifier.

2009-09-01  Diego Novillo  <dnovillo@google.com>

	* cgraph.c (cgraph_node_for_decl): New.
	* cgraph.h (cgraph_node_for_decl): Declare.
	* tree.c (host_integerp): Return 0 if T is NULL.


2009-09-01  Diego Novillo  <dnovillo@google.com>

	* tree.h (struct alias_pair): Move from varasm.c.
	(alias_pairs): Likewise.
	(TYPE_MAXVAL): Define.
	(TYPE_MINVAL): Define.
	(iterative_hash_host_wide_int): Declare.
	(remove_unreachable_alias_pairs): Declare.
	* tree-pass.h (pass_ipa_free_lang_data): Declare.
	* diagnostic.c (default_diagnostic_starter): Make extern.
	(default_diagnostic_finalizer): Make extern.
	* diagnostic.h (default_diagnostic_starter): Declare.
	(default_diagnostic_finalizer): Declare.
	(default_tree_printer): Declare.
	* toplev.c (default_tree_printer): Make extern.


2009-09-01  Richard Guenther  <rguenther@suse.de>
	    Diego Novillo  <dnovillo@google.com>

	* cgraph.c (cgraph_add_new_function): Remove gimplification.
	* cgraphunit.c (cgraph_expand_function): Do not emit
	associated thunks from here.
	(cgraph_emit_thunks): New.
	(cgraph_optimize): Call it.
	Return if any IPA pass finds an error.
	* varasm.c (finish_aliases_1): Ignore errorneous aliases used
	by thunks.


2009-09-01  Simon Baldwin  <simonb@google.com>
	    Rafael Espindola  <espindola@google.com>
	    Richard Guenther  <rguenther@suse.de>
	    Doug Kwan  <dougkwan@google.com>
	    Diego Novillo  <dnovillo@google.com>

	* tree.c: Include tree-pass.h, langhooks-def.h,
	diagnostic.h, cgraph.h, timevar.h, except.h and debug.h.
	(free_lang_data_in_type): New.
	(need_assembler_name_p): New.
	(free_lang_data_in_block): New.
	(free_lang_data_in_decl): New.
	(struct free_lang_data_d): New.
	(add_tree_to_fld_list): New.
	(find_decls_types_r): New.
	(get_eh_types_for_runtime): New.
	(find_decls_types_in_eh_region): New.
	(find_decls_types_in_node): New.
	(find_decls_types_in_var): New.
	(free_lang_data_in_cgraph): New.
	(free_lang_data): New.
	(gate_free_lang_data): New.
	(pass_ipa_free_lang_data): New.

2009-09-01  Diego Novillo  <dnovillo@google.com>

	* timevar.def (TV_IPA_FREE_LANG_DATA): Define.
	* langhooks.h (struct lang_hooks): Add field free_lang_data.
	(lang_hooks): Remove const qualifier.
	* ipa.c (cgraph_remove_unreachable_nodes): Call
	remove_unreachable_alias_pairs.
	* except.c (add_type_for_runtime): Check if TYPE has
	already been converted.
	(lookup_type_for_runtime): Likewise.
	(check_handled): Handle converted types.
	* varasm.c (remove_unreachable_alias_pairs): New.
	* gimple.c: Include demangle.h.
	(gimple_decl_printable_name): New.
	(gimple_fold_obj_type_ref): New.
	* gimple.h (gimple_decl_printable_name): Declare.
	(gimple_fold_obj_type_ref): Declare.
	* passes.c (init_optimization_passes): Add pass
	pass_ipa_free_lang_data.
	* langhooks-def.h (LANG_HOOKS_FREE_LANG_DATA): Define.
	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_FREE_LANG_DATA.

testsuite/ChangeLog

2009-09-01  Diego Novillo  <dnovillo@google.com>

	* gcc.dg/gomp/combined-1.c: Adjust expected pattern.
	* g++.dg/tree-prof/inline_mismatch_args.C: Likewise.
	* g++.dg/warn/unit-1.C: Likewise.
	* g++.dg/ipa/iinline-1.C: Likewise.
	* g++.dg/template/cond2.C: Adjust expected line location for the
	error.
	* g++.dg/template/pr35240.C: Likewise.


cp/ChangeLog

2009-09-01  Doug Kwan  <dougkwan@google.com>

	* tree.c (cp_fix_function_decl_p): New.
	(cp_free_lang_data): New.

2009-09-01  Diego Novillo  <dnovillo@google.com>

	* Make-lang.in (decl2.o): Add dependency on $(POINTER_SET_H).
	* decl2.c: Include pointer-set.h.
	(collect_candidates_for_java_method_aliases): New.
	(cp_write_global_declarations): Call it.
	Add local variable CANDIDATES.  If set, call
	build_java_method_aliases.
	(build_java_method_aliases): Add argument CANDIDATES.
	Use it to determine if FNDECL should get a hidden alias.
	* cp-objcp-common.h (LANG_HOOKS_FREE_LANG_DATA): Define.
	* cp-tree.h (cp_free_lang_data): Declare.

2009-09-03  Richard Guenther  <rguenther@suse.de>

	* method.c (use_thunk): Use cgraph_finalize_function to hand
	off thunks to the cgraph.
	* semantics.c (emit_associated_thunks): Do not emit thunks
	for really extern functions.

From-SVN: r151360
2009-09-03 00:07:12 -04:00
Alan Modra
e25ea117b5 update copyright dates
From-SVN: r151359
2009-09-03 11:32:09 +09:30
GCC Administrator
0dd95938d3 Daily bump.
From-SVN: r151358
2009-09-03 00:16:36 +00:00
Richard Henderson
c1942361b4 * tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
From-SVN: r151355
2009-09-02 17:07:41 -07:00
Loren J. Rittle
02c8b4f8d9 install.texi (*-*-freebsd*): Update target information.
2009-09-02  Loren James Rittle  <ljrittle@acm.org>

	* doc/install.texi (*-*-freebsd*): Update target information.

From-SVN: r151354
2009-09-02 23:33:10 +00:00
Anatoly Sokolov
adee59ae5f hard-reg-set.h (call_fixed_regs): Remove.
* hard-reg-set.h (call_fixed_regs): Remove.
	* reginfo.c (call_fixed_regs): Remove.
	(init_reg_sets_1): Remove initialization of call_fixed_regs.
	(globalize_reg): Don't use call_fixed_regs.
	* caller-save.c (init_caller_save): Use call_fixed_reg_set instead of
	call_fixed_regs.

From-SVN: r151353
2009-09-03 02:20:52 +04:00
Ralf Wildenhues
6330e1d9fe v3: fix config.status instantiation of subdir makefiles.
libstdc++-v3/:
	* configure.ac: Replace AC_CONFIG_COMMANDS([default])
	instantiation with additional commands issued for each Makefile
	in glibcxx_SUBDIRS, so `./config.status subdir/Makefile' also
	runs these commands.
	Add a separate AC_CONFIG_COMMANDS([generate-headers]) for
	running `make' in include, passing `pch_build=' to `make'.
	* configure: Regenerate.

From-SVN: r151352
2009-09-02 22:11:54 +00:00
Ralf Wildenhues
865dfe398b Fix 'make clean' to remove stamp-host file in libstdc++-v3/include.
libstdc++-v3/:
	PR libstdc++/41220
	* include/Makefile.am (CLEANFILES): Add stamp-host.
	* include/Makefile.in: Regenerate.

From-SVN: r151351
2009-09-02 22:03:32 +00:00
Michael Matz
28ed065ef9 expr.h (emit_storent_insn, [...]): Declare.
* expr.h (emit_storent_insn, expand_expr_real_1,
	expand_expr_real_2): Declare.
	* expr.c (emit_storent_insn, expand_expr_real_1,
	expand_expr_real_2): Export.
	(store_expr): Setting and evaluating dont_return_target is
	useless.
	(expand_expr_real_1, <case GOTO_EXPR, RETURN_EXPR, SWITCH_EXPR,
	LABEL_EXPR and ASM_EXPR>): Move to gcc_unreachable.
	* except.c (expand_resx_expr): Rename to ...
	(expand_resx_stmt): ... this.  Rewrite to take gimple statement.
	* except.h (expand_resx_stmt): Declare.
	* stmt.c: Add include gimple.h
	(expand_asm_expr): Rename to ...
	(expand_asm_stmt): ... this. Rewrite to take gimple statement.
	(expand_case): Rewrite to take gimple statement.
	* tree.h (expand_asm_stmt): Declare.
	(expand_case): Change prototype.
	* Makefile.in (stmt.o): Depend on gimple.h.
	* builtins.c (expand_builtin_synchronize): Build gimple asm
	statement, not an ASM_EXPR.
	* cfgexpand.c (gimple_cond_pred_to_tree, set_expr_location_r,
	gimple_to_tree, release_stmt_tree): Remove.
	(expand_gimple_cond): Don't call gimple_cond_pred_to_tree or
	ggc_free, but hold comparison code and operands separately.
	Call jumpif_1 and jumpifnot_1 instead of jumpif and jumpifnot.
	(expand_call_stmt, expand_gimple_stmt_1,
	expand_gimple_stmt): New helpers.
	(expand_gimple_tailcall): Don't call gimple_to_tree, expand_expr_stmt,
	release_stmt_tree.  Call expand_gimple_stmt instead.
	(expand_gimple_basic_block): Ditto.

	* calls.c (emit_call_1): Don't look at EH regions here, make
	fntree parameter useless.
	(expand_call): New local rettype for TREE_TYPE(exp), use it
	throughout.  Remove local p, use addr instead.
	Don't look at EH regions here.

From-SVN: r151350
2009-09-02 21:13:34 +00:00
Geoffrey Keating
2f6924a484 * btest-gcc.sh: Continue after bootstrap comparison failure.
From-SVN: r151349
2009-09-02 20:26:15 +00:00
Vladimir Makarov
ce18efcb54 invoke.texi (-fsched-pressure): Document it.
2009-09-02  Vladimir Makarov  <vmakarov@redhat.com>

	* doc/invoke.texi (-fsched-pressure): Document it.
	(-fsched-reg-pressure-heuristic): Remove it.
	
	* reload.c (ira.h): Include.
	(find_reloads): Add choosing reload on number of small spilled
	classes.
	
	* haifa-sched.c (ira.h): Include.
	(sched_pressure_p, sched_regno_cover_class, curr_reg_pressure,
	saved_reg_pressure, curr_reg_live, saved_reg_live,
	region_ref_regs): New variables.
	(sched_init_region_reg_pressure_info, mark_regno_birth_or_death,
	initiate_reg_pressure_info, setup_ref_regs,
	initiate_bb_reg_pressure_info, save_reg_pressure,
	restore_reg_pressure, dying_use_p, print_curr_reg_pressure): New
	functions.
	(setup_insn_reg_pressure_info): New function.
	(rank_for_schedule): Add pressure checking and insn issue time.
	Remove comparison of insn reg weights.
	(ready_sort): Set insn reg pressure info.
	(update_register_pressure, setup_insn_max_reg_pressure,
	update_reg_and_insn_max_reg_pressure,
	sched_setup_bb_reg_pressure_info): New functions.
	(schedule_insn): Add code for printing and updating reg pressure
	info.
	(find_set_reg_weight, find_insn_reg_weight): Remove.
	(ok_for_early_queue_removal): Do nothing if pressure_only_p.
	(debug_ready_list): Print reg pressure info.
	(schedule_block): Ditto.  Check insn issue time.
	(sched_init): Set up sched_pressure_p.  Allocate and set up some
	reg pressure related info.
	(sched_finish): Free some reg pressure related info.
	(fix_tick_ready): Make insn always ready if pressure_p.
	(init_h_i_d): Don't call find_insn_reg_weight.
	(haifa_finish_h_i_d): Free insn reg pressure info.
	
	* ira-int.h (ira_hard_regno_cover_class, ira_reg_class_nregs,
	ira_memory_move_cost, ira_class_hard_regs,
	ira_class_hard_regs_num, ira_no_alloc_regs,
	ira_available_class_regs, ira_reg_class_cover_size,
	ira_reg_class_cover, ira_class_translate): Move to ira.h.

	* ira-lives.c (single_reg_class): Check mode to find how many
	registers are necessary for operand.
	(ira_implicitly_set_insn_hard_regs): New.

	* common.opt (fsched-pressure): New options.
	(fsched-reg-pressure-heuristic): Remove.

	* ira.c (setup_eliminable_regset): Rename to
	ira_setup_eliminable_regset.  Make it external.
	(expand_reg_info): Pass cover class to setup_reg_classes.
	(ira): Call resize_reg_info instead of allocate_reg_info.

	* sched-deps.c: Include ira.h.
	(implicit_reg_pending_clobbers, implicit_reg_pending_uses): New.
	(create_insn_reg_use, create_insn_reg_set, setup_insn_reg_uses,
	reg_pressure_info, insn_use_p, mark_insn_pseudo_birth,
	mark_insn_hard_regno_birth, mark_insn_reg_birth,
	mark_pseudo_death, mark_hard_regno_death, mark_reg_death,
	mark_insn_reg_store, mark_insn_reg_clobber,
	setup_insn_reg_pressure_info): New.
	(sched_analyze_1): Update implicit_reg_pending_uses.
	(sched_analyze_insn): Find implicit sets, uses, clobbers of regs.
	Use them to create dependencies.  Set insn reg uses and pressure
	info.  Process reg_pending_uses in one place.
	(free_deps): Free implicit sets.
	(remove_from_deps): Remove implicit sets if necessary.  Check
	implicit sets when clearing reg_last_in_use.
	(init_deps_global): Clear implicit_reg_pending_clobbers and
	implicit_reg_pending_uses.
	
	* ira.h (ira_hard_regno_cover_class, ira_reg_class_nregs,
	ira_memory_move_cost, ira_class_hard_regs,
	ira_class_hard_regs_num, ira_no_alloc_regs,
	ira_available_class_regs, ira_reg_class_cover_size,
	ira_reg_class_cover, ira_class_translate): Move from ira-int.h.
	(ira_setup_eliminable_regset, ira_set_pseudo_classes,
	ira_implicitly_set_insn_hard_regs): New prototypes.
	
	* ira-costs.c (pseudo_classes_defined_p, allocno_p,
	cost_elements_num): New variables.
	(allocno_costs, total_costs): Rename to costs and
	total_allocno_costs.
	(COSTS_OF_ALLOCNO): Rename to COSTS.
	(allocno_pref): Rename to pref.
	(allocno_pref_buffer): Rename to pref_buffer.
	(common_classes): Rename to regno_cover_class.
	(COST_INDEX): New.
	(record_reg_classes): Set allocno attributes only if allocno_p.
	(record_address_regs): Ditto.  Use COST_INDEX instead of
	ALLOCNO_NUM.
	(scan_one_insn): Use COST_INDEX and COSTS instead of ALLOCNO_NUM
	and COSTS_OF_ALLOCNO.
	(print_costs): Rename to print_allocno_costs.
	(print_pseudo_costs): New.
	(process_bb_node_for_costs): Split into 2 functions with new
	function process_bb_for_costs.  Pass BB to process_bb_for_costs.
	(find_allocno_class_costs): Rename to find_costs_and_classes.  Add
	new parameter dump_file.  Use cost_elements_num instead of
	ira_allocnos_num.  Make one iteration if preferred classes were
	already calculated for scheduler.  Make 2 versions of code
	depending on allocno_p.
	(setup_allocno_cover_class_and_costs): Check allocno_p.  Use
	regno_cover_class and COSTS instead of common_classes and
	COSTS_OF_ALLOCNO.
	(init_costs, finish_costs): New.
	(ira_costs): Set up allocno_p and cost_elements_num.  Call
	init_costs and finish_costs.
	(ira_set_pseudo_classes): New.

	* rtl.h (allocate_reg_info): Remove.
	(resize_reg_info): Change return type.
	(reg_cover_class): New.
	(setup_reg_classes): Add new parameter.
	
	* sched-int.h (struct deps_reg): New member implicit_sets.
	(sched_pressure_p, sched_regno_cover_class): New external
	definitions.
	(INCREASE_BITS): New macro.
	(struct reg_pressure_data, struct reg_use_data): New.
	(struct _haifa_insn_data): Remove reg_weight.  Add members
	reg_pressure, reg_use_list, reg_set_list, and
	reg_pressure_excess_cost_change.
	(struct deps): New member implicit_sets.
	(pressure_p): New variable.
	(COVER_CLASS_BITS, INCREASE_BITS): New macros.
	(struct reg_pressure_data, struct reg_use_data): New.
	(INSN_REG_WEIGHT): Remove.
	(INSN_REG_PRESSURE, INSN_MAX_REG_PRESSURE, INSN_REG_USE_LIST,
	INSN_REG_SET_LIST, INSN_REG_PRESSURE_EXCESS_COST_CHANGE): New
	macros.
	(sched_init_region_reg_pressure_info,
	sched_setup_bb_reg_pressure_info): New prototypes.
	
        * reginfo.c (struct reg_pref): New member coverclass.
	(reg_cover_class): New function.
	(reginfo_init, pass_reginfo_init): Move after free_reg_info.
	(reg_info_size): New variable.
	(allocate_reg_info): Make static.  Setup reg_info_size.
	(resize_reg_info): Use reg_info_size.  Return flag of resizing.
	(setup_reg_classes): Add a new parameter.  Setup cover class too.

	* Makefile.in (reload.o, haifa-sched.o, sched-deps.o): Add ira.h to the
	dependencies.

	* sched-rgn.c (deps_join): Set up implicit_sets.
	(schedule_region): Set up region and basic blocks pressure
	relative info.
	
	* passes.c (init_optimization_passes): Move
	pass_subregs_of_mode_init before pass_sched.

From-SVN: r151348
2009-09-02 18:54:25 +00:00
Kaveh R. Ghazi
f8563a3ba7 inline-3.c: Add -fpie when pic.
* gcc.dg/tree-ssa/inline-3.c: Add -fpie when pic.
	* gcc.dg/tree-ssa/local-pure-const.c: Likewise.

From-SVN: r151346
2009-09-02 18:06:40 +00:00
Martin Jambor
fef94f7680 tree-sra.c (struct access): New field grp_hint.
2009-09-02  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (struct access): New field grp_hint.
	(dump_access): Dump grp_hint.
	(sort_and_splice_var_accesses): Set grp_hint if a group is read
	multiple times.
	(analyze_access_subtree): Only scalarize accesses with grp_hint set or
	those which have been specifically read and somehow written to.
	(propagate_subacesses_accross_link): Set grp_hint of right child and
	also possibly of the left child.

	* testsuite/gcc.dg/tree-ssa/sra-8.c: New testcase.
	* testsuite/gcc.dg/memcpy-1.c: Add . to match pattern.
	* testsuite/gcc.dg/uninit-I.c: XFAIL warning test.
	* testsuite/g++.dg/warn/unit-1.C: XFAIL warning test.

From-SVN: r151345
2009-09-02 19:52:18 +02:00