Commit Graph

111946 Commits

Author SHA1 Message Date
Eric Botcazou
1aa291f7d1 utils.c (maybe_unconstrained_array): Declare TYPE local variable and use it throughout.
* gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local
	variable and use it throughout.
	<UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end.
	<RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a
	first step.  Also convert to the unpadded type as a last step.

From-SVN: r179186
2011-09-26 09:03:52 +00:00
Eric Botcazou
7d76717db8 gigi.h (create_subprog_decl): Replace TREE_CHAIN with DECL_CHAIN in comment.
* gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with
	DECL_CHAIN in comment.
	* gcc-interface/trans.c (gigi): Likewise.
	(Attribute_to_gnu): Likewise.
	(build_function_stub): Likewise.
	(gnat_to_gnu): Likewise.
	* gcc-interface/utils.c (create_subprog_decl): Likewise.
	(convert_vms_descriptor64): Likewise.
	(convert_vms_descriptor32): Likewise.

From-SVN: r179185
2011-09-26 08:50:16 +00:00
Eric Botcazou
42acad07c0 trans.c (assoc_to_constructor): Minor tweaks.
* gcc-interface/trans.c (assoc_to_constructor): Minor tweaks.
	* gcc-interface/utils2.c (build_simple_component_ref): Fix formatting
	issues.  Use COMPLETE_TYPE_P in assertion.  Also set TREE_READONLY if
	the type of the record is TYPE_READONLY.

From-SVN: r179184
2011-09-26 08:45:36 +00:00
Eric Botcazou
a1d7228158 sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN OUT formal parameter which is of an...
* sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN
	OUT formal parameter which is of an null-exclusion access subtype.

Co-Authored-By: Robert Dewar <dewar@adacore.com>

