Commit Graph

89341 Commits

Author SHA1 Message Date
Richard Guenther 53f3815cc0 re PR tree-optimization/35972 (load-PRE missed opportunities without SFTs)
2008-08-19  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/35972
	PR tree-optimization/23094
	* tree-ssa-sccvn.h (vn_reference_lookup_pieces): Add maywalk
	parameter.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
	handle MISALIGNED_INDIRECT_REF.
	(get_ref_from_reference_ops): New helper.
	(vn_reference_lookup_pieces): Walk the use-def chain using the
	alias-oracle if requested.
	* tree-ssa-pre.c (phi_translate_1): Do reference lookup with
	walking the use-def chain.
	(compute_avail): But not here.
	(create_component_ref_by_pieces_1): Properly handle
	MISALIGNED_INDIRECT_REF.
	(do_regular_insertion): Handle fully redundant
	expressions after PHI-translation also for SSA_NAME values, not
	only constants.  Correctly use edoubleprime for that.

	* gcc.dg/tree-ssa/ssa-pre-19.c: New testcase.
	* gcc.dg/autopar/reduc-1.c: Move constant initialized arrays to
	global memory.
	* gcc.dg/autopar/reduc-1char.c: Likewise.
	* gcc.dg/autopar/reduc-1short.c: Likewise.
	* gcc.dg/autopar/reduc-2.c: Likewise.
	* gcc.dg/autopar/reduc-2char.c: Likewise.
	* gcc.dg/autopar/reduc-2short.c: Likewise.
	* gcc.dg/autopar/reduc-3.c: Likewise.
	* gcc.dg/tree-ssa/ifc-20040816-1.c: Likewise.
	* gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Likewise.
	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Likewise.
	* gcc.dg/vect/fast-math-vect-reduc-5.c: Likewise.
	* gcc.dg/vect/fast-math-vect-reduc-7.c: Likewise.
	* gcc.dg/vect/no-trapping-math-2.c: Likewise.
	* gcc.dg/vect/no-trapping-math-vect-111.c: Likewise.
	* gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c: Likewise.
	* gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c: Likewise.
	* gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c: Likewise.
	* gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c: Likewise.
	* gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-37.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise.
	* gcc.dg/vect/pr18400.c: Likewise.
	* gcc.dg/vect/slp-12b.c: Likewise.
	* gcc.dg/vect/slp-14.c: Likewise.
	* gcc.dg/vect/slp-7.c: Likewise.
	* gcc.dg/vect/slp-15.c: Likewise.
	* gcc.dg/vect/slp-16.c: Likewise.
	* gcc.dg/vect/slp-17.c: Likewise.
	* gcc.dg/vect/slp-24.c: Likewise.
	* gcc.dg/vect/slp-28.c: Likewise.
	* gcc.dg/vect/slp-3.c: Likewise.
	* gcc.dg/vect/slp-34.c: Likewise.
	* gcc.dg/vect/slp-6.c: Likewise.
	* gcc.dg/vect/slp-8.c: Likewise.
	* gcc.dg/vect/vect-107.c: Likewise.
	* gcc.dg/vect/vect-108.c: Likewise.
	* gcc.dg/vect/vect-11.c: Likewise.
	* gcc.dg/vect/vect-112.c: Likewise.
	* gcc.dg/vect/vect-115.c: Likewise.
	* gcc.dg/vect/vect-11a.c: Likewise.
	* gcc.dg/vect/vect-34.c: Likewise.
	* gcc.dg/vect/vect-9.c: Likewise.
	* gcc.dg/vect/vect-97.c: Likewise.
	* gcc.dg/vect/vect-align-1.c: Likewise.
	* gcc.dg/vect/vect-float-extend-1.c: Likewise.
	* gcc.dg/vect/vect-floatint-conversion-1.c: Likewise.
	* gcc.dg/vect/vect-ifcvt-16.c: Likewise.
	* gcc.dg/vect/vect-ifcvt-17.c: Likewise.
	* gcc.dg/vect/vect-ifcvt-2.c: Likewise.
	* gcc.dg/vect/vect-ifcvt-3.c: Likewise.
	* gcc.dg/vect/vect-ifcvt-4.c: Likewise.
	* gcc.dg/vect/vect-ifcvt-5.c: Likewise.
	* gcc.dg/vect/vect-ifcvt-6.c: Likewise.
	* gcc.dg/vect/vect-ifcvt-7.c: Likewise.
	* gcc.dg/vect/vect-intfloat-conversion-1.c: Likewise.
	* gcc.dg/vect/vect-intfloat-conversion-2.c: Likewise.
	* gcc.dg/vect/vect-intfloat-conversion-3.c: Likewise.
	* gcc.dg/vect/vect-intfloat-conversion-4a.c: Likewise.
	* gcc.dg/vect/vect-intfloat-conversion-4b.c: Likewise.
	* gcc.dg/vect/vect-multitypes-2.c: Likewise.
	* gcc.dg/vect/vect-multitypes-5.c: Likewise.
	* gcc.dg/vect/vect-reduc-1.c: Likewise.
	* gcc.dg/vect/vect-reduc-1char.c: Likewise.
	* gcc.dg/vect/vect-reduc-1short.c: Likewise.
	* gcc.dg/vect/vect-reduc-2.c: Likewise.
	* gcc.dg/vect/vect-reduc-3.c: Likewise.
	* gcc.dg/vect/vect-shift-1.c: Likewise.
	* gcc.dg/vect/vect-strided-float.c: Likewise.
	* gcc.dg/vect/vect-strided-store-u32-i2.c: Likewise.
	* gcc.dg/vect/wrapv-vect-reduc-2char.c: Likewise.
	* gcc.dg/vect/wrapv-vect-reduc-2short.c: Likewise.
	* gcc.dg/tree-ssa/gen-vect-11.c: Likewise.
	* gcc.dg/tree-ssa/gen-vect-11a.c: Likewise.
	* gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-76c.c: Likewise.

