Commit Graph

125663 Commits

Author SHA1 Message Date
Kai Tietz
5cf16202ab gcc.target/i386/pr57848.c: New file.
From-SVN: r202571
2013-09-13 19:27:29 +02:00
Adam Butcher
f3a880f8ce Revert r202554, r202540 and r202539.
- r202554: Fix uninitialized variables causing breakage with -Werror.
 - r202540: Support using 'auto' in a function parameter list to introduce an implicit template parameter.
 - r202539: Support lambda templates.

From-SVN: r202570
2013-09-13 17:14:15 +01:00
Jan Hubicka
19ba6aab7b re PR middle-end/58094 (IPA devirt testsuite errors)
PR middle-end/58094
	* ipa-inline.c (check_callers): New function.
	(check_caller_edge): Remove.
	(want_inline_function_to_all_callers_p): Also permit alises that are
	called dirrectly.
	(inline_to_all_callers): Terminate the walk when devirtualization
	introduce new calls.

From-SVN: r202567
2013-09-13 14:35:32 +00:00
Jan Hubicka
a93c18c88f ipa-inline-analysis.c (struct growth_data): Add node.
* ipa-inline-analysis.c (struct growth_data): Add node.
	(do_estimate_growth_1): Fix detection of recursion.

From-SVN: r202566
2013-09-13 14:28:03 +00:00
Jakub Jelinek
f3b331d117 re PR libgomp/58392 (internal compiler error: in expand_GOMP_SIMD_VF, at internal-fn.c (omp simd inside omp parallel))
PR tree-optimization/58392
	* tree-cfg.c (move_sese_region_to_fn): Rename loop variable
	to avoid shadowing of outer loop variable.  If
	saved_cfun->has_simduid_loops or saved_cfun->has_force_vect_loops,
	replace_by_duplicate_decl simduid of loops that have it set and
	set dest_cfun->has_simduid_loops and/or
	dest_cfun->has_force_vect_loops.
	* omp-low.c (build_outer_var_ref): Call maybe_lookup_decl_in_outer_ctx
	instead of maybe_lookup_decl.
	* tree-inline.c (copy_loops): Change blocks_to_copy argument to id.
	Use id->blocks_to_copy instead of blocks_to_copy.  Adjust recursive
	call.  Copy over force_vect and copy and remap simduid.  Set
	cfun->has_simduid_loops and/or cfun->has_force_vect_loops.
	(copy_cfg_body): Remove blocks_to_copy argument.  Use
	id->blocks_to_copy instead of blocks_to_copy.  Adjust copy_loops
	caller.  Don't set cfun->has_simduid_loops and/or
	cfun->has_force_vect_loops here.
	(copy_body): Remove blocks_to_copy argument.  Adjust copy_cfg_body
	caller.
	(expand_call_inline, tree_function_versioning): Adjust copy_body
	callers.

From-SVN: r202564
2013-09-13 14:42:04 +02:00
Martin Jambor
ae6d090748 re PR bootstrap/58388 (LTO profiledbootstrap fails in stage feedback for tree-ssa-structalias.c with "internal compiler error: in try_make_edge_direct_simple_call, at ipa-prop.c:2606")
2013-09-13  Martin Jambor  <mjambor@suse.cz>

	PR bootstrap/58388
	* ipa-prop.c (try_make_edge_direct_simple_call): Be less strict in
	the assert if the edge was a speculative one.

From-SVN: r202563
2013-09-13 14:04:54 +02:00
Alexander Ivchenko
e660fa8b9d configure.tgt: Remove *-*-*android* from supported targets.
* configure.tgt: Remove *-*-*android* from supported targets.

From-SVN: r202562
2013-09-13 11:21:10 +00:00
Richard Biener
2fd5894f38 tree-data-ref.h (known_dependences_p): Move here ...
2013-09-13  Richard Biener  <rguenther@suse.de>

	* tree-data-ref.h (known_dependences_p): Move here ...
	* tree-loop-distribution.c (known_dependences_p): ... from here.
	(dump_rdg_component, debug_rdg_component): Remove.
	(dump_rdg): Adjust.
	(generate_loops_for_partition): Use gimple_uid instead of
	relying on matching stmt visit order.
	(rdg_build_partitions): Take starting stmt vector.
	(ldist_gen): Merge into ...
	(distribute_loop): ... this function.  Do not compute starting
	vertices vector.
	* tree-cfg.c (gimple_duplicate_bb): Copy UID for PHIs.

