Commit Graph

122725 Commits

Author SHA1 Message Date
Janne Blomqvist 524af0d6c7 Replace enum gfc_try with bool type.
2013-04-11  Janne Blomqvist  <jb@gcc.gnu.org>

        * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
        * arith.c: Replace gfc_try with bool type.
        * array.c: Likewise.
        * check.c: Likewise.
        * class.c: Likewise.
        * cpp.c: Likewise.
        * cpp.h: Likewise.
        * data.c: Likewise.
        * data.h: Likewise.
        * decl.c: Likewise.
        * error.c: Likewise.
        * expr.c: Likewise.
        * f95-lang.c: Likewise.
        * interface.c: Likewise.
        * intrinsic.c: Likewise.
        * intrinsic.h: Likewise.
        * io.c: Likewise.
        * match.c: Likewise.
        * match.h: Likewise.
        * module.c: Likewise.
        * openmp.c: Likewise.
        * parse.c: Likewise.
        * parse.h: Likewise.
        * primary.c: Likewise.
        * resolve.c: Likewise.
        * scanner.c: Likewise.
        * simplify.c: Likewise.
        * symbol.c: Likewise.
        * trans-intrinsic.c: Likewise.
        * trans-openmp.c: Likewise.
        * trans-stmt.c: Likewise.
        * trans-types.c: Likewise.

From-SVN: r197682
2013-04-11 00:36:58 +03:00
Steven Bosscher 0ea8a6f9c7 sparc.c: Include tree-pass.h.
* config/sparc/sparc.c: Include tree-pass.h.
	(TARGET_MACHINE_DEPENDENT_REORG): Do not redefine.
	(sparc_reorg): Rename to sparc_do_work_around_errata.  Move to
	head of file.  Change return type.  Split off gate function.
	(sparc_gate_work_around_errata): New function.
	(pass_work_around_errata): New pass definition.
	(insert_pass_work_around_errata) New pass insert definition to
	insert pass_work_around_errata just after delayed-branch scheduling.
	(sparc_option_override): Insert the pass.
	* config/sparc/t-sparc (sparc.o): Add TREE_PASS_H dependence.

From-SVN: r197681
2013-04-10 21:03:44 +00:00
David S. Miller 89deeb3b7e Fix sparc assembler specs for supersparc and hypersparc.
gcc/

	* config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
	or -mcpu=hypersparc.

From-SVN: r197680
2013-04-10 12:54:22 -07:00
David S. Miller 42e37616ec Improve cstore code generation on 64-bit sparc.
One major suboptimal area of the sparc back end is cstore generation
on 64-bit.

Due to the way arguments and return values of functions must be
promoted, the ideal mode for cstore's result would be DImode.

But this hasn't been done because of a fundamental limitation
of the cstore patterns.  They require a fixed mode be used for
the boolean result value.

I've decided to work around this by building a target hook which
specifies the type to use for conditional store results, and then I
use a special predicate for operans 0 in the cstore expanders so
that they still match even when we use DImode.

The default version of the target hook just does what it does now,
so no other target should be impacted by this at all.

Regstrapped on 32-bit sparc-linux-gnu and I've run the testsuite
with "-m64" to validate the 64-bit side.