From-SVN: r139226
2008-08-19 09:06:54 +00:00
Ira Rosen 5d59337297 tree-vectorizer.c (supportable_widening_operation): Support multi-step conversion...
* tree-vectorizer.c (supportable_widening_operation): Support
	multi-step conversion, return the number of steps in such conversion
	and the required intermediate types.
	(supportable_narrowing_operation): Likewise.
	* tree-vectorizer.h (vect_pow2): New function.
	(supportable_widening_operation): Change argument types.
	(supportable_narrowing_operation): Likewise.
	(vectorizable_type_promotion): Add an argument.
	(vectorizable_type_demotion): Likewise.
	* tree-vect-analyze.c (vect_analyze_operations): Call 
	vectorizable_type_promotion and vectorizable_type_demotion with
	additional argument.
	(vect_get_and_check_slp_defs): Detect patterns.
	(vect_build_slp_tree): Add an argument, don't fail in case of multiple
	types. 
	(vect_analyze_slp_instance): Don't fail in case of multiple types. Call
	vect_build_slp_tree with correct arguments. Calculate unrolling factor
	according to the smallest type in the loop.
	(vect_detect_hybrid_slp_stmts): Include statements from patterns.
	* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Call 
	supportable_widening_operation with correct arguments. 
	* tree-vect-transform.c (vect_get_slp_defs): Allocate output vector 
	operands lists according to the number of vector statements in left
	or right node, if exists.
	(vect_gen_widened_results_half): Remove unused argument.
	(vectorizable_conversion): Call supportable_widening_operation, 
	supportable_narrowing_operation, and vect_gen_widened_results_half
	with correct arguments. 
	(vectorizable_assignment): Change documentation, support multiple
	types in SLP. 
	(vectorizable_operation): Likewise.
	(vect_get_loop_based_defs): New function.
	(vect_create_vectorized_demotion_stmts): Likewise.
	(vectorizable_type_demotion): Support loop-aware SLP and general
	multi-step conversion. Call vect_get_loop_based_defs and
	vect_create_vectorized_demotion_stmts for transformation.
	(vect_create_vectorized_promotion_stmts): New function.
	(vectorizable_type_promotion): Support loop-aware SLP and general
	multi-step conversion. Call vect_create_vectorized_promotion_stmts
	for transformation.	
	(vectorizable_store): Change documentation, support multiple
	types in SLP. 
	(vectorizable_load): Likewise.
	(vect_transform_stmt): Pass SLP_NODE to 
	vectorizable_type_promotion and vectorizable_type_demotion.
	(vect_schedule_slp_instance): Move here the calculation of number
	of vectorized statements for each node from...
	(vect_schedule_slp): ... here.
	(vect_transform_loop): Call vect_schedule_slp without the last
	argument.