From-SVN: r202561
2013-09-13 10:58:35 +00:00
Kyrylo Tkachov
86eb4bd726 arm.md (arm_cmpsi_insn): Split rI alternative.
2013-09-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (arm_cmpsi_insn): Split rI alternative.
	Set type attribute correctly. Set predicable_short_it attribute.
	(cmpsi_shiftsi): Remove %? from output template.

From-SVN: r202560
2013-09-13 10:26:34 +00:00
Richard Biener
83a95546b8 tree-loop-distribution.c (struct rdg_component, [...]): Remove.
2013-09-13  Richard Biener  <rguenther@suse.de>

	* tree-loop-distribution.c (struct rdg_component,
	rdg_defs_used_in_other_loops_p, free_rdg_components,
	rdg_build_components): Remove.
	(stmts_from_loop): Do not record virtual PHIs.
	(generate_loops_for_partition): Skip virtual PHIs.
	(build_rdg_partition_for_component): Rename to ...
	(build_rdg_partition_for_vertex): ... this and adjust.
	(rdg_build_partitions): Take a vector of starting vertices
	instead of components.  Remove unnecessary leftover handling.
	(ldist_gen): Do not build components or record other stores.
	(distribute_loop): Do not distribute loops containing stmts
	with side-effects.

From-SVN: r202558
2013-09-13 08:30:48 +00:00
Christian Bruel
c0ecf7f1cb re PR target/58314 (SH4 error: 'asm' operand requires impossible reload)
2013-09-13  Christian Bruel  <christian.bruel@st.com>

        PR target/58314
        * config/sh/sh.md (mov<mode>_reg_reg): Allow memory reloads.

From-SVN: r202557
2013-09-13 09:51:07 +02:00
Kai Tietz
740f2bf37a config.gcc: Separate cases for mingw and cygwin targets, and add 64-bit cygwin target case.
* config.gcc: Separate cases for mingw and cygwin targets,
	and add 64-bit cygwin target case.

From-SVN: r202556
2013-09-13 08:44:31 +02:00
Kai Tietz
34f56efcd5 winnt-cxx.c (i386_pe_type_dllexport_p): Don't dll-export inline-functions.
2013-09-13  Kai Tietz  <ktietz@redhat.com>

	* config/i386/winnt-cxx.c (i386_pe_type_dllexport_p): Don't
	dll-export inline-functions.
	* config/i386/winnt.c (i386_pe_determine_dllexport_p): Likewise.

Additional fix ChangeLog-date of prior commit.

From-SVN: r202555
2013-09-13 08:43:17 +02:00
Adam Butcher
f0e40b0a06 Fix uninitialized variables causing breakage with -Werror.
* lambda.c (maybe_add_lambda_conv_op): Initialize direct_argvec and call
	to nullptr to avoid breakage with -Werror.

From-SVN: r202554
2013-09-13 07:37:25 +01:00
Jeff Law
823b5d6bbc Revert " * tree-ssa-dom.c (cprop_into_successor_phis): Also propagate"
This reverts commit 592dc887e7bd7b2637b9277c3bd28f41a9487b17.

Conflicts:
	gcc/ChangeLog

From-SVN: r202553
2013-09-13 00:04:32 -06:00
GCC Administrator
cece834139 Daily bump.
From-SVN: r202549
2013-09-13 00:16:54 +00:00
DJ Delorie
aadb52ad00 rl78-virt.md: Change from | to \; for asm line separators.
* config/rl78/rl78-virt.md: Change from | to \; for asm line
separators.

From-SVN: r202545
2013-09-12 19:12:49 -04:00
Brooks Moses
90ae701920 re PR driver/42955 (undecorated cross-compiler gcc fails to find cc1)
PR driver/42955
* Makefile.in: Do not install driver binaries in $(target)/bin.
* cp/Make-lang.in: Likewise.
* fortran/Make-lang.in: Likewise.

From-SVN: r202544
2013-09-12 16:07:32 -07:00
DJ Delorie
c5215a9bd3 rl78.opt (mrelax): New.
* config/rl78/rl78.opt (mrelax): New.
* config/rl78/rl78.h (ASM_SPEC): New, pass on -mrelax to gas.
* config/rl78/rl78.h (LINK_SPEC): New, pass on -mrelax to ld.

