108279 Commits

Author SHA1 Message Date
H.J. Lu
6f19785029 Update alignment on local variables.
2011-04-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/48608
	* cfgexpand.c (get_decl_align_unit): Renamed to ...
	(align_local_variable): This.  Update DECL_ALIGN.
	(add_stack_var): Updated.
	(expand_one_stack_var): Likewise.

From-SVN: r172438
2011-04-14 10:10:24 -07:00
Nathan Froyd
545f261bef cp-tree.def (IF_STMT): Add an extra operand.
* cp-tree.def (IF_STMT): Add an extra operand.
	* cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
	* cp-tree.h (IF_SCOPE): Define.
	* semantics.c (begin_if_stmt): Pass scope to build_stmt.
	(finish_if_stmt): Use IF_SCOPE instead of TREE_CHAIN.

From-SVN: r172437
2011-04-14 17:05:58 +00:00
Nathan Froyd
40e71fc77f cp-tree.def (FOR_STMT, [...]): Add an extra operand.
* cp-tree.def (FOR_STMT, RANGE_FOR_STMT): Add an extra operand.
	* cp-objcp-common.c (cp_common_init_ts): Mark them as TS_TYPED.
	* cp-tree.h (FOR_SCOPE, RANGE_FOR_SCOPE): Define.
	* semantics.c (begin_for_stmt): Pass an extra arg to build_stmt.
	Use FOR_SCOPE instead of TREE_CHAIN.
	(begin_range_for_stmt): Likewise, with RANGE_FOR_SCOPE.
	(finish_for_stmt): Likewise.

From-SVN: r172436
2011-04-14 15:13:26 +00:00
Jason Merrill
c2aa8dc926 parser.c (cp_parser_postfix_expression): Fix flags passed to build_new_method_call.
* parser.c (cp_parser_postfix_expression): Fix flags passed to
	build_new_method_call.
	* semantics.c (finish_call_expr): Likewise.

From-SVN: r172435
2011-04-14 11:00:24 -04:00
Jason Merrill
e2a009c710 re PR c++/48531 ([C++0x][SFINAE] Hard errors with arrays of unknown bound)
PR c++/48531
	* init.c (build_value_init_noctor): Check complain consistently.

From-SVN: r172434
2011-04-14 11:00:15 -04:00
Jason Merrill
a66e8081b5 re PR c++/48557 ([C++0x][SFINAE] Hard errors with void as operand of binary built-in operators)
PR c++/48557
	* typeck.c (cp_build_binary_op): Don't decay void operands.

From-SVN: r172433
2011-04-14 11:00:07 -04:00
Jason Merrill
fe5b5c364b re PR c++/48446 (internal compiler error: in gimplify_var_or_parm_decl, at gimplify.c:1946)
PR c++/48446
	* decl.c (compute_array_index_type): Use get_temp_regvar instead
	of variable_size.
	* init.c (get_temp_regvar): No longer static.
	* cp-tree.h: Declare it.

From-SVN: r172432
2011-04-14 10:59:58 -04:00
Richard Guenther
4a5ba3ed87 tree-ssa-dse.c (struct dse_global_data, [...]): Remove.
2011-04-14  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
	Remove.
	(dse_initialize_block_local_data, dse_leave_block,
	record_voperand_set, get_stmt_uid): Likewise.
	(dse_possible_dead_store_p): Allow any kind of killing stmt.
	(dse_optimize_stmt): Remove voperand set handling code.
	Simplify and improve to handle any kind of killing stmt.
	(dse_record_phi): Remove.
	(dse_enter_block): Simplify.
	(tree_ssa_dse): Likewise.
	* tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.

	* gcc.dg/tree-ssa/ssa-dse-14.c: New testcase.