gcc/

	* target.def (cstore_mode): New hook.
	* target.h: Include insn-codes.h
	* targhooks.c: Likewise.
	(default_cstore_mode): New function.
	* targhooks.h: Declare it.
	* doc/tm.texi.in: New hook slot for TARGET_CSTORE_MODE.
	* doc/tm.texi: Rebuild.
	* expmed.c (emit_cstore): Obtain cstore boolean result mode using
	target hook, rather than inspecting the insn_data.
	* config/sparc/sparc.c (sparc_cstore_mode): New function.
	(TARGET_CSTORE_MODE): Redefine.
	(emit_scc_insn): When TARGET_ARCH64, emit new 64-bit boolean
	result patterns.
	* config/sparc/predicates.md (cstore_result_operand): New special
	predicate.
	* config/sparc/sparc.md (cstoresi4, cstoredi4, cstore<F:mode>4):
	Use it for operand 0.
	(*seqsi_special): Rewrite using 'P' mode iterator on operand 0.
	(*snesi_special): Likewise.
	(*snesi_zero): Likewise.
	(*seqsi_zero): Likewise.
	(*sltu_insn): Likewise.
	(*sgeu_insn): Likewise.
	(*seqdi_special): Make operand 0 and comparison operation be of
	DImode.
	(*snedi_special): Likewise.
	(*snedi_special_vis3): Likewise.
	(*neg_snesi_zero): Rename to *neg_snesisi_zero.
	(*neg_snesi_sign_extend): Rename to *neg_snesidi_zero.
	(*snesi_zero_extend): Delete, covered by 'P' mode iterator.
	(*neg_seqsi_zero): Rename to *neg_seqsisi_zero.
	(*neg_seqsi_sign_extend): Rename to *neg_seqsidi_zero.
	(*seqsi_zero_extend): Delete, covered by 'P' mode iterator.
	(*sltu_extend_sp64): Likewise.
	(*neg_sltu_insn): Rename to *neg_sltusi_insn.
	(*neg_sltu_extend_sp64): Rename to *neg_sltudi_insn.
	(*sgeu_extend_sp64): Delete, covered by 'P' mode iterator.
	(*neg_sgeu_insn): Rename to *neg_sgeusi_insn.
	(*neg_sgeu_extend_sp64): Rename to *neg_sgeudi_insn.

gcc/testsuite/

	* gcc.target/sparc/setcc-4.c: New test.
	* gcc.target/sparc/setcc-5.c: New test.

From-SVN: r197679
2013-04-10 12:41:57 -07:00
Yufeng Zhang 95ca411e04 aarch64.c (aarch64_print_extension): New function.
* config/aarch64/aarch64.c (aarch64_print_extension): New function.
	(aarch64_start_file): Use the new function.

From-SVN: r197677
2013-04-10 17:22:02 +00:00
Senthil Kumar Selvaraj 6782438df7 common.opt: Add -gdwarf.
* common.opt: Add -gdwarf.
	* opts.c (common_handle_option): Handle it.
	* gcc.c (ASM_DEBUG_SPEC): Don't expect "-2" for DWARF.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r197675
2013-04-10 10:47:55 -04:00
Richard Biener bb313b932b passes.c (execute_todo): Do not call ggc_collect conditional here.
2013-04-10  Richard Biener  <rguenther@suse.de>

	* passes.c (execute_todo): Do not call ggc_collect conditional here.
	(execute_one_ipa_transform_pass): But unconditionally here.
	(execute_one_pass): And here.
	(init_optimization_passes): Remove reload pass.
	* tree-pass.h (TODO_ggc_collect): Remove.
	(pass_reload): Likewise.
	* ira.c (do_reload): Merge into ...
	(ira): ... this.
	(rest_of_handle_reload): Remove.
	(pass_reload): Likewise.
	* config/i386/i386.c (ix86_option_override): Refer to ira instead
	of reload for vzeroupper pass placement.
	* <everywhere>: Remove TODO_ggc_collect from todo_flags_start
	and todo_flags_finish of all passes.

	* g++.dg/pr55604.C: Use -fdump-rtl-ira.

From-SVN: r197671
2013-04-10 11:33:31 +00:00
Richard Biener 793d9a16a2 tree-vectorizer.h (struct _slp_oprnd_info): Remove first_const_oprnd field, rename first_def_type to first_op_type.
2013-04-10  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (struct _slp_oprnd_info): Remove
	first_const_oprnd field, rename first_def_type to first_op_type.
	* tree-vect-slp.c (vect_create_oprnd_info): Adjust.
	(vect_get_and_check_slp_defs): Always use the type of the
	operand.  Allow mixed vect_external_def, vect_constant_def types.
	(vect_get_constant_vectors): Handle mixed vect_external_def,
	vect_constant_def types.

	* gcc.dg/vect/slp-39.c: New testcase.