From-SVN: r139225
2008-08-19 08:31:41 +00:00
Dorit Nuzman 45ea82c11f re PR bootstrap/37152 (tree-vect-transform.c: use of "=" where "==" may have been intended)
PR bootstrap/37152
        * tree-vect-transform.c (vect_create_epilog_for_reduction): Change =
        to == in assert statement.
        (vectorizable_reduction): Fix typo.

From-SVN: r139224
2008-08-19 07:14:26 +00:00
Tobias Burnus cfd648ca23 re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
2008-08-19  Tobias Burnus  <burnus@net-b.de>

       PR libfortran/35863
       * io/write.c (write_a_char4): Add missing variable declaration
       in HAVE_CRLF block.

From-SVN: r139223
2008-08-19 08:00:51 +02:00
GCC Administrator 8b9d2005bc Daily bump.
From-SVN: r139221
2008-08-19 00:16:45 +00:00
Adam Nemet 956a82a112 * gcc.target/mips/ext-1.c: Add -mgp64 to dg-mips-options.
From-SVN: r139218
2008-08-19 00:14:59 +00:00
Steve Ellcey 15912ca57e * g++.dg/other/anon5.C: Skip on *-*-hpux*.
From-SVN: r139216
2008-08-18 21:25:12 +00:00
Daniel Franke f34cf28d62 re PR fortran/37032 (including "file.F90" - no CPP processing)
2008-08-18  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/37032
        * gfortran.texi: Document decision on include file handling in
        preprocessed files.

From-SVN: r139215
2008-08-18 16:46:08 -04:00
Steve Ellcey 468756c55a * gcc.dg/vect/no-vfa-pr29145.c: XFAIL if no_vect_align.
From-SVN: r139213
2008-08-18 20:36:03 +00:00
Steve Ellcey d3b3e1b3c4 * gcc.target/ia64/types-1.c: Change error to message.
From-SVN: r139212
2008-08-18 20:26:55 +00:00
H.J. Lu c3a4ca0340 re PR bootstrap/37153 (Revision 139210 failed to bootstrap)
2008-08-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/37153
	* value-prof.c (check_counter): Dereference pointer to overall
	count when printing it.

From-SVN: r139211
2008-08-18 12:48:41 -07:00
H.J. Lu 3aa71f9da0 profile.h: Really add it.
2008-08-18  H.J. Lu  <hongjiu.lu@intel.com>

	* profile.h: Really add it.

From-SVN: r139210
2008-08-18 12:22:36 -07:00
H.J. Lu f7bc085cf1 mcf.c: Really add it.
2008-08-18  H.J. Lu  <hongjiu.lu@intel.com>

	* mcf.c: Really add it.

From-SVN: r139209
2008-08-18 12:16:30 -07:00
Paul Yuan 52c76998c7 cgraph.c (cgraph_edge): Handle inconsistent counts when setting count_scale.
2008-08-18  Paul Yuan  <yingbo.com@gmail.com>
	    Vinodha Ramasamy  <vinodha@google.com>

	* cgraph.c (cgraph_edge): Handle inconsistent counts when setting
	count_scale.
	* value-prof.c (check_counter): Fix the counter if
	flag_profile_correction is true.
	(tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
	tree_mod_subtract_transform):
	Follow check_counter parameter change.
	* common.opt (fprofile-correction): New option.
	* mcf.c: New file.
	* profile.c (edge_info, EDGE_INFO): Moved to new file profile.h.
	(sum_edge_counts, is_edge_inconsistent, correct_negative_edge_counts,
	is_inconsistent, set_bb_counts, read_profile_edge_counts): New
	functions.
	(compute_branch_probabilities): Refactored. Invokes mcf_smooth_cfg if
	flag_profile_correction is set.


Co-Authored-By: Vinodha Ramasamy <vinodha@google.com>

From-SVN: r139208
2008-08-18 19:02:44 +00:00
Richard Sandiford 808cc41726 rtlanal.c (subreg_offset_representable_p): Check HARD_REGNO_MODE_OK.
gcc/
	* rtlanal.c (subreg_offset_representable_p): Check HARD_REGNO_MODE_OK.