From-SVN: r172431
2011-04-14 13:38:33 +00:00
Jan Hubicka
10a5dd5d3d cgraph.c (dump_cgraph_node): Do not dump inline summaries.
* cgraph.c (dump_cgraph_node): Do not dump inline summaries.
	* cgraph.h (struct inline_summary): Move to ipa-inline.h
	(cgraph_local_info): Remove inline_summary.
	* ipa-cp.c: Include ipa-inline.h.
	(ipcp_cloning_candidate_p, ipcp_estimate_growth,
	ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
	accesor.
	* lto-cgraph.c (lto_output_node): Do not stream inline summary.
	(input_overwrite_node): Do not set inline summary.
	(input_node): Do not stream inline summary.
	* ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
	(cgraph_decide_inlining_incrementally): Do not try to estimate overall
	growth; we do not have inline parameters computed for that anyway.
	(cgraph_early_inlining): After inlining compute call_stmt_sizes.
	* ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
	(inline_summary_t): New type and VECtor.
	(debug_inline_summary, dump_inline_summaries): Declare.
	(inline_summary): Use VOCtor.
	(estimate_edge_growth): Kill hack computing call stmt size directly.
	* lto-section-in.c (lto_section_name): Add inline section.
	* ipa-inline-analysis.c: Include lto-streamer.h
	(node_removal_hook_holder, node_duplication_hook_holder): New holders
	(inline_node_removal_hook, inline_node_duplication_hook): New functions.
	(inline_summary_vec): Define.
	(inline_summary_alloc, dump_inline_summary, debug_inline_summary,
	dump_inline_summaries): New functions.
	(estimate_function_body_sizes): Properly compute size/time of outgoing calls.
	(compute_inline_parameters): Alloc inline_summary; do not compute size/time
	of incomming calls.
	(estimate_edge_time): Avoid missing time summary hack.
	(inline_read_summary): Read inline summary info.
	(inline_write_summary): Write inline summary info.
	(inline_free_summary): Free all hooks and inline summary vector.
	* lto-streamer.h: Add LTO_section_inline_summary section.
	* Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
	* ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.

	* lto.c: Include ipa-inline.h
	(add_cgraph_node_to_partition, undo_partition): Use inline_summary accessor.
	(ipa_node_duplication_hook): Fix declaration.
	* Make-lang.in (lto.o): Update dependencies.

From-SVN: r172430
2011-04-14 13:26:44 +00:00
Richard Sandiford
b602d918bc tree-vectorizer.h (vect_strided_store_supported): Add a HOST_WIDE_INT argument.
gcc/
	* tree-vectorizer.h (vect_strided_store_supported): Add a
	HOST_WIDE_INT argument.
	(vect_strided_load_supported): Likewise.
	(vect_permute_store_chain): Return void.
	(vect_transform_strided_load): Likewise.
	(vect_permute_load_chain): Delete.
	* tree-vect-data-refs.c (vect_strided_store_supported): Take a
	count argument.  Check that the count is a power of two.
	(vect_strided_load_supported): Likewise.
	(vect_permute_store_chain): Return void.  Update after above changes.
	Assert that the access is supported.
	(vect_permute_load_chain): Likewise.
	(vect_transform_strided_load): Return void.
	* tree-vect-stmts.c (vectorizable_store): Update calls after
	above interface changes.
	(vectorizable_load): Likewise.
	(vect_analyze_stmt): Don't check for strided powers of two here.

From-SVN: r172428
2011-04-14 12:47:16 +00:00
Richard Guenther
ab4472fa10 re PR middle-end/48590 (Alias analysis confused by builtin-stack-save/restore)
2011-04-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/48590
	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
	BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
	(call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
	BUILT_IN_STACK_SAVE.
	* tree-ssa-dce.c (propagate_necessity): Handle
	BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.

From-SVN: r172427
2011-04-14 12:19:28 +00:00
Nicola Pero
32dabdaff8 In gcc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* c-parser.c (c_parser_objc_class_declaration): Updated call to
	objc_declare_class.

In gcc/c-family/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* stub-objc.c (objc_declare_class): Updated argument name.

In gcc/cp/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* parser.c (cp_parser_objc_class_declaration): Updated for change
	in objc_declare_class().

In gcc/objc/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-act.c (objc_declare_class): Changed to take a single
	identifier as argument instead of a tree list.  This means callers
	don't have to build temporary tree lists to call this function.
	(synth_module_prologue): Updated calls to objc_declare_class.

From-SVN: r172425
2011-04-14 12:12:55 +00:00
Richard Guenther
daade2060c tree.h (get_object_alignment_1): Declare.
2011-04-14  Richard Guenther  <rguenther@suse.de>

	* tree.h (get_object_alignment_1): Declare.
	* builtins.c (get_object_alignment_1): Split out worker from ...
	(get_object_alignment): ... here.
	* fold-const.c (get_pointer_modulus_and_residue): Use
	get_object_alignment_1.

	* gcc.dg/fold-bitand-4.c: Move ...
	* c-c++-common/fold-bitand-4.c: ... here.  Adjust slightly.

From-SVN: r172424
2011-04-14 12:07:57 +00:00
Richard Sandiford
920e817274 tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra type parameter.
gcc/
	* tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
	type parameter.
	* tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
	parameter.  Generalise code to handle arrays as well as vectors.
	(vect_setup_realignment): Update accordingly.
	* tree-vect-stmts.c (vectorizable_store): Likewise.
	(vectorizable_load): Likewise.

From-SVN: r172423
2011-04-14 11:54:43 +00:00
Richard Sandiford
5ce1ee7fdd tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain within the per-copy loop.
gcc/
	* tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
	within the per-copy loop.

From-SVN: r172422
2011-04-14 11:54:30 +00:00
Richard Sandiford
6438fe334c Fix email attribution in last commits.
From-SVN: r172421
2011-04-14 11:54:11 +00:00
Richard Sandiford
0ea25ecd37 tree-vect-stmts.c (vectorizable_load): Print the number of copies in the dump file.
gcc/
	* tree-vect-stmts.c (vectorizable_load): Print the number of copies
	in the dump file.

From-SVN: r172420
2011-04-14 11:53:02 +00:00
Richard Sandiford
77b104859e options.texi (Negative): Explicitly mention that the Negative chain must be circular.
gcc/
	* doc/options.texi (Negative): Explicitly mention that the
	Negative chain must be circular.

From-SVN: r172419
2011-04-14 11:52:17 +00:00
Nathan Froyd
61e46a7d5e utils.c (gnat_poplevel): Use block_chainon.
gcc/ada/
	* gcc-interface/utils.c (gnat_poplevel): Use block_chainon.

gcc/
	* function.h (block_chainon): Declare.
	* function.c (block_chainon): Define.

gcc/cp/
	* decl.c (poplevel): Use block_chainon.

gcc/fortran//
	* f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.

gcc/java/
	* decl.c (poplevel): Use BLOCK_CHAIN and block_chainon.

From-SVN: r172418
2011-04-14 11:18:40 +00:00
Georg-Johann Lay
023009d4d1 trivial.c: Fix line endings.
* gcc.target/avr/trivial.c: Fix line endings. Make PROGMEM
	variables const.
	* gcc.target/avr/torture/trivial.c: Ditto.

From-SVN: r172417
2011-04-14 10:38:17 +00:00
Anatoly Sokolov
43ea65025f avr.c: ("insn-codes.h"...
* config/avr/avr.c: ("insn-codes.h", "optabs.h", "langhooks.h"):
	New Includes
	(avr_init_builtins, avr_expand_builtin,
	avr_expand_delay_cycles, avr_expand_unop_builtin,
	avr_expand_binop_builtin ): New functions.
	(avr_builtin_id): New enum
	(struct avr_builtin_description): New struct
	(bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
	
	* config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
	UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR, 
	UNSPECV_DELAY_CYCLES): new enumeration values
	(UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
	("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
	("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
	("*rotlqi3_4"): rename insn to "rotlqi3_4"
	("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
	"delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
	"fmulsu"): New insns
	
	* config/avr/avr-c.c: fix line endings
	(avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
	__BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
	__BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
	__BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
	__BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
	
	* doc/extend.texi (AVR Built-in Functions): New node
	(Target Builtins): Add documentation of AVR
	built-in functions.


Co-Authored-By: Eric Weddington <eric.weddington@atmel.com>
Co-Authored-By: Georg-Johann Lay <avr@gjlay.de>

From-SVN: r172416
2011-04-14 09:24:34 +00:00
Georg-Johann Lay
8a9b55f326 re PR target/44643 ([avr] ICE in c-typeck.c)
PR target/44643
	* config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
	alone. Error if non-const data has attribute progmem.

From-SVN: r172415
2011-04-14 08:38:20 +00:00
Nathan Froyd
94bd182513 tree.h (struct tree_constructor): Include tree_typed instead of tree_common.
* tree.h (struct tree_constructor): Include tree_typed instead of
	tree_common.
	* tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
	TS_TYPED instead of TS_COMMON.

From-SVN: r172409
2011-04-14 01:38:07 +00:00
GCC Administrator
b77020b201 Daily bump.
From-SVN: r172408
2011-04-14 00:17:45 +00:00
Uros Bizjak
81b1e7eb51 sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
* config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
	(*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
	(sse2_psadbw): Merge with *avx_psadbw.
	(ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
	(ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
	(ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
	(ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
	(ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
	(ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
	(ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
	(*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
	(ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
	(ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
	(ssse3_palignrti): Merge with *avx_palignrti.

From-SVN: r172403
2011-04-14 01:43:52 +02:00
Ian Lance Taylor
8dc421e035 Use backend interface for go and defer statements.
Change defer stack from tree to Expression.

From-SVN: r172402
2011-04-13 23:21:21 +00:00
Paolo Carlini
123c516a9e [multiple changes]
2011-04-13  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48526
	* include/std/type_traits (struct is_constructible): Re-implement,
	according to n3290.
	(struct is_default_constructible): Add.
	(struct is_destructible): Likewise.
	(struct __and_, __or_, __not_): Add and use throughout; reorder some
	facilities, other minor tweaks.
	* testsuite/util/testsuite_tr1.h: Add test types.
	* testsuite/20_util/is_constructible/value-2.cc: New.
	* testsuite/20_util/is_default_constructible/value.cc: Likewise.
	* testsuite/20_util/is_default_constructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_default_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_destructible/value.cc: Likewise.
	* testsuite/20_util/is_destructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_destructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.

2011-04-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/is_function/value.cc: Add, adapted from the tr
	testsuite. 
	* testsuite/20_util/is_function/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_function/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_function/24808.cc: Likewise.
	* testsuite/20_util/is_function/35637.cc: Likewise.
	* testsuite/20_util/is_object/value.cc: Likewise.
	* testsuite/20_util/is_object/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_object/requirements/explicit_instantiation.cc:
	: Likewise.
	* testsuite/20_util/is_object/24808.cc: Likewise.
	* testsuite/20_util/is_compound/value.cc: Likewise.
	* testsuite/20_util/is_compound/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_compound/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_object_pointer/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_member_object_pointer/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_fundamental/value.cc: Likewise.
	* testsuite/20_util/is_fundamental/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_fundamental/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_member_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_pointer/requirements/typedefs.cc: 
	Likewise.
	* testsuite/20_util/is_member_pointer/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_function_pointer/
	requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_member_function_pointer/requirements/
	explicit_instantiation.cc: Likewise.

	* testsuite/20_util/is_convertible/value.cc: Minor tweak, adjust
	Copyright years.

From-SVN: r172401
2011-04-13 22:52:45 +00:00
Joseph Myers
12e0582473 * sv.po: Update.
From-SVN: r172398
2011-04-13 23:08:01 +01:00
Ian Lance Taylor
b39c10b813 Unify handling of runtime support functions.
This introduces the new approach, and rewrites the lowering
code which uses runtime functions.  The code which calls
runtime functions at GENERIC conversion time is not yet
rewritten.

From-SVN: r172396
2011-04-13 21:00:59 +00:00
Jason Merrill
516d9427ed re PR c++/48594 (Rejects valid with pointer-to-member in template)
PR c++/48594
	* decl2.c (build_offset_ref_call_from_tree): Fix calling a functor
	or pointer to (non-member) function.

From-SVN: r172394
2011-04-13 16:50:26 -04:00
Nathan Froyd
4b1a46942e tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
* tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
	* tree-ssanames.c (fini_ssanames): VEC_free it.
	(make_ssa_name_fn): Update for VECness of free_ssanames.
	(release_ssa_name, release_dead_ssa_names): Likewise.
	* tree.h (struct tree_ssa_name): Include tree_typed instead of
	tree_common.
	* tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
	TS_TYPED instead of TS_COMMON.

From-SVN: r172393
2011-04-13 20:32:30 +00:00
Nathan Froyd
4da3b811f9 postreload-gcse.c (gcse_after_reload_main): Add calls to statistics_counter_event.
* postreload-gcse.c (gcse_after_reload_main): Add calls to
	statistics_counter_event.
	* tree-ssa-copyrename.c (stats): Define.
	(rename_ssa_copies): Count coalesced SSA_NAMEs.  Add call to
	statistics_counter_event.
	* tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
	(bswap_stats, widen_mul_stats): Define.
	(insert_reciprocals): Increment rdivs_inserted.
	(execute_cse_reciprocals): Zeroize reciprocal_stats.  Increment
	rfuncs_inserted.  Add calls to statistics_counter_event.
	(execute_cse_sincos_1): Increment inserted.
	(execute_cse_sincos): Zeroize sincos_stats.  Add call to
	statistics_counter_event.
	(execute_optimize_bswap): Zeroize bswap_stats.  Increment fields
	of bswap_stats.  Add calls to statistics_counter_event.
	(convert_mult_to_widen): Increment widen_mults_inserted.
	(convert_plusminus_to_widen): Increment maccs_inserted.
	(convert_mult_to_fma): Increment fmas_inserted.
	(execute_optimize_widening_mul): Zeroize widen_mul_stats.  Add
	calls to statistics_counter_event.

From-SVN: r172392
2011-04-13 19:39:02 +00:00
Vladimir Makarov
89fa552a9e re PR rtl-optimization/48455 (Huge code size regression for all ARM configurations)
2011-04-13  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/48455
	* ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
	`temp_costs->mem_cost'.

From-SVN: r172389
2011-04-13 18:26:52 +00:00
Jan Hubicka
03dfc36daf ipa-inline.h: New file.
* ipa-inline.h: New file.
	* ipa-inline-analysis.c: New file. Broken out of ...
	* ipa-inline.c: ... this file; update toplevel comment;
	include ipa-inline.h
	(inline_summary): Move to ipa-inline.h
	(cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
	ipa-inline-analysis.c.
	(cgraph_estimate_time_after_inlining): Rename to estiamte_time_after_inlining;
	move to ipa-inline-analysis.c
	(cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
	to estimate_edge_growth.
	(cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
	rename to estimate_size_after_inlining.
	(cgraph_mark_inline_edge): Update for new naming convention.
	(cgraph_check_inline_limits): Likewise.
	(cgraph_edge_badness): Likewise.
	(cgraph_decide_recursive_inlining): Likewise.
	(cgraph_decide_inlining_of_small_functions): Likewise.
	(cgraph_decide_inlining_incrementally): Likewise.
	(cgraph_estimate_growth): Rename to estimate_growth; move to ipa-inline-analysis.c.
	(eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
	(estimate_function_body_sizes): Move to ipa-inline-analysis.c.
	(compute_inline_parameters): Likewise.
	(compute_inline_parameters_for_current): Likewise.
	(pass_inline_parameters): Likewise.
	(inline_indirect_intraprocedural_analysis): Likewise.
	(analyze_function): Rename to inline_analyze_function; likewise.
	(add_new_function): Move to ipa-inline-analysis.c.
	(inline_generate_summary): Likewise.
	(inline_read_summary): Likewise.
	(inline_write_summary): Likewise.
	* Makefile.in (ipa-inline-analysis.c): New file.

From-SVN: r172388
2011-04-13 17:26:50 +00:00
Rainer Orth
7673c9623f configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
* configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
	* configure: Regenerate.

From-SVN: r172387
2011-04-13 17:12:53 +00:00
Nathan Froyd
9698252f89 tree.h (struct tree_int_cst, [...]): Include tree_typed instead of tree_common.
* tree.h (struct tree_int_cst, struct real_value): Include tree_typed
	instead of tree_common.
	(struct tree_fixed_cst, struct tree_string, struct tree_complex):
	Likewise.
	* tree.c (initialize_tree_contains_struct): Mark such nodes as being
	TS_TYPED rather than TS_COMMON.
	* print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.

From-SVN: r172386
2011-04-13 17:04:36 +00:00
Georg-Johann Lay
86d835306c Fix ChangeLog entry for PR target/45263
From-SVN: r172385
2011-04-13 16:46:29 +00:00
Georg-Johann Lay
3a7bfdd522 re PR target/45263 (registers used in __do_global_ctors can get clobbered)
PR target/45263
	* config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Save
	R20 around calls of __tablejump_elpm__

From-SVN: r172384
2011-04-13 16:36:50 +00:00
Georg-Johann Lay
3a78d31ff3 MAINTAINERS (Write After Approval): Add myself.
2011-04-13  Georg-Johann Lay  <avr@gjlay.de>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r172382
2011-04-13 16:04:11 +00:00
Jakub Jelinek
20790697dd re PR middle-end/48591 (OpenMP ICE with atomics on __float128 in 32-bit only i686 cc1)
PR middle-end/48591
	* omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
	NULL.
	(expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.

	* gcc.dg/gomp/pr48591.c: New test.

	* testsuite/libgomp.c/pr48591.c: New test.

From-SVN: r172379
2011-04-13 17:50:02 +02:00
Jakub Jelinek
9c76a19e8f re PR regression/48570 (wrong subscription with -std=c++0x)
PR c++/48570
	* semantics.c (cxx_eval_array_reference): Handle reading from
	wchar_t, char16_t and char32_t STRING_CST.

	* g++.dg/cpp0x/constexpr-wstring1.C: New test.
	* g++.dg/cpp0x/constexpr-wstring2.C: New test.

From-SVN: r172377
2011-04-13 17:38:50 +02:00
Dodji Seketeli
91d8b4bd7a re PR c++/48574 (ICE)
Fix PR c++/48574

gcc/cp/

	* class.c (fixed_type_or_null): We cannot determine the dynamic
	type of a reference variable if its initializer is dependent.

gcc/testsuite/

	* g++.dg/template/dependent-expr7.C: New test case.

From-SVN: r172375
2011-04-13 17:09:26 +02:00
Jason Merrill
ba9c349ec8 pt.c (tsubst_copy_and_build): Don't complain about unqualified lookup failing if we're still in a template.
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Don't complain about
	unqualified lookup failing if we're still in a template.

From-SVN: r172372
2011-04-13 10:34:05 -04:00
Bernd Schmidt
094d766192 dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
* dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
	(dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
	(cfi_vec): New typedef.
	(struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
	dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
	(cie_cfi_vec): New static variable.
	(cie_cfi_head): Delete.
	(add_cfi): Accept a cfi_vec * as first argument. All callers and
	declaration changed. Use vector rather than list operations.
	(new_cfi): Don't initialize the dw_cfi_next field.
	(add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
	rather than list operations.
	(lookup_cfa): Use vector rather than list operations.
	(output_cfis): New argument upto. Accept a cfi_vec rather than
	a dw_cfi_ref list head as argument. All callers changed.
	Iterate over the vector using upto as a maximum index.
	(output_all_cfis): New static function.
	(output_fde): Use vector rather than list operations. Use the
	new upto argument for output_cfis rather than manipulating a
	list.
	(dwarf2out_begin_prologue): Change initializations to match
	new struct members.
	(dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
	from the vector length rather than searching for the end of a list.
	Use output_all_cfis.
	(convert_cfa_to_fb_loc_list): Use vector rather than list operations.

From-SVN: r172369
2011-04-13 11:42:08 +00:00
Nick Clifton
673a574032 rx.md (movmemsi): Do not use this pattern when volatile pointers are involved.
* config/rx/rx.md (movmemsi): Do not use this pattern when
	volatile pointers are involved.

From-SVN: r172368
2011-04-13 11:31:55 +00:00
Uros Bizjak
4ea1a16244 sse2-init-v2di-2.c: Update scan pattern.
* gcc.target/i386/sse2-init-v2di-2.c: Update scan pattern.

From-SVN: r172366
2011-04-13 12:27:40 +02:00
Uros Bizjak
1ee8b298fb sse.md (pinsrbits): Remove.
* config/i386/sse.md (pinsrbits): Remove.
	(sse2_packsswb): Merge with *avx_packsswb.
	(sse2_packssdw): Merge with *avx_packssdw.
	(sse2_packuswb): Merge with *avx_packuswb.
	(vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
	(vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
	(vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
	(vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
	(vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
	(vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
	(*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
	(*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
	(*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
	(*sse4_1_pinsrq): Merge with *avx_pinsrq.
	(sse2_loadld): Merge with *avx_loadld.
	(*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
	(*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
	(*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
	(*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
	(vec_concatv2di): Merge with *vec_concatv2di_avx.

From-SVN: r172365
2011-04-13 12:16:51 +02:00
Eric Botcazou
b48678464d Fix minor formatting issues
From-SVN: r172364
2011-04-13 10:09:13 +00:00
Nicola Pero
1328049a7b In gcc/objc/: 2011-04-13 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2011-04-13  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-act.c (build_keyword_selector): Use get_identifier_with_length
	instead of get_identifier.

From-SVN: r172360
2011-04-13 04:02:26 +00:00
Nathan Froyd
81f653d624 ada-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN.
gcc/ada/
	* gcc-interface/ada-tree.h (union lang_tree_node): Check for
	TS_COMMON before calling TREE_CHAIN.
	* gcc-interface/misc.c (gnat_init_ts): New function.
	(LANG_HOOKS_INIT_TS): Define.

gcc/
	* c-decl.c (union lang_tree_node): Check for TS_COMMON before
	calling TREE_CHAIN.
	* print-tree.c (print_node): Likewise.
	* tree-inline.c (copy_tree_r): Likewise.
	* c-lang.c (LANG_HOOKS_INIT_TS): Define.
	* lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
	instead of TS_COMMON.
	* lto-streamer-out.c (lto_output_tree_pointers): Likewise.
	* tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
	(copy_node_stat): Zero TREE_CHAIN only if necessary.
	(MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
	(MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
	...and these...
	(MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
	* tree.h: ...here.
	(TREE_CHAIN): Check for a TS_COMMON structure.
	(TREE_TYPE): Check for a TS_TYPED structure.

gcc/c-family/
	* c-common.h (c_common_init_ts): Declare.
	* c-common.c (c_common_init_ts): Define.

gcc/cp/
	* cp-lang.c (cp_init_ts): Call cp_common_init_ts.  Move
	tree_contains_struct initialization to...
	* cp-objcp-common.c (cp_common_init_ts): ...here.  Use MARK_*
	macros.
	* cp-objcp-common.h (cp_common_init_ts): Declare.
	* cp-tree.h (union lang_tree_node): Check for TS_COMMON before
	calling TREE_CHAIN.

gcc/fortran/
	* f95-lang.c (union lang_tree_node): Check for TS_COMMON before
	calling TREE_CHAIN.

gcc/go/
	* go-lang.c (union lang_tree_node): Check for TS_COMMON before
	calling TREE_CHAIN.

gcc/java/
	* java-tree.h (union lang_tree_node): Check for TS_COMMON before
	calling TREE_CHAIN.

gcc/lto/
	* lto-tree.h (union lang_tree_node): Check for TS_COMMON before
	calling TREE_CHAIN.
	* lto.c (lto_fixup_common): Likewise.

gcc/objc/
	* objc-lang.c (objc_init_ts): Move code for this function...
	* objc-act.c (objc_common_init_ts): ...here. Define.
	* objc-act.h (objc_common_init_ts): Declare.

gcc/objcp/
	* objcp-lang.c (objcxx_init_ts): Call objc_common_init_ts and
	cp_common_init_ts.

From-SVN: r172359
2011-04-13 03:09:53 +00:00