From-SVN: r197669
2013-04-10 10:40:33 +00:00
Joern Rennecke ee8a9b7b50 re PR tree-optimization/55524 (If fnma exists but not fms, convert_mult_to_fma should prefer to former over the latter.)
gcc:
2013-04-10  Joern Rennecke <joern.rennecke@embecosm.com>

        PR tree-optimization/55524
        * tree-ssa-math-opts.c
        (convert_mult_to_fma): Don't use an fms construct
        when we don't have an fms operation, but fnma, and it looks
        likely that we'll be able to use the latter.

gcc/testsuite:
2013-04-10  Joern Rennecke <joern.rennecke@embecosm.com>

        PR tree-optimization/55524
        * gcc.target/epiphany/fnma-1.c: New test.

From-SVN: r197668
2013-04-10 10:54:25 +01:00
Zhouyi Zhou 6957a6f6f9 cif-code.def (OVERWRITABLE): Correct the comment for overwritable function.
2013-04-10  Zhouyi Zhou <yizhouzhou@ict.ac.cn>

	* cif-code.def (OVERWRITABLE): Correct the comment for overwritable
	function.
	* ipa-inline.c (can_inline_edge_p): Let dump mechanism report the
	inline fail caused by overwritable functions.

	* gcc.dg/tree-ssa/inline-11.c: New test

From-SVN: r197667
2013-04-10 09:22:04 +00:00
Chung-Ju Wu 34ab4a5b70 combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out unnecessary bits in the constant power of two case.
2013-04-10  Chung-Ju Wu  <jasonwucj@gmail.com>

	* combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out
	unnecessary bits in the constant power of two case.

From-SVN: r197666
2013-04-10 09:12:30 +00:00
Richard Biener abf9bfbc31 tree-vect-slp.c (vect_get_and_check_slp_defs): Remove broken code swapping operands.
2013-04-10  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_get_and_check_slp_defs): Remove
	broken code swapping operands.
	(vect_build_slp_tree): Do not compute load permutations here.
	(vect_analyze_slp_instance): Compute load permutations here,
	after building the SLP tree.

From-SVN: r197665
2013-04-10 08:20:07 +00:00
Christian Bruel f408477e6d sh.md (barrier_align): Use next/prev_active_insn instead of next/prev_real_insn.
*  config/sh/sh.md (barrier_align): Use next/prev_active_insn instead
of next/prev_real_insn.

From-SVN: r197664
2013-04-10 09:52:00 +02:00
Chung-Ju Wu 4b1d419827 MAINTAINERS (Write After Approval): Add myself.
2013-04-10 Chung-Ju Wu <jasonwucj@gmail.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r197663
2013-04-10 07:02:32 +00:00
Jakub Jelinek f7e8cd25dd re PR c++/56895 (ICE: unexpected expression of kind arrow_expr)
PR c++/56895
	* typeck.c (cp_build_binary_op): Call fold_non_dependent_expr_sfinae
	first before calling maybe_constant_value for warn_for_div_by_zero
	or invalid shift count warning purposes.

	* g++.dg/template/arrow3.C: New test.

From-SVN: r197660
2013-04-10 08:33:26 +02:00
GCC Administrator 13aac201ba Daily bump.
From-SVN: r197658
2013-04-10 00:16:50 +00:00
Jan Hubicka 5ac42672ba ipa.c (cgraph_externally_visible_p, [...]): Drop aliased parameter.
* ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p): Drop
	aliased parameter.
	(function_and_variable_visibility): Do not handle alias pairs.
	* cgraph.c (varpool_externally_visible_p): Update prototype.
	* varpool.c (varpool_add_new_variable): Update.