From-SVN: r139207
2008-08-18 18:21:01 +00:00
Paolo Carlini b7e2f896db re PR testsuite/37149 (27_io/basic_ostream/inserters_other/char/error_code.cc)
2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37149
	* testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Include
	<cstdio>.
	* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
	Likewise.
	* testsuite/27_io/objects/char/12048-1.cc: Likewise.
	* testsuite/27_io/objects/char/12048-3.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
	* testsuite/ext/malloc_allocator/deallocate_global.cc: Likewise.
	* testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global-2.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-6.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-8.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: Likewise.
	* testsuite/ext/new_allocator/deallocate_global.cc: Likewise.
	* testsuite/ext/new_allocator/deallocate_local.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
	* include/std/regex: Include <sstream>.
	* include/tr1/regex: Likewise.

From-SVN: r139206
2008-08-18 17:48:15 +00:00
Tomas Bily 1a87cf0c4c tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to
* tree.h (IS_CONVERT_EXPR_CODE_P): Renamed to
        * CONVERT_EXPR_CODE_P.
        * tree-ssa-threadedge.c (simplify_control_stmt_condition): Use
        CONVERT_EXPR_P.
        * tree-data-ref.c (split_constant_offset_1): Likewise.
        * tree-inline.c (estimate_operator_cost): Use CASE_CONVERT.
        * tree-sra.c (sra_walk_expr): Likewise.
        * matrix-reorg.c (ssa_accessed_in_assign_rhs): Likewise.
        * tree-ssa-loop-niter.c (expand_simple_operations): Likewise.
        * gimple.h (gimple_assign_cast_p): Use CONVERT_EXPR_CODE_P.
        * tree-ssa-structalias.c (find_func_aliases, find_func_aliases):
        * Likewise.
        * gimple.c (gimple_assign_unary_nop_p): Likewise.
        * tree-vect-transform.c (vectorizable_type_demotion)
        (vectorizable_type_promotion): Likewise.
        * tree-inline.c (expand_call_inline): 
        * tree-ssa-forwprop.c (get_prop_source_stmt, can_propagate_from)
        (forward_propagate_addr_expr_1, forward_propagate_comparison)
        (tree_ssa_forward_propagate_single_use_vars): Likewise.
        * expr.c (expand_expr_real_1): Likewise.
        * tree-ssa-dom.c (hashable_expr_equal_p,
        * iterative_hash_hashable_expr)
        (gimple_assign_unary_useless_conversion_p): Likewise.
        * tree-stdarg.c (execute_optimize_stdarg): Likewise.
        * tree-ssa-ccp.c (ccp_fold, fold_gimple_assign): Likewise.
        * fold-const.c (fold_unary): Likewise.
        * tree.h (CONVERT_EXPR_P): Likewise.
        * tree.c (simple_cst_equal, iterative_hash_expr): Likewise.
        * tree-ssa-loop-im.c (rewrite_bittest): Likewise.
        * tree-vrp.c: 
        (register_edge_assert_for_2, extract_range_from_unary_expr)
        (register_edge_assert_for_1): Likewise.

        * cp/tree.c (cp_tree_equal): Likewise.

From-SVN: r139204
2008-08-18 18:23:47 +02:00
Paolo Carlini 3c7c6d39d0 configure.ac: Do not hardcode HAVE_S_ISREG and HAVE_S_IFREG for newlib.
2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* configure.ac: Do not hardcode HAVE_S_ISREG and HAVE_S_IFREG for
	newlib.
	* configure: Regenerate.

From-SVN: r139203
2008-08-18 16:21:18 +00:00
Manuel López-Ibáñez 9c02cf684c real.h (dconst_e, [...]): Declare.
2008-08-18  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* real.h (dconst_e, dconst_third, dconst_sqrt2, dconst_e_ptr,
	dconst_third_ptr, dconst_sqrt2_ptr): Declare.
	(enum real_value_const): Delete.
	(get_real_const): Delete.
	* real.c (get_real_const): Delete.
	(dconst_e_ptr): Define.
	(dconst_third_ptr): Define.
	(dconst_sqrt2_ptr): Define.
	* builtins.c: Update all callers.

From-SVN: r139202
2008-08-18 16:17:16 +00:00
Richard Guenther e46587281e tree-ssa-reassoc.c (reassociate_bb): Properly reset the statement iterator after statement removal.
2008-08-18  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-reassoc.c (reassociate_bb): Properly reset the
	statement iterator after statement removal.

