Commit Graph

108133 Commits

Author SHA1 Message Date
Jack Howarth
2cd815e756 re PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64-apple-darwin10)
2011-04-18  Jack Howarth  <howarth@bromo.med.uc.edu>

	    PR lto/48086
	    * configure.ac: Re-enable LTO on *-apple-darwin9*.
	    * configure: Regenerate.

From-SVN: r172671
2011-04-18 21:27:00 +00:00
Jim Meyering
cff4148452 fix doubled-word typos in comments and strings: e.g., s/in in/in/
From-SVN: r172670
2011-04-18 20:42:30 +00:00
Uros Bizjak
f60c25544c i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
* config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
	(AVX_FLOAT_MODE_P): Ditto.
	(AVX128_VEC_FLOAT_MODE_P): Ditto.
	(AVX256_VEC_FLOAT_MODE_P): Ditto.
	(AVX_VEC_FLOAT_MODE_P): Ditto.
	* config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
	(UNSPEC_MASKSTORE): Ditto.
	* config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
	Merge from <sse>_movmsk<ssemodesuffix> and
	avx_movmsk<ssemodesuffix>256.  Use VF mode iterator.
	(*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64.  Use P mode
	iterator.
	(avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
	(avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
	(*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.

testsuite/ChangeLog:

	* gcc.target/i386/sse2-maskmovdqu.c: New test.
	* gcc.target/i386/avx-vmaskmovdqu.c: Ditto.

From-SVN: r172669
2011-04-18 21:48:09 +02:00
Jan Hubicka
d77c2e5b86 semantics.c (finish_goto_stmt): Do set UNINLINABLE flag on computed gotos.
* semantics.c (finish_goto_stmt): Do set UNINLINABLE flag on computed
	gotos.

From-SVN: r172668
2011-04-18 19:28:46 +00:00
Jim Meyering
513db953ec remove now-unused definition of gfc_free
* misc.c (gfc_free): Remove function.
* gfortran.h (gfc_free): Remove its prototype.

From-SVN: r172667
2011-04-18 19:21:05 +00:00
Jim Meyering
cede950232 convert each use of gfc_free (p) to free (p)
Do that by running this command:
  perl -pi -e    's/\bgfc_free ?\(/free (/' \
    $(git grep -El '\bgfc_free ?\(')
which also corrects the few uses that lacked a space between
the function name and the open parenthesis.
Manually undo the change to the function definition itself
and its prototype.  They'll be removed next.
* array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/
* constructor.c (node_free): Likewise.
* cpp.c (dump_queued_macros): Likewise.
* data.c (gfc_assign_data_value): Likewise.
* decl.c (free_variable, free_value, gfc_free_data): Likewise.
(gfc_free_data_all, match_old_style_init): Likewise.
(gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL):
Likewise.
(gfc_match_modproc): Likewise.
* dependency.c (check_section_vs_section): Likewise.
* error.c (gfc_pop_error, gfc_free_error): Likewise.
* expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise.
(gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise.
(find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol):
Likewise.
* frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise.
(strip_function_call, optimize_comparison): Likewise.
* interface.c (gfc_free_interface, arginfo, check_interface0): Likewise.
(CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist):
Likewise.
* intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise.
(gfc_convert_chartype): Likewise.
* io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close):
Likewise.
(gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise.
* match.c (gfc_free_iterator, gfc_match_associate): Likewise.
(gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until):
Likewise.
(free_case, gfc_free_forall_iterator): Likewise.
* misc.c: Likewise.
* module.c (free_pi_tree, resolve_fixups, free_rename): Likewise.
(free_true_name, peek_atom, mio_allocated_wide_string): Likewise.
(mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise.
(mio_gmp_real, mio_expr, mio_typebound_proc): Likewise.
(mio_full_typebound_tree, skip_list, load_equiv): Likewise.
(free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise.
* openmp.c (gfc_free_omp_clauses): Likewise.
* options.c (gfc_post_options): Likewise.
* parse.c (select_type_pop, parse_omp_structured_block): Likewise.
* primary.c (gfc_free_structure_ctor_component): Likewise.
* resolve.c (resolve_structure_cons, check_host_association): Likewise.
(gfc_resolve_forall, resolve_equivalence): Likewise.
* scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise.
(gfc_define_undef_line, preprocessor_line, include_line): Likewise.
(load_file, gfc_read_orig_filename): Likewise.
* simplify.c (simplify_transformation_to_array): Likewise.
(gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING):
Likewise.
(gfc_simplify_compiler_options): Likewise.
* st.c (gfc_free_statement, gfc_free_statements): Likewise.
(gfc_free_association_list): Likewise.
* symbol.c (free_components, gfc_free_st_label, free_st_labels):
Likewise.
(gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise.
(free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise.
(free_common_tree, free_uop_tree, free_sym_tree): Likewise.
(gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists):
Likewise.
(gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise.
(gfc_free_namespace): Likewise.
* trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise.
(gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise.
(gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise.
* trans-common.c (get_init_field, create_common): Likewise.
* trans-const.c (gfc_build_wide_string_const): Likewise.
(gfc_conv_string_init): Likewise.
* trans-decl.c (gfc_generate_function_code): Likewise.
* trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping):
Likewise.
(SCALAR_POINTER, gfc_conv_statement_function): Likewise.
(gfc_trans_subarray_assign): Likewise.
* trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise.
* trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise.
(transfer_namelist_element, transfer_array_component): Likewise.
* trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
* trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise.
* trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus):
Likewise.

From-SVN: r172666
2011-04-18 19:20:53 +00:00
Jim Meyering
5cc124fe7d gfortran: remove cpp definition of free, ...
in preparation for the s/gfc_free/free/ transformation.
* gfortran.h (free): Remove macro definition that would otherwise
prevent direct use of the function.

From-SVN: r172665
2011-04-18 19:20:43 +00:00
Jan Hubicka
8a8dccb2c0 * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
From-SVN: r172664
2011-04-18 18:52:22 +00:00
Jan Hubicka
09a2806fb2 ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
* ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
	(want_inline_function_called_once_p): Break out the logic from
	ipa_inline.
	(edge_badness): Ensure that profile is not misupdated.
	(lookup_recursive_calls): Prioritize by call frequencies.
	(inline_small_functions): Move program size estimates here;
	actually process whole queue even when unit growth has been
	met. (to properly compute inline_failed reasons and for the
	case unit size decrease.) Revisit comments on recursive
	inlining.
	(ipa_inline): Remove unit summary code; first inline hot calls
	of functions called once, cold calls next.
	(order, nnodes): Remove unused variables.
	* Makefile.in (ipa-inline.o): No longer depent on ggc files.
	(GTFILES): Remove ipa-inline.c
	* sel-sched.c (fill_insns): Silence uninitialized var warning.

From-SVN: r172663
2011-04-18 18:39:39 +00:00
Eric Botcazou
3eea52efc8 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
From-SVN: r172660
2011-04-18 17:37:13 +00:00
Ian Lance Taylor
e1c2f29025 libgo: Fix append declaration.
From Rainer Orth.

From-SVN: r172659
2011-04-18 17:31:00 +00:00
Tobias Burnus
e84b920c7c re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * array.c (gfc_match_array_ref): Check for too many
        * codimensions.
        * check.c (gfc_check_image_index): Check number of elements
        in SUB argument.
        * simplify.c (gfc_simplify_image_index): Remove unreachable
        * checks.

2011-04-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_17.f90: New.
        * gfortran.dg/coarray_10.f90: Update dg-error.

From-SVN: r172658
2011-04-18 19:21:24 +02:00
Rainer Orth
9c41356cd2 re PR testsuite/48251 (guality_check hangs indefinitely on Tru64 UNIX)
PR testsuite/48251
	* gcc.dg/guality/guality.exp: Disable on alpha*-dec-osf*.
	* gfortran.dg/guality/guality.exp: Likewise.

From-SVN: r172657
2011-04-18 15:54:50 +00:00
Rainer Orth
28533fb92b * gfortran.dg/fmt_g0_5.f08: Use dg-add-options ieee.
From-SVN: r172655
2011-04-18 15:41:06 +00:00
Rainer Orth
f0f3a1d9e3 * gcc.dg/vect/pr48377.c: Remove dg-do run.
From-SVN: r172654
2011-04-18 15:39:20 +00:00
Rainer Orth
dd7d256b05 * gcc.dg/ipa/pr48195.c: Add dg-require-effective-target lto.
From-SVN: r172651
2011-04-18 14:28:50 +00:00
Richard Guenther
ab62fc03ec re PR c++/46364 (basic_string.h:541:32: internal compiler error: Segmentation fault)
2011-04-18  Richard Guenther  <rguenther@suse.de>

	PR middle-end/46364
	* g++.dg/torture/pr46364.C: New testcase.

From-SVN: r172649
2011-04-18 14:22:35 +00:00
Rainer Orth
fa71a2b407 * obj-c++.dg/dwarf-2.mm: Skip on alpha*-dec-osf*.
From-SVN: r172648
2011-04-18 14:18:44 +00:00
Jie Zhang
229a1c5999 Jie Zhang <jie@codesourcery.com>
Richard Earnshaw  <rearnsha@arm.com>

	* arm.c (neon_builtin_type_bits): Remove.
	(typedef enum neon_builtin_mode): New.
	(T_MAX): Don't define.
	(typedef enum neon_builtin_datum): Remove bits, codes[],
	num_vars and base_fcode.  Add mode, code and fcode.
	(VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
	VAR10): Change accordingly.
	(neon_builtin_data[]): Change accordingly
	(arm_init_neon_builtins): Change accordingly.
	(neon_builtin_compare): Remove.
	(locate_neon_builtin_icode): Remove.
	(arm_expand_neon_builtin): Change accordingly.

	* arm.h (enum arm_builtins): Move to ...
	* arm.c (enum arm_builtins): ... here; and rearrange builtin code.

	* arm.c (arm_builtin_decl): Declare.
	(TARGET_BUILTIN_DECL): Define.
	(enum arm_builtins): Correct ARM_BUILTIN_MAX.
	(arm_builtin_decls[]): New.
	(arm_init_neon_builtins): Store builtin declarations in
	arm_builtin_decls[].
	(arm_init_tls_builtins): Likewise.
	(arm_init_iwmmxt_builtins): Likewise.  Refactor initialization code.
	(arm_builtin_decl): New.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r172646
2011-04-18 14:01:13 +00:00
Richard Guenther
75e802cc5f tree.c (upper_bound_in_type): Build properly canonicalized INTEGER_CSTs.
2011-04-18  Richard Guenther  <rguenther@suse.de>

	* tree.c (upper_bound_in_type): Build properly canonicalized
	INTEGER_CSTs.
	(lower_bound_in_type): Likewise.

From-SVN: r172645
2011-04-18 13:58:47 +00:00
Richard Guenther
3b45a007ef gimple.h (gimple_call_addr_fndecl): New function.
2011-04-18  Richard Guenther  <rguenther@suse.de>

	* gimple.h (gimple_call_addr_fndecl): New function.
	(gimple_call_fndecl): Use it.
	* gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
	for direct calls.
	* tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
	* tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.

From-SVN: r172644
2011-04-18 11:59:34 +00:00
Alexander Monakov
870ef0cee0 pr48235.c: Add dg-require-effective-target freorder.
* gcc.dg/pr48235.c: Add dg-require-effective-target freorder.

From-SVN: r172643
2011-04-18 15:33:52 +04:00
Richard Guenther
d25a79eae6 re PR c/48650 (valgrind: Invalid write of size 8 in build_string (tree.c:1524))
2011-04-18  Richard Guenther  <rguenther@suse.de>

	PR middle-end/48650
	* tree.c (build_string): STRING_CST is now derived from tree_typed.

From-SVN: r172642
2011-04-18 11:18:01 +00:00
Eric Botcazou
7d5fc81417 re PR lto/48492 (LTO bootstrap failure in copy_constant)
PR lto/48492
	* cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
	DECL_IN_CONSTANT_POOL without RTL.

From-SVN: r172641
2011-04-18 10:13:49 +00:00
Ulrich Weigand
7e7cfcf6eb re PR target/48252 (ARM neon: problem with consecutive vzip, vuzp and vtrn)
PR target/48252
	* config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
	to match neon_vzip/vuzp/vtrn_internal.
	* config/arm/neon.md (neon_vtrn<mode>_internal): Make both
	outputs explicitly dependent on both inputs.
	(neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.


Co-Authored-By: Ira Rosen <ira.rosen@linaro.org>

From-SVN: r172639
2011-04-18 07:14:22 +00:00
Jakub Jelinek
49eab32e6e re PR tree-optimization/48616 (-ftree-vectorize -mxop miscompiles right shift)
PR tree-optimization/48616
	* tree-vect-stmts.c (vectorizable_shift): If SLP, determine
	whether the shift is by scalar or vector based on whether all SLP
	scalar stmts have the same rhs.

	* gcc.dg/pr48616.c: New test.

From-SVN: r172638
2011-04-18 08:55:13 +02:00
Tobias Burnus
5af0793001 re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * iresolve.c (gfc_resolve_image_index): Set ts.type.
        * simplify.c (gfc_simplify_image_index): Don't abort if the
        * bounds
        are not known at compile time and handle -fcoarray=lib.
        * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle
        IMAGE_INDEX.
        (conv_intrinsic_cobound): Fix comment typo.
        (trans_this_image): New function.
        * trans-array.c (gfc_unlikely): Move to trans.c.
        * trans.c (gfc_unlikely): Function moved from trans-array.c.
        (gfc_trans_runtime_check): Use it.
        * trans-io.c (gfc_trans_io_runtime_check): Ditto.
        * trans.h (gfc_unlikely): Add prototype.

2011-04-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_16.f90: New.

From-SVN: r172637
2011-04-18 07:56:05 +02:00
Paul Thomas
12df8d0150 re PR fortran/48462 (realloc on assignment: matmul Segmentation Fault with Allocatable Array)
2011-04-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48462
	* trans-expr.c (fcncall_realloc_result): Renamed version of
	realloc_lhs_bounds_for_intrinsic_call that does not touch the
	descriptor bounds anymore but makes a temporary descriptor to
	hold the result.
	(gfc_trans_arrayfunc_assign): Modify the reference to above
	renamed function.

2011-04-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48462
	* gfortran.dg/realloc_on_assign_7.f03: New test.

From-SVN: r172636
2011-04-18 05:07:38 +00:00
Jerry DeLisle
967ac8cfb1 re PR libfortran/48602 (Invalid F conversion of G descriptor for values close to powers of 10)
2011-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48602
	* gfortran.dg/fmt_g0_6.f08: New test.

From-SVN: r172635
2011-04-18 03:52:59 +00:00
Jerry DeLisle
bc7409a8a9 re PR libfortran/48602 (Invalid F conversion of G descriptor for values close to powers of 10)
2011-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48602
	* io/write_float.def (output_float_FMT_G): Use current rounding mode
	to set the rounding parameters. (output_float): Skip rounding
	if value is zero.

From-SVN: r172634
2011-04-18 03:48:25 +00:00
Jason Merrill
4ddd8a74ba re PR c++/48531 ([C++0x][SFINAE] Hard errors with arrays of unknown bound)
PR c++/48531
	* typeck2.c (build_functional_cast): Disallow array type.

From-SVN: r172632
2011-04-17 20:50:31 -04:00
Jason Merrill
991e015686 * tree.c (get_target_expr): Handle VEC_INIT_EXPR.
From-SVN: r172631
2011-04-17 20:50:21 -04:00
GCC Administrator
612af520ba Daily bump.
From-SVN: r172630
2011-04-18 00:17:45 +00:00
Paolo Carlini
dc98549948 moveable.cc: Actually run it in parallel-mode for check-parallel.
2011-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/25_algorithms/partition/moveable.cc: Actually run
	it in parallel-mode for check-parallel.

From-SVN: r172625
2011-04-17 23:15:28 +00:00
Eric Botcazou
23399579a6 Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with $(CFLAGS) on the link line.
* gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
	$(CFLAGS) on the link line.

From-SVN: r172622
2011-04-17 22:28:52 +00:00
Daniel Krugler
da8111a024 PR libstdc++/48635 (again)
2011-04-17  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48635 (again)
	* include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(unique_ptr<>&&),
	unique_ptr<_Tp[]>::unique_ptr(unique_ptr<>&&),
	unique_ptr<>::operator=(unique_ptr<>&&),
	unique_ptr<_Tp[]>::operator=(unique_ptr<>&&)): Use forward<_Ep>, not
	forward<_Dp>, to forward the deleter.
	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r172619
2011-04-17 21:46:11 +00:00
Chung-Lin Tang
e54170f4fd arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC memory operands.
2011-04-17  Chung-Lin Tang  <cltang@codesourcery.com>

	* config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
	memory operands.

From-SVN: r172617
2011-04-17 18:17:15 +00:00
Richard Sandiford
b14ee6c9ce mips.c (mips_cfun_call_saved_reg_p): Handle global registers.
gcc/
	* config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
	registers.

gcc/testsuite/
	* gcc.target/mips/reg-var-1.c: New test.

From-SVN: r172616
2011-04-17 17:29:52 +00:00
Jan Hubicka
10158cd3db cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
* cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
	* cgrpahunit.c (cgraph_finalize_function): Do not set finalized_by_frontend.
	* lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
	finalized_by_frontend.

From-SVN: r172614
2011-04-17 17:00:48 +00:00
Jan Hubicka
2e9bb6ba99 re PR middle-end/20991 (ICE in cgraph_mark_reachable_node)
* cgraph.c (cgraph_clone_node): Do not handle vtable_method
	* cgraph.h (struct cgraph_local_info): Drop vtable_method.
	* cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
	* lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable method.
	* gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
	gimple-fold.c
	* varasm.c (mark_decl_referenced): Drop vtable_method handling code.
	* cp/class.c (cp_fold_obj_type_ref): Drop vtable_method.

From-SVN: r172613
2011-04-17 16:37:07 +00:00
Eric Botcazou
beb628e13b re PR lto/48538 (profiled LTO bootstrap failure with Ada)
PR lto/48538
	* lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
	is non-null before accessing it.
	(input_cgraph): Remove trailing spaces.

From-SVN: r172611
2011-04-17 14:57:14 +00:00
Revital Eres
3e2fdd240f New flag to apply SMS when SC equals 1
From-SVN: r172610
2011-04-17 14:32:24 +00:00
Jan Hubicka
4c0f767939 lto-symtab.c (lto_cgraph_replace_node): When call statement is present, also set gimple_call_set_cannot_inline.
* lto-symtab.c (lto_cgraph_replace_node): When call statement is
	present, also set gimple_call_set_cannot_inline.
	* ipa-inline.c: Update toplevel comment.
	(MAX_TIME): Remove.
	(cgraph_clone_inlined_nodes): Fix linebreaks.
	(cgraph_check_inline_limits): Restructure to ...
	(caller_growth_limits): ... this one; be more tolerant
	on growth in nested inline chains; add explanatory comment;
	fix stack accounting thinko introduced by previous patch.
	(cgraph_default_inline_p): Remove.
	(report_inline_failed_reason): New function.
	(can_inline_edge_p): New function.
	(can_early_inline_edge_p): New function.
	(leaf_node_p): Move upwards in file.
	(want_early_inline_function_p): New function.
	(want_inline_small_function_p): New function.
	(want_inline_self_recursive_call_p): New function.
	(cgraph_edge_badness): Rename to ...
	(edge_badness) ... this one; fix linebreaks.
	(update_edge_key): Update call of edge_baddness; add
	detailed dump about queue updates.
	(update_caller_keys): Use can_inline_edge_p and
	want_inline_small_function_p.
	(cgraph_decide_recursive_inlining): Rename to...
	(recursive_inlining): Use can_inline_edge_p and
	want_inline_self_recursive_call_p; simplify and
	remove no longer valid FIXME.
	(cgraph_set_inline_failed): Remove.
	(add_new_edges_to_heap): Use can_inline_edge_p and
	want_inline_small_function_p.
	(cgraph_decide_inlining_of_small_functions): Rename to ...
	(inline_small_functions): ... this one; cleanup; use
	can/want predicates; cleanup debug ouput; work edges
	till fibheap is exhausted and do not stop once unit
	growth is reached; remove later loop processing remaining
	edges.
	(cgraph_flatten): Rename to ...
	(flatten_function): ... this one; use can_inline_edge_p
	and can_early_inline_edge_p predicates.
	(cgraph_decide_inlining): Rename to ...
	(ipa_inline): ... this one; remove unreachable nodes before
	inlining functions called once; simplify the pass.
	(cgraph_perform_always_inlining): Rename to ...
	(inline_always_inline_functions): ... this one; use
	DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p
	predicate
	(cgraph_decide_inlining_incrementally): Rename to ...
	(early_inline_small_functions): ... this one; simplify
	using new predicates; cleanup; make dumps prettier.
	(cgraph_early_inlining): Rename to ...
	(early_inliner): newer inline regular functions into always-inlines;
	fix updating of call stmt summaries.
	(pass_early_inline): Update for new names.
	(inline_transform): Fix formating.
	(gate_cgraph_decide_inlining): Rename to ...
	(pass_ipa_inline): ... this one.
	* ipa-inline.h (inline_summary): Remove disregard_inline_limits.
	* ipa-inline-analysis.c (dump_inline_summary): Update.
	(compute_inline_parameters): Do not compute disregard_inline_limits;
	look for mismatching arguments.
	(estimate_growth): Fix handlig of non-trivial self recursion.
	(inline_read_summary): Do not read info->disregard_inline_limits.
	(inline_write_summary): Do not write info->disregard_inline_limits.
	* tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove and
	move all checks into can_inline_edge_p predicate; re-enable code comparing
	optimization levels.
	(expand_call_inline): Do not test inline_forbidden_into_p.
	* Makefile.in (ipa-inline.o): Update arguments.

	* gcc.dg/winline-5.c: Update testcase.

From-SVN: r172609
2011-04-17 14:22:20 +00:00
Eric Botcazou
51c5169c60 decl.c (gnat_to_gnu_entity): Declare the padded type built for the return type if it is unconstrained.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
	padded type built for the return type if it is unconstrained.

From-SVN: r172608
2011-04-17 10:22:40 +00:00
Revital Eres
54333b7cda Free sccs field
From-SVN: r172607
2011-04-17 07:41:33 +00:00
Revital Eres
42c2bf92b4 Avoid unfreed memory when SMS fails
From-SVN: r172606
2011-04-17 07:36:55 +00:00
Tobias Burnus
0a826db38e re PR fortran/48624 (gfortran DECL issues in function declaration)
2011-05-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48624
        * trans-decl.c (gfc_get_extern_function_decl): Fix decl
        for external procedures with proc arguments.

From-SVN: r172604
2011-04-17 09:34:35 +02:00
Michael Matz
b183e9e079 re PR tree-optimization/48622 (ICE: in estimate_size_after_inlining, at ipa-inline-analysis.c:425 with -flto -finline-small-functions -fno-early-inlining)
PR tree-optimization/48622
	PR lto/48645
	* ipa-inline-analysis.c (inline_read_summary): Read size/time
	in same order as they're written.

testsuite/
	* gcc.dg/lto/pr48622_0.c: New test.

From-SVN: r172603
2011-04-17 01:18:51 +00:00
GCC Administrator
e27f2b5858 Daily bump.
From-SVN: r172602
2011-04-17 00:18:14 +00:00
Janne Blomqvist
d30fe1c5cd Replace sprintf with snprintf
From-SVN: r172590
2011-04-16 20:43:03 +03:00