From-SVN: r197652
2013-04-09 22:45:38 +00:00
Tom Tromey d74e340d7c configure, [...]: Rebuild.
* configure, config.h.in: Rebuild.
	* configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
	sys/sdt.h.
	* acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.

From-SVN: r197649
2013-04-09 20:55:17 +00:00
Uros Bizjak ae3d036149 baseline_symbols.txt: Update.
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r197647
2013-04-09 22:38:21 +02:00
Jason Merrill c87e82a643 re PR c++/25466 (typeid expression fails to throw bad_typeid according to 5.2.8p2)
PR c++/25466
	* rtti.c (build_typeid): Check the address of the argument
	rather than looking for an INDIRECT_REF.

From-SVN: r197644
2013-04-09 14:11:38 -04:00
Kyrylo Tkachov 5017f1d2d3 arm.md (minmax_arithsi_non_canon): New pattern.
2013-04-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (minmax_arithsi_non_canon): New pattern.

	* gcc.target/arm/minmax_minus.c: New test.

From-SVN: r197642
2013-04-09 16:08:47 +00:00
Steven Bosscher a949cf1c75 sched-vis.c (print_pattern): Print SEQUENCE of insns as insns.
* sched-vis.c (print_pattern): Print SEQUENCE of insns as insns.

From-SVN: r197640
2013-04-09 15:02:41 +00:00
Steven Bosscher 48eecbeeb8 sparc.md: Use define_c_enum for "unspec" and "unspecv".
* config/sparc/sparc.md: Use define_c_enum for "unspec" and "unspecv".

From-SVN: r197639
2013-04-09 15:01:45 +00:00
Marek Polacek 75ef8e3d28 re PR tree-optimization/48762 (valgrind: Invalid read/write of size 8 in cse_main with -O --param max-cse-path-length=0 on basic code)
PR tree-optimization/48762
	* params.def (PARAM_MAX_CSE_INSNS): Increase the minimum
	value to 1.

From-SVN: r197637
2013-04-09 14:56:59 +00:00
Richard Biener 23847df440 tree-vect-slp.c (vect_get_and_check_slp_defs): Remove code dealing with cost.
2013-04-09  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_get_and_check_slp_defs): Remove code
	dealing with cost.
	(vect_build_slp_tree): Likewise.
	(vect_analyze_slp_cost_1, vect_analyze_slp_cost): New functions
	calculating the cost of a SLP instance.
	(vect_analyze_slp_instance): Use it from here, after building
	the SLP tree.

From-SVN: r197635
2013-04-09 14:12:34 +00:00
Jakub Jelinek ea3a0fdefa re PR middle-end/56883 (error openmp parallel for order)
PR middle-end/56883
	* omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
	expand_omp_for_static_chunk): Use simple_p = true in
	force_gimple_operand_gsi calls when assigning to addressable decls.

	* c-c++-common/gomp/pr56883.c: New test.

From-SVN: r197633
2013-04-09 15:25:58 +02:00
Jeff Law a32dfe9d06 tree-vrp.c (simplify_cond_using_ranges): Simplify test of boolean when the boolean was created by converting a wider...
* tree-vrp.c (simplify_cond_using_ranges): Simplify test of boolean
       when the boolean was created by converting a wider object which
       had a boolean range.

        * gcc.dg/tree-ssa/vrp87.c: New test

From-SVN: r197631
2013-04-09 07:05:08 -06:00
Andi Kleen ab4425be30 Add missing ChangeLog entry
From-SVN: r197630
2013-04-09 12:41:09 +00:00
Richard Biener d755c7effc tree-vectorizer.h (slp_void_p): Remove.
2013-04-09  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (slp_void_p): Remove.
	(slp_tree): Typedef before _slp_tree declaration.
	(struct _slp_tree): Use a vector of slp_tree as children.
	(vect_get_place_in_interleaving_chain): Remove.
	* tree-vect-data-refs.c (vect_get_place_in_interleaving_chain):
	Move ...
	* tree-vect-slp.c (vect_get_place_in_interleaving_chain): ... here
	and make static.
	(vect_free_slp_tree, vect_print_slp_tree, vect_mark_slp_stmts,
	vect_mark_slp_stmts_relevant, vect_slp_rearrange_stmts,
	vect_detect_hybrid_slp_stmts, vect_slp_analyze_node_operations,
	vect_schedule_slp_instance, vect_remove_slp_scalar_calls):
	Use slp_node instead of slp_void_p and adjust.