From-SVN: r202543
2013-09-12 19:03:35 -04:00
DJ Delorie
17b2557c83 rl78.c (rl78_expand_prologue): Use AX to copy between SP and FP.
* config/rl78/rl78.c (rl78_expand_prologue): Use AX to copy
between SP and FP.
(rl78_expand_epilogue): Likewise.

From-SVN: r202542
2013-09-12 18:43:30 -04:00
Adam Butcher
984417a0ae Support using 'auto' in a function parameter list to introduce an implicit template parameter.
* cp-tree.h (type_uses_auto_or_concept): Declare.
	(is_auto_or_concept): Declare.
	* decl.c (grokdeclarator): Allow 'auto' parameters in lambdas with
	-std=gnu++1y or -std=c++1y or, as a GNU extension, in plain functions.
	* type-utils.h: New header defining ...
	(find_type_usage): ... this new function based on pt.c (type_uses_auto)
	for searching a type tree given a predicate.
	* pt.c (type_uses_auto): Reimplement via type-utils.h (find_type_usage).
	(is_auto_or_concept): New function.
	(type_uses_auto_or_concept): New function.
	* parser.h (struct cp_parser): Add fully_implicit_function_template_p.
	* parser.c (cp_parser_new): Initialize fully_implicit_function_template_p.
	(cp_parser_new): Initialize fully_implicit_function_template_p.
	(cp_parser_lambda_expression): Copy and restore value of
	fully_implicit_function_template_p as per other parser fields.
	(cp_parser_parameter_declaration_list): Count generic
	parameters and call ...
	(add_implicit_template_parms): ... this new function to synthesize them
	with help from type-utils.h (find_type_usage), ...
	(tree_type_is_auto_or_concept): ... this new static function and ...
	(make_generic_type_name): ... this new static function.
	(cp_parser_direct_declarator): Account for implicit template parameters.
	(cp_parser_lambda_declarator_opt): Finish fully implicit template if
	necessary by calling ...
	(finish_fully_implicit_template): ... this new function.
	(cp_parser_member_declaration): Likewise.
	(cp_parser_function_definition_after_declarator): Likewise.
	* Make-lang.in (cp/pt.o): Add dependency on type-utils.h.
	(cp/parser.o): Likewise.

From-SVN: r202540
2013-09-12 22:04:52 +01:00
Adam Butcher
c9469d539a Support lambda templates.
* parser.c (cp_parser_lambda_declarator_opt): Accept template parameter
	list with std=c++1y or std=gnu++1y.
	(cp_parser_lambda_body): Don't call 'expand_or_defer_fn' for lambda call
	operator template to avoid adding template result to symbol table.
	* lambda.c (lambda_function): Return template result if call operator is
	a template.
	(maybe_add_lambda_conv_op): Move declarations to point of use.  Refactor
	operator call building in order to support conversion of a non-capturing
	lambda template to a function pointer with help from ...
	(prepare_op_call): ... this new function.
	* decl2.c (check_member_template): Don't reject lambda call operator
	template in local [lambda] class.
	* pt.c (instantiate_class_template_1): Don't instantiate lambda call
	operator template when instantiating lambda class.

From-SVN: r202539
2013-09-12 19:54:52 +01:00
Adam Butcher
1c1880fcc6 Support decl instantiation in function-local templates.
* pt.c (instantiate_decl): Save/restore cp_unevaluated_operand and
	c_inhibit_evaluation_warnings.  Reset if instantiating within a
	function-local template.

From-SVN: r202538
2013-09-12 19:54:42 +01:00
Vladimir Makarov
84f6d9fa3d Add missed .c for the file name in Changelog
From-SVN: r202537
2013-09-12 18:26:46 +00:00
Vladimir Makarov
ecafcf0577 re PR middle-end/58335 (S/390: reload vs lra regression - testcase builtin-in-setjmp)
2013-09-12  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/58335
	* lra-eliminations (remove_reg_equal_offset_note): New.
	(eliminate_regs_in_insn): Rewrite frame pointer to hard frame
	pointer elimination with using remove_reg_equal_offset_note.

From-SVN: r202536
2013-09-12 18:23:09 +00:00
DJ Delorie
f6a83b4a9f MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430 maintainers.
* MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430
maintainers.