From-SVN: r179183
2011-09-26 08:37:32 +00:00
Eric Botcazou
a1c7d7973c ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
* gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag.
	(gnat_to_gnu_param): Likewise.
	* gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke
	maybe_unconstrained_array instead of doing the work manually.
	(maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag.
	* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand
	is a DECL with the flag, set TREE_THIS_NOTRAP on the reference.
	(gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
	(gnat_stabilize_reference): Likewise.

From-SVN: r179182
2011-09-26 08:26:37 +00:00
Georg-Johann Lay
20633efc34 avr-protos.h (output_reload_inhi): Change prototype.
* config/avr/avr-protos.h (output_reload_inhi): Change prototype.
	* config/avr/avr.md (adjust_len): Add "reload_in16" alternative.
	(*reload_inhi): Use it.  Adapt call to output_reload_inhi to new
	prototype.
	(*movhi): Split constraint alternative "r,rL" into "r,r" and "r,L".
	* config/avr/avr.c: Rename output_reload_insisf_1 to
	output_reload_in_const.
	(avr_popcount_each_byte): Handle SFmode, too.
	(output_reload_in_const): Change so it can handle HI loads, too.
	Use avr_popcount_each_byte to work out if scratch register must be
	created on the fly.
	(output_reload_inhi): Rewrite using output_reload_in_const and...
	(output_movhi): ...use it to print constants' loads.
	(adjust_insn_length): New case ADJUST_LEN_RELOAD_IN16. Cleanup code.

From-SVN: r179181
2011-09-26 08:14:25 +00:00
Eric Botcazou
50179d5882 ada-tree.h (TYPE_NULL_BOUNDS): New macro.
* gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro.
	(SET_TYPE_NULL_BOUNDS): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again
	TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
	* gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat
	pointer types.
	* gcc-interface/utils.c (create_var_decl_1): If the object is external,
	check that the initializer is a valid constant expression for use in
	initializing a static variable.  Add missing guard.
	(update_pointer_to): Adjust TYPE_NULL_BOUNDS if set.
	(convert_to_fat_pointer): In the null fat pointer case, build a valid
	pointer for the bounds.
	* gcc-interface/utils2.c (compare_fat_pointers): New function.
	(build_binary_op) <EQ_EXPR>: Call it to compare fat pointers.

From-SVN: r179180
2011-09-26 07:52:58 +00:00
Jason Merrill
382346e535 parser.c (inject_this_parameter): Split out from cp_parser_late_return_type_opt.
* parser.c (inject_this_parameter): Split out from
	cp_parser_late_return_type_opt.
	(cp_parser_class_specifier_1): Use it for NSDMIs.
	* tree.c (bot_replace): Replace NSDMI 'this' with real 'this'.

From-SVN: r179179
2011-09-25 23:56:10 -04:00
GCC Administrator
02aaf894b5 Daily bump.
From-SVN: r179178
2011-09-26 00:19:12 +00:00
David S. Miller
e8b141b593 Add support for floating-point fused multiply-add on Sparc.
* configure.ac: Add feature check to make sure the assembler
	supports the FMAF, HPC, and VIS 3.0 instructions found on
	Niagara-3 and later cpus.
	* configure: Rebuild.
	* config.in: Likewise.
	* config/sparc/sparc.opt: New option '-mfmaf'.
	* config/sparc/sparc.md: Add float fused multiply-add patterns.
	* config/sparc/sparc.h (AS_NIAGARA3_FLAG): New macro.
	(ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Use it, as needed.
	* config/sparc/sol2.h (ASM_CPU32_DEFAULT_SPEC,
	ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Likewise.
	* config/sparc/sparc.c (sparc_option_override): Turn MASK_FMAF on
	by default for Niagara-3 and later.  Turn it off if TARGET_FPU is
	disabled.
	(sparc_rtx_costs): Handle 'FMA'.
	* doc/invoke.texi: Document -mfmaf.

From-SVN: r179174
2011-09-25 14:28:51 -07:00
David S. Miller
7cbcf85bf9 Generate 'fone' and 'fones' sparc instructions when possible.
* config/sparc/constraints.md (C, P, Z): New constraints for
	const_doube, const_int, and const_vector "all ones" values.
	Make unused constraint letters comment match reality.
	* config/sparc/predicates.md (const_all_ones_operand,
	register_or_zero_or_all_ones_operand): New predicates.
	* config/sparc/sparc.c (sparc_expand_move): Allow all ones
	as well as zero constants when VIS.
	(sparc_legitimate_constant_p): Likewise.
	* config/sparc/sparc.md (movsi_insn): Add fones alternative.
	(movsf_insn): Likewise
	(movdi_insn_sp64): Add fone alternative.
	(movdf_insn_sp32_v9): Likewise.
	(movdf_insn_sp64): Likewise.

From-SVN: r179173
2011-09-25 14:03:53 -07:00
Paolo Carlini
a0ce4616fb revert: testsuite_error.h: Add empty default constructor to __gnu_test::test_category and...
2011-09-25  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert (no longer necessary post r179130):

	2010-04-27  Fabien Chêne  <fabien.chene@gmail.com>

	* testsuite/util/testsuite_error.h: Add empty default constructor
	to __gnu_test::test_category and
	__gnu_test::test_derived_category.
	* src/future.cc: Add empty default constructor to
	future_error_category.
	* src/system_error.cc: Add default ctor to generic_error_category
	and system_error_category.

From-SVN: r179172
2011-09-25 20:58:46 +00:00
Eric Botcazou
ad1d36bafd ada-tree.h (TREE_THIS_NOTRAP): Redefine.
* gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine.
	* gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in
	the by-ref case.  Do not set TREE_READONLY on a renamed object.  Set
	TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes.
	(Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache
	to the indirect case.
	* gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve
	the TREE_THIS_NOTRAP flag.

From-SVN: r179171
2011-09-25 20:40:10 +00:00
Eric Botcazou
6162cec0d9 trans.c (Loop_Statement_to_gnu): In the case of an iteration scheme...
* gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of an
	iteration scheme, always generate the do-while form if optimization
	is enabled.  Use more straightforward test at the end.

From-SVN: r179169
2011-09-25 20:27:37 +00:00
Eric Botcazou
dee12fcd11 decl.c (gnat_to_gnu_entity): Use XNEW instead of xmalloc.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Use
	XNEW instead of xmalloc.  Do not build useless pointer type.
	<E_Anonymous_Access_Subprogram_Type>: Use XNEW instead of xmalloc.
	* gcc-interface/trans.c (gnat_to_gnu) <N_Raise_Constraint_Error>: Tidy.
	* gcc-interface/utils2.c (build_unary_op): Remove local variable.

From-SVN: r179168
2011-09-25 20:15:10 +00:00
Eric Botcazou
dea976c480 decl.c (gnat_to_gnu_entity): Do not promote the alignment if this doesn't prevent BLKmode access to the object.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote
	the alignment if this doesn't prevent BLKmode access to the object.

From-SVN: r179167
2011-09-25 15:42:00 +00:00
Jakub Jelinek
960dcaf528 tree-ssa-structalias.c (intra_create_variable_infos): Treat TYPE_RESTRICT REFERENCE_TYPE parameters like restricted DECL_BY_REFERENCE...
* tree-ssa-structalias.c (intra_create_variable_infos): Treat
	TYPE_RESTRICT REFERENCE_TYPE parameters like restricted
	DECL_BY_REFERENCE parameters.

	* g++.dg/tree-ssa/restrict2.C: New test.

From-SVN: r179166
2011-09-25 17:03:56 +02:00
Eric Botcazou
1ee0d66040 tree-eh.c (cleanup_empty_eh): Allow a call to __builtin_stack_restore if there is no outgoing edge.
* tree-eh.c (cleanup_empty_eh): Allow a call to __builtin_stack_restore
	if there is no outgoing edge.

	* tree-scalar-evolution.c (simple_iv): Accept all kinds of pointer and
	integral types.

From-SVN: r179165
2011-09-25 14:55:12 +00:00
Ira Rosen
8e19f5a1b3 tree-vect-slp.c (vect_slp_analyze_bb_1): Split out core part of vect_analyze_bb here.
* tree-vect-slp.c (vect_slp_analyze_bb_1): Split out core part
        of vect_analyze_bb here.
        (vect_analyze_bb): Loop over vector sizes calling
        vect_analyze_bb_1.

From-SVN: r179164
2011-09-25 12:33:03 +00:00
Paolo Carlini
13ec1ccaaa re PR c++/50280 (Incorrect type deduced for T& when passed a const bitfield)
2011-09-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50280
	* g++.dg/template/bitfield1.C: New.

From-SVN: r179163
2011-09-25 10:43:00 +00:00
Ira Rosen
4e4452b65b tree-data-ref.c (dr_analyze_innermost): Add new argument.
* tree-data-ref.c (dr_analyze_innermost): Add new argument.
        Allow not simple iv if analyzing basic block.
        (create_data_ref): Update call to dr_analyze_innermost.
        (stmt_with_adjacent_zero_store_dr_p, ref_base_address):
        Likewise.
        * tree-loop-distribution.c (generate_memset_zero): Likewise.
        * tree-predcom.c (find_looparound_phi): Likewise.
        * tree-data-ref.h (dr_analyze_innermost): Add new argument.

From-SVN: r179161
2011-09-25 09:21:42 +00:00
David S. Miller
10b859c0d8 Teach sparc backend about %gsr register and add intrinsics to access it.
* config/sparc/sparc.h (FIRST_PSEUDO_REGISTER): Bump to 103.
	(SPARC_GSR_REG): Define.
	(FIXED_REGISTERS): Mark GSR as fixed.
	(CALL_USED_REGISTERS): Mark GSR as call used.
	(HARD_REGNO_NREGS): GSR is always 1 register.
	(REG_CLASS_CONTENTS): Add GSR to ALL_REGS.
	(REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER): Add GSR to the end.
	(REGISTER_NAMES): Add "%gsr".
	* config/sparc/sparc.md (UNSPEC_ALIGNADDR, UNSPEC_ALIGNADDRL):
	Delete.
	(UNSPEC_WRGSR): New unspec.
	(GSR_REG): New constant.
	(type): Add new insn type 'gsr'.
	(fpack16_vis, fpackfix_vis, fpack32_vis,
	faligndata<V64I:MODE>_vis)): Add use of GSR_REG.
	(wrgsr_vis, *wrgsr_sp64, wrgsr_v8plus, rdgsr_vis, *rdgsr_sp64,
	rdgsr_v8plus): New expanders and insns.
	(alignaddr<P:mode>_vis, alignaddrl<P:mode>_vis): Reimplement
	using patterns which show that this is a plus in addition to a
	modification of GSR_REG, instead of an unspec.
	* config/sparc/ultra1_2.md: Handle 'gsr'.
	* config/sparc/ultra3.md: Likewise.
	* config/sparc/niagara.md: Likewise.
	* config/sparc/niagara2.md: Likewise.
	* config/sparc/sparc.c (leaf_reg_remap, sparc_leaf_regs): Fill out
	end of table.
	(sparc_option_override): Make -mvis imply -mv8plus.
	(hard_32bit_mode_classes, hard_64bit_mode_classes): Add entries
	for %gsr.
	(sparc_vis_init_builtins): Build __builtin_vis_write_gsr and
	__builtin_vis_read_gsr.
	(sparc_expand_buildin): Handle builtins that take one argument and
	return void.
	(sparc_fold_builtin): Never fold writes to %gsr.
	* config/sparc/visintrin.h (__vis_write_gsr, __vis_read_gsr): New.
	* doc/extend.texi: Document new VIS intrinsics.

From-SVN: r179159
2011-09-24 19:29:23 -07:00
Jason Merrill
6eaade31bb except.c (expr_noexcept_p): Split out from finish_noexcept_expr.
* except.c (expr_noexcept_p): Split out from finish_noexcept_expr.
	* cp-tree.h: Declare it.
	* method.c (walk_field_subobs): Use it.

From-SVN: r179158
2011-09-24 22:26:21 -04:00
Jason Merrill
6fd4488141 init.c (perform_member_init): Instantiate NSDMI here.
* init.c (perform_member_init): Instantiate NSDMI here.
	* pt.c (tsubst_decl) [FIELD_DECL]: Not here.

From-SVN: r179157
2011-09-24 22:26:08 -04:00
Jason Merrill
eb02633818 Handle deferred parsing of NSDMIs.
* parser.h (cp_unparsed_functions_entry): Add nsdmis field.
	* parser.c (unparsed_nsdmis, cp_parser_save_nsdmi): New.
	(cp_parser_late_parse_one_default_arg): Split out from
	cp_parser_late_parsing_default_args.
	(cp_parser_late_parsing_nsdmi): New.
	(push_unparsed_function_queues): Set it.
	(cp_parser_parameter_declaration): Save the '=' token.
	(cp_parser_template_parameter): Likewise.
	(cp_parser_default_argument): Call cp_parser_initializer
	rather than cp_parser_initializer_clause.
	(cp_parser_class_specifier_1): Parse unparsed_nsdmis.
	(cp_parser_member_declaration): Handle nsdmis.
	* decl2.c (grokfield): Handle DEFAULT_ARG for a function.

From-SVN: r179156
2011-09-24 22:26:01 -04:00
Jason Merrill
0e5f8a598d Implement C++11 non-static data member initializers.
* cp-tree.h (enum cpp_warn_str): Add CPP0X_NSDMI.
	* error.c (maybe_warn_cpp0x): Handle it.
	* call.c (convert_like_real) [ck_user]: Don't complain about
	using an explicit constructor for direct-initialization.
	* class.c (check_field_decl): Fix ancient typo.
	(check_field_decls): NSDMIs make the default ctor non-trivial.
	* decl.c (cp_finish_decl): Record NSDMI.
	(grokdeclarator): Allow NSDMI.
	* decl2.c (grokfield): Allow NSDMI.  Correct LOOKUP flags.
	* init.c (perform_member_init): Use NSDMI.
	* method.c (walk_field_subobs): Check for NSDMI.
	* parser.c (cp_parser_member_declaration): Parse { } init.
	* semantics.c (register_constexpr_fundef): Don't talk about
	a return statement in a constexpr constructor.
	(cxx_eval_call_expression): Check DECL_INITIAL instead of
	DECL_SAVED_TREE.

From-SVN: r179155
2011-09-24 22:25:52 -04:00
GCC Administrator
77236534b9 Daily bump.
From-SVN: r179154
2011-09-25 00:18:46 +00:00
John Salmon
82582df651 re PR libstdc++/50510 ([C++0x] transposed variable names in std::seed_seq::generate)
2011-09-24  John Salmon  <john.salmon@deshaw.com>

	PR libstdc++/50510
	* include/bits/random.tcc (seed_seq::generate): Fix computation.

From-SVN: r179149
2011-09-24 22:34:50 +00:00
Iain Sandoe
655ae828ee ada, remove flat_namespace library option from darwin port build/defaults :
* gcc-interface/Makefile.in (darwin): Do not issue the
	'-flat_namespace' linker flag during Ada build.
	* mlib-tgt-specific-darwin.adb: Remove '-flat_namespace' flag from the
	default shared library options.

From-SVN: r179148
2011-09-24 20:25:42 +00:00
Basile Starynkevitch
ae0d176cbc trivial libiberty/ChangeLog update
From-SVN: r179147
2011-09-24 19:56:10 +00:00
Jason Merrill
fc3b4dc34a correct ChangeLog
From-SVN: r179146
2011-09-24 15:05:36 -04:00
John Salmon
9d1f3ce6ff re PR libstdc++/50509 ([C++0x] incorrect code in std::seed_seq::generate)
2011-09-24  John Salmon  <john.salmon@deshaw.com>

	PR libstdc++/50509
	* include/bits/random.tcc (seed_seq::generate): Fix computation.

From-SVN: r179144
2011-09-24 18:28:36 +00:00
Paolo Carlini
a271590a43 re PR c++/44267 (SFINAE does not handle down static_cast over virtual inheritance)
/cp
2011-09-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/44267
	* class.c (build_base_path): Add a tsubst_flags_t parameter.
	(convert_to_base): Adjust call.
	* typeck.c (build_class_member_access_expr,
	get_member_function_from_ptrfunc, build_static_cast_1): Likewise.
	* init.c (dfs_initialize_vtbl_ptrs, emit_mem_initializers): Likewise.
	* method.c (do_build_copy_constructor, do_build_copy_assign): Likewise.
	* rtti.c (build_dynamic_cast_1): Likewise.
	* typeck2.c (build_scoped_ref, build_m_component_ref): Likewise.
	* call.c (build_over_call, build_special_member_call): Likewise.
	* cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
	build_up_reference): Likewise.
	* cp-tree.h (build_base_path): Adjust declaration.

/testsuite
2011-09-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/44267
	* g++.dg/template/sfinae28.C: New.

From-SVN: r179141
2011-09-24 09:55:01 +00:00
GCC Administrator
ee02baae96 Daily bump.
From-SVN: r179138
2011-09-24 00:19:10 +00:00
Ian Lance Taylor
6ed22bc817 go-test.exp (errchk): Handle more cases of getting correct Tcl backslash quoting in regular...
* go.test/go-test.exp (errchk): Handle more cases of getting
	correct Tcl backslash quoting in regular expressions in test file.

Also fix some tests to match gccgo error messages.

From-SVN: r179134
2011-09-23 23:44:14 +00:00
Ian Lance Taylor
b07000d942 Better parsing of erroneous expression on left of :=.
Better parsing of erroneous non-type in type switch.

From-SVN: r179133
2011-09-23 22:23:19 +00:00
Cary Coutant
2d2b02c4da re PR c++/40831 (g++ generated symbols for cloned function that be demangled.)
include/ChangeLog:

	PR 40831
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_CLONE.

libiberty/ChangeLog:

	PR 40831
	* cp-demangle.c (d_make_comp): Add new component type.
	(cplus_demangle_mangled_name): Check for clone suffixes.
	(d_parmlist): Don't error out if we see '.'.
	(d_clone_suffix): New function.
	(d_print_comp): Print info for clone suffixes.
	* testsuite/demangle-expected: Add new testcases.

From-SVN: r179132
2011-09-23 14:39:10 -07:00
Jason Merrill
d220e00d6b correct ChangeLog
From-SVN: r179131
2011-09-23 17:38:26 -04:00
Jason Merrill
6132bdd72e Core 234 - allow const objects with no initializer or user-provided default...
Core 234 - allow const objects with no initializer or
	user-provided default constructor if the defaulted constructor
	initializes all the subobjects.
	PR c++/20039
	PR c++/42844
	* class.c (default_init_uninitialized_part): New.
	* cp-tree.h: Declare it.
	* decl.c (check_for_uninitialized_const_var): Use it.
	* init.c (perform_member_init): Likewise.
	(build_new_1): Likewise.
	* method.c (walk_field_subobs): Likewise.

From-SVN: r179130
2011-09-23 17:30:48 -04:00
Ian Lance Taylor
d303ec8e17 md5.c (md5_process_bytes): Correct handling of unaligned buffer.
* md5.c (md5_process_bytes): Correct handling of unaligned
	buffer.

From-SVN: r179128
2011-09-23 19:19:52 +00:00
Georg-Johann Lay
4103605f99 * config/avr/avr.c: Fix some typos in comments.
From-SVN: r179127
2011-09-23 17:44:57 +00:00
Jan Hubicka
25837a2f78 inline-1.c: new testcase.
* gcc.dg/ipa/inline-1.c: new testcase.
	* gcc.dg/ipa/inline-2.c: new testcase.
	* gcc.dg/ipa/inline-3.c: new testcase.
	* gcc.dg/ipa/inline-4.c: new testcase.

	* ipa-inline-transform.c (inline_call): Add comment.
	* ipa-inline.h (inline_param_summary): New structure and vector.
	(struct inline_edge_summary): Add param field.
	* ipa-inline-analysis.c (CHANGED): New constant.
	(add_clause): Handle CHANGED and NOT_CONSTANT.
	(predicate_probability): New function.
	(dump_condition): Dump CHANGED predicate.
	(evaluate_conditions_for_known_args): Handle ERROR_MARK as marker
	of unknown function wide invariant.
	(evaluate_conditions_for_edge): Handle change probabilities.
	(inline_edge_duplication_hook): Copy param summaries.
	(inline_edge_removal_hook): Free param summaries.
	(dump_inline_edge_summary): Fix dumping of indirect edges and callee sizes;
	dump param summaries.
	(will_be_nonconstant_predicate): Use CHANGED predicate.
	(record_modified_bb_info): New structure.
	(record_modified): New function.
	(param_change_prob): New function.
	(estimate_function_body_sizes): Compute param summaries.
	(estimate_edge_size_and_time): Add probability argument.
	(estimate_node_size_and_time): Add inline_param_summary argument;
	handle predicate probabilities.
	(remap_predicate): Fix formating.
	(remap_edge_change_prob): New function.
	(remap_edge_summaries): Rename from ...; use remap_edge_change_prob.
	(remap_edge_predicates): ... this one.
	(inline_merge_summary): Remap edge summaries; handle predicate probabilities;
	remove param summaries after we are done.
	(do_estimate_edge_time): Update.
	(do_estimate_edge_growth): Update.
	(read_inline_edge_summary): Read param info.
	(inline_read_summary): Fix formating.
	(write_inline_edge_summary): Write param summaries.

From-SVN: r179126
2011-09-23 17:30:34 +00:00
Jakub Jelinek
1db4406e77 i386.c (ix86_print_operand): Handle %~.
* config/i386/i386.c (ix86_print_operand): Handle %~.
	(ix86_print_operand_punct_valid_p): Return true also for '~'.
	* config/i386/sse.md (i128): New mode_attr.
	(vec_extract_hi_<mode>, vec_extract_hi_<mode>,
	avx_vbroadcastf128_<mode>, *avx_vperm2f128<mode>_full,
	*avx_vperm2f128<mode>_nozero, vec_set_lo_<mode>, 
	vec_set_hi_<mode>, *vec_concat<mode>_avx): Use <i128> in the
	patterns, use "<sseinsnmode>" for "mode" attribute.
	(vec_extract_hi_v16hi, vec_extract_hi_v32qi, vec_set_lo_v16hi,
	vec_set_hi_v16hi, vec_set_lo_v32qi, vec_set_hi_v32qi): Use
	%~128 in the patterns, use "OI" for "mode" attribute.

From-SVN: r179125
2011-09-23 19:10:39 +02:00
Georg-Johann Lay
a7c0acd019 re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with constant integers for 16- and 32-bit values)
* config/avr/avr.md (adjust_len): Add alternatives "tsthi",
	"tstsi", "compare".
	(*cmpqi_sign_extend): Use s8_operand.
	(*cmphi, *cmpsi): Rewrite using avr_out_compare.
	* config/avr/avr-protos.h (compare_diff_p, compare_eq_p): Remove
	prototypes.
	(out_tsthi, out_tstsi): Remove prototypes.
	(avr_out_tsthi, avr_out_tstsi): New prototypes.
	* config/avr/avr.c (out_tsthi, out_tstsi): Remove functions.
	(avr_asm_len): Negative length now sets *plen to -length.
	(compare_sign_p): Return bool instead of int.
	(compare_diff_p, compare_eq_p): Ditto and make static.
	(avr_out_tsthi): New function.
	(avr_out_tstsi): New function.
	(avr_out_compare): New function.
	(adjust_insn_length): Handle ADJUST_LEN_TSTHI, ADJUST_LEN_TSTSI,
	ADJUST_LEN_COMPARE.
	PR target/50447

From-SVN: r179124
2011-09-23 17:06:44 +00:00
Georg-Johann Lay
590245153a re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with constant integers for 16- and 32-bit values)
PR target/50447
	* config/avr/avr.md: (adjust_len): Add alternative "out_plus".
	(addsi3): Rewrite using QI scratch register.  Adjust text
	peepholes using plus:SI.
	(*addsi3_zero_extend.hi): New insn.
	(*subsi3_zero_extend.hi): New insn.
	(*subhi3_zero_extend1): Set attribute "cc" to "set_czn".
	(*subsi3_zero_extend): Ditto.
	(subsi3): Change predicate #2 to register_operand.
	* config/avr/avr-protos.h (avr_out_plus): New prototype.
	(avr_out_plus_1): New static function.
	(avr_out_plus): New function.
	(adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS.

From-SVN: r179123
2011-09-23 17:02:10 +00:00
Paolo Carlini
d455108142 re PR c++/50258 ([C++0x] -std=gnu++0x should allow in-class initialization of static const floating types without constexpr)
/cp
2011-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50258
	* decl.c (check_static_variable_definition): Allow in-class
	initialization of static data member of non-integral type in
	permissive mode.

/testsuite
2011-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50258
	* g++.dg/cpp0x/constexpr-static8.C: New.

From-SVN: r179121
2011-09-23 16:19:52 +00:00
Ian Lance Taylor
6172a2f298 Include <termios.h> in mksysinfo.sh.
From Rainer Orth.

From-SVN: r179120
2011-09-23 15:29:17 +00:00
Jakub Jelinek
50926346e5 i386.c (ix86_prepare_sse_fp_compare_args): For GE/GT/UNLE/UNLT swap arguments and condition even for TARGET_AVX.
* config/i386/i386.c (ix86_prepare_sse_fp_compare_args): For
	GE/GT/UNLE/UNLT swap arguments and condition even for TARGET_AVX.

	* gcc.target/i386/avxfp-1.c: New test.
	* gcc.target/i386/avxfp-2.c: New test.

From-SVN: r179119
2011-09-23 16:35:05 +02:00
Ian Lance Taylor
9e4ef69ef8 godump.c (go_define): Treat a single character in single quotes, or a string, as an operand.
* godump.c (go_define): Treat a single character in single quotes,
	or a string, as an operand.

From-SVN: r179118
2011-09-23 14:28:13 +00:00
Martin Jambor
c75732496d ipa-prop.h (jump_func_type): Updated comments.
2011-09-23  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.h (jump_func_type): Updated comments.
	(ipa_known_type_data): New type.
	(ipa_jump_func): Use it to describe known type jump functions.
	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Updated to
	reflect the new known type jump function contents.
	(compute_known_type_jump_func): Likewise.
	(combine_known_type_and_ancestor_jfs): Likewise.
	(try_make_edge_direct_virtual_call): Likewise.
	(ipa_write_jump_function): Likewise.
	(ipa_read_jump_function): Likewise.
	* ipa-cp.c (ipa_value_from_known_type_jfunc): New function.
	(ipa_value_from_jfunc): Use ipa_value_from_known_type_jfunc.
	(propagate_accross_jump_function): Likewise.

From-SVN: r179117
2011-09-23 15:22:43 +02:00