From-SVN: r197629
2013-04-09 12:39:22 +00:00
Richard Biener 3d741091ee expr.c (build_java_binop): Pass a type to build_int_cst.
2013-04-09  Richard Biener  <rguenther@suse.de>

	java/
	* expr.c (build_java_binop): Pass a type to build_int_cst.

	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Avoid
	work that is not necessary.

From-SVN: r197626
2013-04-09 10:48:59 +00:00
Jakub Jelinek 39307ba788 re PR tree-optimization/56854 (error: non-decl/MEM_REF LHS in clobber statement)
PR tree-optimization/56854
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't
	forward into clobber stmts if it would change MEM_REF lhs into
	non-MEM_REF.

	* g++.dg/torture/pr56854.C: New test.

From-SVN: r197625
2013-04-09 12:04:24 +02:00
Tobias Burnus 83e0396346 gfortran.texi (KIND Type Parameters, [...]): Add crossrefs.
2013-04-09  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (KIND Type Parameters,
        Internal representation of LOGICAL variables): Add crossrefs.
        (Intrinsic Types): Mention issues with _Bool interop.
        (Naming and argument-passing conventions): New section.

From-SVN: r197624
2013-04-09 12:02:35 +02:00
Maxim Kuvyrkov 343881fd9e tree.c (type_hash_lookup, [...]): Make static.
* tree.c (type_hash_lookup, type_hash_add): Make static.
	* tree.h (type_hash_lookup, type_hash_add): Remove global declarations.

From-SVN: r197623
2013-04-09 09:47:33 +00:00
Richard Biener 3922658a2b tree.h (unsave_expr_now): Remove.
2013-04-09  Richard Biener  <rguenther@suse.de>

	* tree.h (unsave_expr_now): Remove.
	* tree-inline.c (mark_local_for_remap_r): Remove.
	(unsave_expr_1): Likewise.
	(unsave_r): Likewise.
	(unsave_expr_now): Likewise.
	* tree-ssa-copy.c (replace_exp_1): Use unshare_expr.
	(propagate_tree_value): Likewise.