[gcc]
* config/msp430/: New port.
* config.gcc (msp430): Added.
* doc/invoke.texi: Document MSP430 options.
* doc/install.texi: Document msp430-elf
* doc/md.texi: Document msp430-elf
* doc/contrib.texi: Document msp430-elf

[libgcc]
* config.host (msp*-*-elf): New.
* config/msp430/: New port.

[contrib]
* config-list.mk: Add msp430-elf.

From-SVN: r202535
2013-09-12 13:52:41 -04:00
DJ Delorie
8369f38a6f cfgexpand.c (expand_debug_expr): Avoid sign-extending SImode to PSImode.
* cfgexpand.c (expand_debug_expr): Avoid sign-extending SImode to
PSImode.

From-SVN: r202534
2013-09-12 13:06:38 -04:00
Paolo Carlini
511daaf526 pr58380.C: Suppress warnings with "-w".
2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/torture/pr58380.C: Suppress warnings with "-w".

From-SVN: r202533
2013-09-12 15:46:23 +00:00
Martin Jambor
a854f8566a re PR ipa/58389 (g++ ICE in ipa_find_reference)
2013-09-12  Martin Jambor  <mjambor@suse.cz>

	PR ipa/58389
	* ipa-prop.c (remove_described_reference): Give up if the edge in the
	reference descriptor is NULL.
	(ipa_edge_removal_hook): If owning a reference descriptor, set its
	edge to NULL.

testsuite/
	* g++.dg/pr58389.C: New test.

From-SVN: r202532
2013-09-12 17:20:05 +02:00
Paolo Carlini
274ddab613 re PR libstdc++/58403 (__normal_iterator triggers odr-use)
2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/58403
	* include/bits/stl_iterator.h (__normal_iterator<>::operator[],
	operator+=, operator+, operator-=, operator-): Take the argument
	by value.
	* testsuite/24_iterators/normal_iterator/58403.cc: New.

From-SVN: r202531
2013-09-12 15:15:34 +00:00
Paolo Carlini
7480a018a5 2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLo entry.

From-SVN: r202530
2013-09-12 14:22:32 +00:00
Paolo Carlini
c564f42db6 2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last commit.

From-SVN: r202529
2013-09-12 14:20:55 +00:00
Paolo Carlini
2dc6ed8700 semantics.c (finish_pseudo_destructor_expr): Add location_t parameter.
2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* semantics.c (finish_pseudo_destructor_expr): Add location_t
	parameter.
	* pt.c (unify_arg_conversion): Use EXPR_LOC_OR_HERE.
	(tsubst_copy_and_build): Adjust finish_pseudo_destructor_expr
	calls.
	* parser.c (cp_parser_postfix_dot_deref_expression): Likewise.
	(cp_parser_postfix_expression): Pass the proper location to
	cp_parser_postfix_dot_deref_expression.

/testsuite
2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/template/pseudodtor2.C: Add column number to dg-error
	strings.
	* g++.dg/template/pseudodtor3.C: Likewise.