From-SVN: r139201
2008-08-18 15:36:15 +00:00
Paolo Carlini 5289e80852 re PR libstdc++/37147 (New failures: 20_util/ratio/comparisons/comp2.cc et al)
2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37147
	* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten checks on stdint.h,
	check the macros too.
	* configure: Regenerate.

From-SVN: r139200
2008-08-18 15:02:10 +00:00
Andreas Tobler 3b7abfdae7 driver-rs6000.c (detect_caches_freebsd): New function.
2008-08-18  Andreas Tobler  <a.tobler@schweiz.org>

	* config/rs6000/driver-rs6000.c (detect_caches_freebsd): New function.
	(detect_processor_freebsd): Likewise.
	(host_detect_local_cpu): Call newly added functions for FreeBSD.

From-SVN: r139196
2008-08-18 16:31:58 +02:00
Richard Guenther 2f9864e6cf tree-cfg.c (verify_types_in_gimple_assign): Verify copies and loads have the correct types.
2008-08-18  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (verify_types_in_gimple_assign): Verify copies
	and loads have the correct types.

From-SVN: r139195
2008-08-18 14:21:35 +00:00
Manuel López-Ibáñez d2e796ad51 re PR preprocessor/7263 (__extension__ keyword doesn't suppress warning on LL or ULL constants)
2008-08-18  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR cpp/7263
	* c-opts.c (cpp_opts): Remove static.
	* c-parser.c (cpp_opts): Declare it extern.
	(disable_extension_diagnostics): Handle cpp options.
	(enable_extension_diagnostics): Likewise.
testsuite/
	* gcc.dg/cpp/pr7263-2.c: New.
	* gcc.dg/cpp/pr7263-2.h: New.
	* gcc.dg/cpp/pr7263-3.c: New.
	* gcc.dg/cpp/pr7263-3.h: New.

From-SVN: r139194
2008-08-18 11:30:32 +00:00
Manuel López-Ibáñez cbe5f3b371 diagnostics.c (permerror_at): Rename as permerror.
2008-08-18  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* diagnostics.c (permerror_at): Rename as permerror.
	(permerror): Delete.
	* toplev.h: Likewise.
cp/	
	* typeck.c: Update all callers.
	* init.c: Likewise.
	* class.c: Likewise.
	* decl.c: Likewise.
	* call.c: Likewise.
	* except.c: Likewise.
	* cvt.c: Likewise.
	* typeck2.c: Likewise.
	* pt.c: Likewise.
	* semantics.c: Likewise.
	* name-lookup.c: Likewise.
	* lex.c: Likewise.
	* decl2.c: Likewise.
	* parser.c: Likewise.

From-SVN: r139193
2008-08-18 11:17:52 +00:00
Samuel Tardieu 79a141784a [multiple changes]
2008-08-18  Samuel Tardieu  <sam@rfc1149.net>
            Robert Dewar  <dewar@adacore.com>
    gcc/ada/
	PR ada/30827
	* bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
	version string.
	Move comment in the right place.
	* g-comver.adb (Version): Look for a zero-termination in
	addition to a closing parenthesis.

2008-08-18  Robert Dewar  <dewar@adacore.com>
    gcc/testsuite/
	PR ada/30827
	* gnat.dg/test_version.adb: New.

From-SVN: r139192
2008-08-18 09:09:24 +00:00
Samuel Tardieu b9b2405ff3 gcc/ada/
* exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
	* sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
	* sem_prag.adb, sem_util.adb, sem_warn.adb: Use
	Is_Package_Or_Generic_Package instead of hand-crafted tests.

From-SVN: r139191
2008-08-18 08:59:47 +00:00
Samuel Tardieu 51c16e2998 re PR ada/15808 (Illegal program not detected, RM 3.9.3(10))
gcc/ada/
	PR ada/15808
	* sem_ch6.adb (Check_Private_Overriding): Check for generic packages
	as well.

    gcc/testsuite/
	PR ada/15808
	* gnat.dg/specs/abstract_private.ads: New.

From-SVN: r139190
2008-08-18 08:58:58 +00:00
Richard Guenther 11b08ee911 passes.c (init_optimization_passes): Remove cleanup_cfg1, sdse1 and addressables2 passes.
2008-08-18  Richard Guenther  <rguenther@suse.de>

	* passes.c (init_optimization_passes): Remove cleanup_cfg1,
	sdse1 and addressables2 passes.  Replace dce1 with cddce1.
	Move call_cdce before build_alias.  Move copyrename2,
	cunrolli and ccp2 beafore build_alias.  Re-add addressable2
	right after final inlining.
	* tree-cfg.c (build_gimple_cfg): Do not dump function here.
	(pass_build_cfg): But instead via TODO_dump_func.

	* gcc.dg/fold-alloca-1.c: Scan cfg dump instead of cleanup_cfg1.
	* gcc.dg/fold-compare-3.c: Likewise.
	* gcc.dg/tree-ssa/20030709-2.c: Scan cddce2 dump.
	* gcc.dg/tree-ssa/20030808-1.c: Likewise.
	* gcc.dg/tree-ssa/20040211-1.c: Likewise.
	* gcc.dg/tree-ssa/20040305-1.c: Likewise.
	* gcc.dg/tree-ssa/forwprop-1.c: Adjust pattern.
	* gcc.dg/tree-ssa/forwprop-2.c: Likewise..
	* gcc.dg/tree-ssa/ssa-dce-3.c: Scan cddce1 dump.

From-SVN: r139189
2008-08-18 08:42:57 +00:00
Richard Guenther 400196f17b tree-sra.c (generate_element_init_1): Deal with NULL constructor element index.
2008-08-18  Richard Guenther  <rguenther@suse.de>

	* tree-sra.c (generate_element_init_1): Deal with NULL constructor
	element index.
	(scalarize_init): If we failed to generate some initializers
	do not generate zeros for not instantiated members.  Instead
	rely on the copy out.
	* tree-ssa-operands.c (get_addr_dereference_operands): Warn
	about missing flow-sensitive alias info only if we have
	aliases computed.

From-SVN: r139188
2008-08-18 08:40:32 +00:00
GCC Administrator 46102bbfb9 Daily bump.
From-SVN: r139184
2008-08-18 00:16:30 +00:00
Mark Wielaard 67e88bcd66 CairoGraphics2D.java: Always loadLibrary gtk-peer.
* gnu/java/awt/peer/gtk/CairoGraphics2D.java: Always loadLibrary
        gtk-peer.
        * gnu/java/awt/peer/gtk/GdkFontPeer.java: Likewise.
        * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Likewise.
        * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: Likewise.
        * gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise.
        * gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java: Likewise.
        * gnu/java/awt/peer/gtk/*.class: Rebuilt.

From-SVN: r139181
2008-08-17 21:42:34 +00:00
Nick Clifton 0859c412cf extend.texi (Function Attributes): Fix typo in description if hot function attribute.
* doc/extend.texi (Function Attributes): Fix typo in description
  if hot function attribute.

From-SVN: r139179
2008-08-17 16:36:39 +00:00
Paolo Carlini 99bf8d167e acinclude.m4 ([AC_LC_MESSAGES]): Use AC_TRY_COMPILE instead of AC_TRY_LINK.
2008-08-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([AC_LC_MESSAGES]): Use AC_TRY_COMPILE instead of
	AC_TRY_LINK.
	* configure.ac: Run unconditionally AC_LC_MESSAGES.
	* crossconfig.m4: Adjust.
	* configure: Regenerate.

From-SVN: r139171
2008-08-17 12:30:55 +00:00
Daniel Jacobowitz e21d5757ec install.texi (--with-mips-plt): Document.
gcc/
2008-08-17  Daniel Jacobowitz  <dan@codesourcery.com>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* doc/install.texi (--with-mips-plt): Document.
	* doc/invoke.texi (-mplt, -mno-plt): Document.
	* config.gcc (mips*-*-*): Add mips-plt to supported_defaults
	and handle ${with_mips_plt}.
	* config/mips/mips.opt (mplt): New option.
	* config/mips/mips.h (TARGET_ABICALLS_PIC0): New macro.
	(TARGET_ABICALLS_PIC2): Likewise.
	(TARGET_GPWORD): Return false for TARGET_ABSOLUTE_ABICALLS.
	(OPTION_DEFAULT_SPECS): Add a mips-plt entry.
	(ASM_SPEC): Use !mabi=* instead of !mabi*.
	(MIPS_CALL): Use TARGET_ABICALLS_PIC2 instead of TARGET_ABICALLS
	to decide whether to output ".option picX" directives.
	* config/mips/linux.h (SUBTARGET_ASM_SPEC): Remove -mabi=64 handling.
	Pass -call_nonpic rather than -KPIC for -mplt.
	(BASE_DRIVER_SELF_SPECS): Remove -mplt if -mno-shared is not present
	on the command line.  Also remove it when -mabi=64 is used without
	-msym32.
	* config/mips/linux64.h (SUBTARGET_ASM_SPEC): Delete.
	* config/mips/mips.c (mips_use_pic_fn_addr_reg_p): Handle
	TARGET_ABICALLS_PIC0.
	(mips_classify_symbol): Use TARGET_ABICALLS_PIC2 instead of
	TARGET_ABICALLS.
	(mips16_build_function_stub): Only output ".option pic" directives
	and PIC stubs if TARGET_ABICALLS_PIC2.  Call through $25 instead of $1.
	(mips16_build_call_stub): Fix comment and remove redundant
	".set at"/"set .noat" directives.
	(mips_function_rodata_section): Use the default behaviour for
	TARGET_ABSOLUTE_ABICALLS.
	(mips_file_start): Emit ".option pic0" for TARGET_ABICALLS_PIC0.
	(mips_global_pointer): Handle TARGET_ABICALLS_PIC0.
	(mips_restore_gp): Do nothing if the current function doesn't use
	a global pointer.
	(mips_expand_prologue): Only save $gp if the current function uses it.
	Use a normal move for TARGET_ABICALLS_PIC0.
	(mips_override_options): Only set flag_pic if TARGET_ABICALLS_PIC2.

Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>

From-SVN: r139170
2008-08-17 10:48:46 +00:00
Richard Sandiford 4817c43b17 mips.c (mips_save_reg_p): Don't short-circuit rest of function when handling GLOBAL_POINTER_REGNUM.
gcc/
	* config/mips/mips.c (mips_save_reg_p): Don't short-circuit rest
	of function when handling GLOBAL_POINTER_REGNUM.

From-SVN: r139169
2008-08-17 10:47:40 +00:00
Paolo Carlini 74745ec578 acinclude.m4 ([GLIBCXX_CHECK_LFS], [...]): Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_LINK...
2008-08-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_CHECK_LFS], [GLIBCXX_CHECK_POLL],
	[GLIBCXX_CHECK_S_ISREG_OR_S_IFREG], [GLIBCXX_CHECK_WRITEV]):
	Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_LINK, in C++,
	with -fno-exceptions as flags.
	* configure.ac: Run unconditionally GLIBCXX_CHECK_LFS,
	GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_S_ISREG_OR_S_IFREG,
	GLIBCXX_CHECK_WRITEV and commonized AC_CHECK_HEADERS. 
	* crossconfig.m4: Adjust; remove AC_CHECK_HEADERS commonized
	in configure.ac.
	* configure: Regenerate.

From-SVN: r139168
2008-08-17 10:19:34 +00:00
Aaron W. LaFramboise c8bbc9ef2a adaint.c (_gnat_set_close_on_exec): Implement.
2008-08-17  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

	* adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.

From-SVN: r139167
2008-08-16 23:44:15 -06:00
GCC Administrator 2f1dcfba75 Daily bump.
From-SVN: r139165
2008-08-17 00:16:33 +00:00
David Edelsohn 3ecc96e312 * MAINTAINERS: Update my email address.
From-SVN: r139162
2008-08-16 18:30:52 -04:00
Eric Botcazou e650b83a5d trans.c (call_to_gnu): Use the Sloc of the call for back-copy statements in lieu of that of the actual.
* gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
	for back-copy statements in lieu of that of the actual.

From-SVN: r139161
2008-08-16 20:15:08 +00:00
Eric Botcazou 12f89f6c60 Fix long lines.
From-SVN: r139160
2008-08-16 18:49:51 +00:00
Eric Botcazou b38f3813f7 re PR middle-end/20548 (ACATS c52103x c52104x c52104y segfault)
PR ada/20548
	* common.opt (-fstack-check): Do not declare the variable here.
	(-fstack-check=): New option variant.
	* doc/invoke.texi (Code Gen Options): Document it.
	* expr.h (STACK_OLD_CHECK_PROTECT): New macro.
	(STACK_CHECK_PROTECT): Bump to 3 pages if DWARF-2 EH is used.
	(STACK_CHECK_STATIC_BUILTIN): New macro.
	* doc/tm.texi (Stack Checking): Document STACK_CHECK_STATIC_BUILTIN.
	* opts.c: Include expr.h.
	(common_handle_option) <OPT_fold_stack_check_>: New case.
	<OPT_fstack_check>: Likewise.
	* calls.c (initialize_argument_information): Use TYPE_SIZE_UNIT
	consistently in the test for variable-sized types.  Adjust for
	new behaviour of flag_stack_check.
	* explow.c: Include except.h.
	(allocate_dynamic_stack_space): Do not take into account
	STACK_CHECK_MAX_FRAME_SIZE for static builtin stack checking.
	* function.c (gimplify_parameters): Use DECL_SIZE_UNIT in the test
	for variable-sized parameters.  Treat all parameters whose size is
	greater than STACK_CHECK_MAX_VAR_SIZE as variable-sized if generic
	stack checking is enabled.
	* gimplify.c (gimplify_decl_expr): Treat non-static objects whose
	size is greater than STACK_CHECK_MAX_VAR_SIZE as variable-sized
	if generic stack checking is enabled.
	(expand_function_end): Adjust for new behaviour of flag_stack_check.
	* reload1.c (reload): Likewise.
	* stmt.c (expand_decl): Assert that all automatic variables have
	fixed size at this point and remove dead code.
	* flags.h (stack_check_type): New enumeration type.
	(flag_stack_check): Declare.
	* toplev.c (flag_stack_check): New global variable.
	* Makefile.in (opts.o): Add dependency on EXPR_H.
	(explow.o): Add dependency on except.h.
ada/
	* gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
	setjmp test consistently.  Adjust for new behaviour of flag_stack_check.
	* gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
	test of flag_stack_check.  Adjust for new behaviour of flag_stack_check.

From-SVN: r139159
2008-08-16 18:40:57 +00:00
Tobias Burnus 6c397102b2 re PR fortran/36825 ([F08] Rank > 7 arrays [will break library ABI] libgfortran I/O+intrinsics:)
2008-08-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36825
        * libgfortran.h: Reduce GFC_MAX_DIMENSIONS to 7.

2008-08-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36825
        * gfortran.dg/rank_1.f90: Modify error message.

From-SVN: r139152
2008-08-16 17:53:14 +02:00
Andy Hutchinson 3898bf509d * config/avr/avr.c (avr_override_options): Reduce value of PARAM_INLINE_CALL_COST.
From-SVN: r139151
2008-08-16 13:38:06 +00:00
Eric Botcazou dd609cc1c1 Makefile.tpl: Add BOOT_ADAFLAGS.
* Makefile.tpl: Add BOOT_ADAFLAGS.
	* Makefile.in: Regenerate.

From-SVN: r139149
2008-08-16 07:25:30 +00:00
Jerry DeLisle 0ee02b1c5d re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
2008-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/35863
	* gfortran.dg/utf8_1.f03: New test.
	* gfortran.dg/utf8_2.f03: New test.

From-SVN: r139148
2008-08-16 03:42:54 +00:00
Jerry DeLisle 3ae86bf4f4 re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
2008-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/35863
	* intrinsics/selected_char_kind.c: Enable iso_10646.
	* io/read.c (typedef uchar): New type.
	(read_utf8): New function to read a single UTF-8 encoded character.
	(read_utf8_char1): New function to read UTF-8 into a KIND=1 string.
	(read_default_char1): New functio to read default into KIND=1 string.
	(read_utf8_char4): New function to read UTF-8 into a KIND=4 string.
	(read_default_char4): New function to read UTF-8 into a KIND=4 string.
	(read_a): Modify to use the new functions.
	(read_a_char4): Modify to use the new functions.
	* io/write.c (error.h): Add include. (typedef uchar): New type.
	(write_default_char4): New function to default write KIND=4 string.
	(write_utf8_char4): New function to UTF-8 write KIND=4 string.
	(write_a_char4): Modify to use new functions.
	(write_character): Modify to use new functions.

From-SVN: r139147
2008-08-16 03:38:31 +00:00
Jerry DeLisle dad80a1bff re PR libfortran/35863 ([F2003] Implement ENCODING="UTF-8")
2008-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/35863
	* io.c (gfc_match_open): Enable UTF-8 in checks.
	* simplify.c (gfc_simplify_selected_char_kind): Enable iso_10646.

From-SVN: r139146
2008-08-16 03:36:32 +00:00
GCC Administrator f179cbcab7 Daily bump.
From-SVN: r139142
2008-08-16 00:16:47 +00:00