From-SVN: r197620
2013-04-09 08:26:45 +00:00
Jakub Jelinek 4a197c8680 Fix non-ASCII characters in names.
From-SVN: r197618
2013-04-09 09:29:32 +02:00
GCC Administrator c9721f1067 Daily bump.
From-SVN: r197617
2013-04-09 00:16:54 +00:00
Jason Merrill a0c06853a6 re PR c++/56838 (GCC svn doesn't compile libreoffice 4.0.1.2)
PR c++/56838
	PR c++/17232
	* typeck2.c (abstract_virtuals_error_sfinae): Disable
	complete_type again.

From-SVN: r197613
2013-04-08 17:16:09 -04:00
Steven Bosscher 9fb6b620f0 rtl.texi (sequence): Rewrite documentation to match the current use of SEQUENCE rtl objects.
* doc/rtl.texi (sequence): Rewrite documentation to match the
	current use of SEQUENCE rtl objects.
	* rtl.def (SEQUENCE): Likewise.

	* doc/rtl.texi (NOTE_INSN_EH_REGION_BEG, NOTE_INSN_EH_REGION_END):
	Update documentation.
	(NOTE_INSN_LOOP_BEG, NOTE_INSN_LOOP_END, NOTE_INSN_LOOP_CONT,
	NOTE_INSN_LOOP_VTOP): Remove documentation for non-existing notes.

	* reg-notes.def (REG_EH_CONTEXT): Remove unused note.

From-SVN: r197611
2013-04-08 19:59:57 +00:00
Thomas Koenig a2d0800a41 re PR fortran/56872 (Incorrect SUM evaluation, involving implied-do loop, with -ffrontend-optimize)
2013-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/56782
	* frontend-passes.c (callback_reduction):  Dont't do
	any simplification if there is only a single element
	which has an iterator.

2013-04-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/56782
	* gfortran.dg/array_constructor_44.f90:  New test.

From-SVN: r197610
2013-04-08 19:36:43 +00:00
Paolo Carlini 0c3f68a025 re PR c++/56871 ([c++11] Specialization of constexpr Templated Function)
/cp
2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56871
	* decl.c (validate_constexpr_redeclaration): Allow an explicit
	specialization to be different wrt the constexpr specifier.

/testsuite
2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56871
	* g++.dg/cpp0x/constexpr-specialization.C: New.

From-SVN: r197597
2013-04-08 18:09:35 +00:00
Teresa Johnson 8ddb5a296e First phase of unifying the computation of profile scale factors/probabilities and the actual scaling to use rounding divides...
First phase of unifying the computation of profile scale factors/probabilities
and the actual scaling to use rounding divides:
- Add new macro GCOV_COMPUTE_SCALE to basic-block.h to compute the scale
factor/probability via a rounding divide.
- Change all locations that already perform rounding divides (inline or via RDIV)
to use the appropriate helper: GCOV_COMPUTE_SCALE, apply_probability or
combine_probabilities.
- Change ipa-cp.c truncating divides to use rounding divides.
- Add comments to all other locations (currently using truncating divides) to
switch them to one of the helpers so they use a rounding divide.

Next phase will be to replace the locations using truncating divides, marked
with a comment here, into rounding divides via the helper methods.

2013-04-08  Teresa Johnson  <tejohnson@google.com>

	* basic-block.h (GCOV_COMPUTE_SCALE): Define.
	* ipa-inline-analysis.c (param_change_prob): Use helper rounding divide
        methods.
	(estimate_edge_size_and_time): Add comment to suggest using rounding
	methods.
	(estimate_node_size_and_time): Ditto.
	(remap_edge_change_prob): Use helper rounding divide methods.
	* value-prof.c (gimple_divmod_fixed_value_transform): Ditto.
	(gimple_mod_pow2_value_transform): Ditto.
	(gimple_mod_subtract_transform): Ditto.
	(gimple_ic_transform): Ditto.
	(gimple_stringops_transform): Ditto.
	* stmt.c (conditional_probability): Ditto.
	(emit_case_dispatch_table): Ditto.
	* lto-cgraph.c (merge_profile_summaries): Ditto.
	* tree-optimize.c (execute_fixup_cfg): Ditto.
	* cfgcleanup.c (try_forward_edges): Ditto.
	* cfgloopmanip.c (scale_loop_profile): Ditto.
	(loopify): Ditto.
	(duplicate_loop_to_header_edge): Ditto.
	(lv_adjust_loop_entry_edge): Ditto.
	* tree-vect-loop.c (vect_transform_loop): Ditto.
	* profile.c (compute_branch_probabilities): Ditto.
	* cfgbuild.c (compute_outgoing_frequencies): Ditto.
	* lto-streamer-in.c (input_cfg): Ditto.
	* gimple-streamer-in.c (input_bb): Ditto.
	* ipa-cp.c (update_profiling_info): Ditto.
	(update_specialized_profile): Ditto.
	* tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Ditto.
	* cfg.c (update_bb_profile_for_threading): Add comment to suggest using
        rounding methods.
	* sched-rgn.c (compute_dom_prob_ps): Ditto.
	(compute_trg_info): Ditto.
	* cfgrtl.c (force_nonfallthru_and_redirect): Ditto.
	(purge_dead_edges): Ditto.
	* loop-unswitch.c (unswitch_loop): Ditto.
	* cgraphclones.c (cgraph_clone_edge): Ditto.
	(cgraph_clone_node): Ditto.
	* tree-inline.c (copy_bb): Ditto.
	(copy_edges_for_bb): Ditto.
	(initialize_cfun): Ditto.
	(copy_cfg_body): Ditto.
	(expand_call_inline): Ditto.

From-SVN: r197595
2013-04-08 17:39:10 +00:00
Paolo Carlini d6222d4ef0 cxx11.cc: Include <memory>.
2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.

From-SVN: r197594
2013-04-08 16:47:02 +00:00
Kai Tietz 661e6bd7e7 cygwin.h (EXTRA_OS_CPP_BUILTINS): Replaced TARGET_CYGWIN64 by TARGET_64BIT.
* config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): Replaced
	TARGET_CYGWIN64 by TARGET_64BIT.