From-SVN: r202528
2013-09-12 13:49:18 +00:00
Andrew MacLeod
b12ebd96ba tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c (SSANAMES...
* tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c
	(SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS, ptr_info_def,
	num_ssa_names, ssa_name): Move to tree-ssanames.h + prototypes.
	* tree-flow-inline.h (make_ssa_name, copy_ssa_name, duplicate_ssa_name,
	make_temp_ssa_name): move to tree-ssanames.h
	* tree-ssa-alias.h: Move prototype.
	* tree-ssa.h: Include tree-ssanames.h.
	* tree-ssanames.c (FREE_SSANAMES): Move to here.
	* tree-ssanames.h: New.  Move items from tree-flow*.h
	* Makefile.in (tree-ssanames.h): Add to tree-ssanames.o and GTFILES.

From-SVN: r202527
2013-09-12 13:30:31 +00:00
Gary Benson
0e2cd22d3d ChangeLog: Add missing file to two entries.
* libiberty/ChangeLog: Add missing file to two entries.

From-SVN: r202526
2013-09-12 13:27:46 +00:00
Richard Biener
e1fb4ad332 re PR tree-optimization/58404 (&noninvariant_address not forwproped into ->handled_component)
2013-09-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58404
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also
	propagate non-invariant addresses into dereferences wrapped
	in component references.

	* g++.dg/tree-ssa/pr58404.C: New testcase.

From-SVN: r202525
2013-09-12 13:20:17 +00:00
Richard Biener
154c91887b re PR middle-end/58402 (FAIL: gcc.dg/tree-ssa/phi-opt-1.c scan-tree-dump-times optimized "if" 0)
2013-09-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58402
	* passes.def: Move pass_late_warn_uninitialized later.

From-SVN: r202524
2013-09-12 13:19:21 +00:00
Andrew MacLeod
7a30045280 tree-ssa.h: New.
* tree-ssa.h: New.  Move content from tree-flow.h and
	tree-flow-inline.h.
	* tree-flow.h (_edge_var_map, edge_var_map_vector): Move to tree-ssa.h.
	Move prototypes belonging to tree-ssa.c.
	* tree-flow-inline.h (redirect_edge_var_map_def, 
	redirect_edge_var_map_result, redirect_edge_var_map_location): Move to
	tree-ssa.h.
	* gimple.h: Adjust prototypes.
	* tree-ssa.c (useless_type_conversion_p, types_compatible_p): Move to...
	* gimple.c (useless_type_conversion_p, types_compatible_p):  Here.
	* tree.h: Move prototype to tree-ssa.h.
	* gengtype.c (open_base_files): Replace tree-flow.h with tree-ssa.h.
	* Makefile.in: (TREE_SSA_H, TREE_FLOW_H): Adjust dependencies.
	* alias.c, asan.c, builtins.c, calls.c, cfgexpand.c, cfghooks.c,
	cfgloop.c, cfgloopmanip.c, cgraph.c, cgraphbuild.c, cgraphclones.c,
	cgraphunit.c, dse.c, except.c, expr.c, final.c, fold-const.c,
	ggc-page.c, gimple-fold.c, gimple-iterator.c, gimple-low.c,
	gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
	gimple-streamer-in.c, gimple-streamer-out.c, gimple.c, gimplify.c,
	graphite-blocking.c, graphite-clast-to-gimple.c, graphite-dependences.c,
	graphite-interchange.c, graphite-optimize-isl.c, graphite-poly.c,
	graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c,
	ipa-cp.c, ipa-inline-analysis.c, ipa-inline-transform.c, ipa-inline.c,
	ipa-prop.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa-utils.c,
	loop-init.c, lto-cgraph.c, lto-section-in.c, lto-section-out.c,
	lto-streamer-in.c, lto-streamer-out.c, lto-streamer.c, omp-low.c,
	passes.c, predict.c, print-tree.c, profile.c, sese.c, targhooks.c,
	tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
	tree-chrec.c, tree-complex.c, tree-data-ref.c, tree-dfa.c, tree-eh.c,
	tree-emutls.c, tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
	tree-loop-distribution.c, tree-mudflap.c, tree-nested.c, tree-nrv.c,
	tree-object-size.c, tree-optimize.c, tree-outof-ssa.c, tree-parloops.c,
	tree-phinodes.c, tree-predcom.c, tree-pretty-print.c, tree-profile.c,
	tree-scalar-evolution.c, tree-sra.c, tree-ssa*.c, tree-stdarg.c,
	tree-streamer-in.c, tree-switch-conversion.c, tree-tailcall.c,
	tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop-manip.c,
	tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
	tree-vect-stmts.c, tree-vectorizer.c, tree-vrp.c, tsan.c,
	value-prof.c, var-tracking.c,
	varpool.c, vtable-verify.c: Replace tree-flow.h with tree-ssa.h

From-SVN: r202523
2013-09-12 13:03:18 +00:00
Martin Jambor
33605886ff re PR ipa/58371 (internal compiler error: in ipcp_verify_propagated_values, at ipa-cp.c:892)
2013-09-12  Martin Jambor  <mjambor@suse.cz>

	PR ipa/58371
	* g++.dg/ipa/pr58371.C: New test.

From-SVN: r202522
2013-09-12 14:15:15 +02:00
Richard Biener
97463b2b87 re PR tree-optimization/58396 (heap-use-after-free at gcc/tree-loop-distribution.c:1959)
2013-09-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58396
	* tree-loop-distribution.c (create_rdg_edges): Free unused DDRs.
	(build_rdg): Take a loop-nest parameter, fix memleaks.
	(distribute_loop): Compute loop-nest here and pass it to build_rdg.

From-SVN: r202521
2013-09-12 11:18:46 +00:00
Yuri Rumyantsev
80ecd89dab x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE for SLM.
* config/i386/x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE
  for SLM.

From-SVN: r202520
2013-09-12 10:48:53 +00:00
Thomas Schwinge
46ae49e8a5 ChangeLog entry for
* gcc-interface/Makefile.in: Import target_cpu, target_vendor,
        target_os and their host_ counterparts. Remove host_canonical and
        target_cpu_default, unused. Remove local ad-hoc computations of
        "host", "targ", "arch", "osys" and "manu". Replace uses of these by
        uses of the now imported family, hence back to filters against
        canonical values. Remove filters on e500 for target_cpu, expected to
        be canonicalized into powerpc. Invert the logic filtering on 64bit
        sparc for VxWorks. Simplify the filtering logic for bareboard tools
        target pairs, now using straight elf/eabi filters on the target_os
        part only.

From-SVN: r202519
2013-09-12 09:41:42 +00:00
Thomas Schwinge
69d9ba631b Makefile.in: Import target_cpu, target_vendor, target_os and their host_ counterparts.
2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
            Olivier Hainque  <hainque@adacore.com>

	* gcc-interface/Makefile.in: Import target_cpu, target_vendor,
	target_os and their host_ counterparts. Remove host_canonical and
	target_cpu_default, unused. Remove local ad-hoc computations of
	"host", "targ", "arch", "osys" and "manu". Replace uses of these by
	uses of the now imported family, hence back to filters against
	canonical values. Remove filters on e500 for target_cpu, expected to
	be canonicalized into powerpc. Invert the logic filtering on 64bit
	sparc for VxWorks. Simplify the filtering logic for bareboard tools
	target pairs, now using straight elf/eabi filters on the target_os
	part only.

From-SVN: r202518
2013-09-12 09:35:54 +00:00
Cameron McInally
893e85fa0d extend.texi: Fix errors in x86 FMA builtin naming.
* doc/extend.texi: Fix errors in x86 FMA builtin naming.
	The FMA instruction names should have a 'v' prefix.

From-SVN: r202517
2013-09-12 11:23:08 +02:00
Richard Biener
174ec470af tree-loop-distribution.c (dot_rdg_1): Make graph prettier.
2013-09-12  Richard Biener  <rguenther@suse.de>

	* tree-loop-distribution.c (dot_rdg_1): Make graph prettier.
	(dot_rdg): Use popen instead of system in optional code.
	(remaining_stmts, upstream_mem_writes): Remove global bitmaps.
	(already_processed_vertex_p): Adjust.
	(has_anti_or_output_dependence, predecessor_has_mem_write,
	mark_nodes_having_upstream_mem_writes, has_upstream_mem_writes,
	rdg_flag_uses): Remove.
	(rdg_flag_vertex): Simplify.
	(rdg_flag_vertex_and_dependent): Rely on a correct RDG and
	remove recursion.
	(build_rdg_partition_for_component): Process the first vertex
	of a component only.
	(ldist_gen): Do not compute remaining_stmts or upstream_mem_writes.

	* gcc.dg/tree-ssa/ldist-4.c: Remove undefined behavior.  Adjust
	expected outcome and comment why that happens.

From-SVN: r202516
2013-09-12 08:49:01 +00:00
Alan Modra
38c89763f9 rs6000.c (toc_relative_expr_p): Use add_cint_operand.
* config/rs6000/rs6000.c (toc_relative_expr_p): Use add_cint_operand.

From-SVN: r202515
2013-09-12 12:17:05 +09:30
GCC Administrator
1543c0ac6f Daily bump.
From-SVN: r202514
2013-09-12 00:17:06 +00:00
DJ Delorie
3e3d9d17aa predicates.md (rl78_cmp_operator_signed): New.
* config/rl78/predicates.md (rl78_cmp_operator_signed): New.
(rl78_stack_based_mem): New.
* config/rl78/constraints.md (Iv08): New.
(Iv16): New.
(Iv24): New.
(Is09): New.
(Is17): New.
(Is25): New.
(ISsi): New.
(IShi): New.
(ISqi): New.
* config/rl78/rl78-expand.md (movqi): Reject more SUBREG operands.
(movhi): Likewise.
(movsi): Change from expand to insn-and-split.
(ashrsi3): Clobber AX.
(lshrsi3): New.
(ashlsi3): New.
(cbranchsi4): New.
* config/rl78/rl78.md (CC_REG): Fix.
(addsi3): Allow memory and immediate operands.
(addsi3_internal): Split into...
(addsi3_internal_virt): ...new, and ...
(addsi3_internal_real): ...new.
(subsi): New.
(subsi3_internal_virt): New.
(subsi3_internal_real): New.
(mulsi3): Add memory operand.
(mulsi3_rl78): Likewise.
(mulsi3_g13): Likewise.
* config/rl78/rl78-real.md (cbranchqi4_real_signed): New.
(cbranchqi4_real): Add more constraint options.
(cbranchhi4_real): Expand pattern.
(cbranchhi4_real_signed): New.
(cbranchhi4_real_inverted): New.
(cbranchsi4_real_lt): New.
(cbranchsi4_real_ge): New.
(cbranchsi4_real_signed): New.
(cbranchsi4_real): New.
(peephole2): New.
* config/rl78/rl78-virt.md (ashrsi3_virt): Add custom cases for constant shifts.
(lshrsi3_virt): Likewise.
(ashlsi3_virt): Likewise.
(cbranchqi4_virt_signed): New.
(cbranchhi4_virt_signed): New.
(cbranchsi4_virt): New.
* config/rl78/rl78.c: Whitespace fixes throughout.
(move_elim_pass): New.
(pass_data_rl78_move_elim): New.
(pass_rl78_move_elim): New.
(make_pass_rl78_move_elim): New.
(rl78_devirt_info): Run devirt earlier.
(rl78_move_elim_info): New.
(rl78_asm_file_start): Register it.
(rl78_split_movsi): New.
(rl78_as_legitimate_address): Allow virtual base registers when
appropriate.
(rl78_addr_space_convert): Remove spurious debug stuff.
(rl78_print_operand_1): Add z,s,S,r,E modifiers.
(rl78_print_operand): More cases for not printing '#'.
(rl78_expand_compare): Remove most of the logic.
(content_memory): New.
(clear_content_memory): New.
(get_content_index): New.
(get_content_name): New.
(display_content_memory): New.
(update_content): New.
(record_content): New.
(already_contains): New.
(insn_ok_now): Re-recog insns with virtual registers.
(add_postponed_content_update): New.
(process_postponed_content_update): New.
(gen_and_emit_move): New.
(transcode_memory_rtx): Record new location content.  Use
gen_and_emit_move.
(force_into_acc): New.
(move_to_acc): Use gen_and_emit_move.
(move_from_acc): Likewise.
(move_acc_to_reg): Likewise.
(move_to_x): Likewise.
(move_to_hl): Likewise.
(move_to_de): Likewise.
(rl78_alloc_physical_registers_op1): Record location content.
(has_constraint): New.
(rl78_alloc_physical_registers_op2): Record location content.
Optimize use of HL.
(rl78_alloc_physical_registers_ro1): Likewise.
(rl78_alloc_physical_registers_cmp): Likewise.
(rl78_alloc_physical_registers_umul): Likewise.
(rl78_alloc_address_registers_macax): New.
(rl78_alloc_physical_registers): Initialize and set location
content memory as needed.
(rl78_reorg): Make sure split2 is called.
(rl78_rtx_costs): New.

Co-Authored-By: Nick Clifton <nickc@redhat.com>

From-SVN: r202511
2013-09-11 20:16:03 -04:00
Mitsuru Kariya
4b47d65500 re PR libstdc++/58358 (search_n has a Complexity violation for random access iterator)
2013-09-11  Mitsuru Kariya  <kariya_mitsuru@hotmail.com>
	    Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/58358
	* include/bits/stl_algo.h (search_n): Fix to guarantee a number
	of comparisons <= number of elements in the range.
	* testsuite/25_algorithms/search_n/58358.cc: New.
	* testsuite/25_algorithms/search_n/iterator.cc: Extend.

Co-Authored-By: Chris Jefferson <chris@bubblescope.net>

From-SVN: r202510
2013-09-11 22:24:50 +00:00
Richard Sandiford
088845a5f0 simplify-rtx.c (simplify_unary_operation_1): Use simplify_gen_binary for (not (neg ...)) and (neg (not ...)) cases.
gcc/
	* simplify-rtx.c (simplify_unary_operation_1): Use simplify_gen_binary
	for (not (neg ...)) and (neg (not ...)) cases.

From-SVN: r202506
2013-09-11 17:40:56 +00:00