From-SVN: r197593
2013-04-08 18:11:21 +02:00
Joern Rennecke 093ac0a5f1 epiphany.md (<insn_opname>v2si3): Use gen_addsi3_i / gen_subsi3_i.
* config/epiphany/epiphany.md (<insn_opname>v2si3):
        Use gen_addsi3_i / gen_subsi3_i.

From-SVN: r197592
2013-04-08 17:03:05 +01:00
Joern Rennecke aefb0819fb ChangeLog typo fix.
From-SVN: r197591
2013-04-08 17:00:26 +01:00
Joern Rennecke 2ccc703d2e epiphany.md (mov_f+2): New peephole2 pattern.
* config/epiphany/epiphany.md (mov_f+2): New peephole2 pattern.
        (cstoresi4): Also allow re-use of zero result when doing a NE
        comparison to a non-zero operand.
        Use (clobber (sratch)) for first insn if the gpr output is not needed.

From-SVN: r197590
2013-04-08 16:59:41 +01:00
Joern Rennecke 5138e18df3 epiphany.md (logical_op): New code iterator.
* config/epiphany/epiphany.md (logical_op): New code iterator.
        (op_mnc): New code attribute.
        (<op_mnc>_f, mov_f, cstoresi4): New patterns.
        (mov_f+1, mov_f+2): New peephole2 patterns.

From-SVN: r197589
2013-04-08 16:57:20 +01:00
Joern Rennecke fa7707d6e7 constraints.md (CnL): New constraint.
* config/epiphany/constraints.md (CnL): New constraint.
        * config/epiphany/epiphany.md (addsi3_i): Add r/r/CnL alternative.
        * config/epiphany/predicates.md (add_operand): Allow 1024.

From-SVN: r197588
2013-04-08 16:52:44 +01:00
Joern Rennecke 8afab2373c epiphany.c (epiphany_select_cc_mode): Don't use CC_FPmode for ORDERED / UNORDERED.
* config/epiphany/epiphany.c (epiphany_select_cc_mode):
        Don't use CC_FPmode for ORDERED / UNORDERED.
        * config/epiphany/epiphany.md (cmpsf_ord): Make pattern
        unconditional.

From-SVN: r197587
2013-04-08 16:46:24 +01:00
Joern Rennecke 105766f392 epiphany.md (GPR_1): New constant.
* config/epiphany/epiphany.md (GPR_1): New constant.
        (define_expand "mov<mode>cc): FAIL if gen_compare_reg returned 0.
        * config/epiphany/epiphany.c (gen_compare_reg):
        For flag_finite_math_only, avoid swapping operands when r0 and/or r1
        is already in place.
        Use GPR_0 / GPR_1 instead of 0/1 for r0/r1 register numbers.
        Don't require being called during rtl expansion; If y operlaps r0,
        return 0.
        (epiphany_compute_frame_size, epiphany_expand_prologue): Use GPR_1.
        (epiphany_expand_epilogue): Likewise.

From-SVN: r197586
2013-04-08 16:42:10 +01:00