Commit Graph

125226 Commits

Author SHA1 Message Date
Tom de Vries
6df2ca09e9 Handle noexcept on transactions with -fno-exceptions
2013-09-08  Tom de Vries  <tom@codesourcery.com>

	PR c++/58282
	* except.c (build_must_not_throw_expr): Handle
	flag_exceptions.

From-SVN: r202359
2013-09-07 23:31:48 +00:00
Paolo Carlini
9a7fb488e3 re PR libstdc++/58341 (Doc conflicts with standard on forbidden range of result in copy_backward())
2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/58341
	* include/bits/stl_algobase.h (copy_backward): Fix documentation
	per DR 1206.

From-SVN: r202357
2013-09-07 22:57:49 +00:00
Paolo Carlini
4b21946eda Makefile.am: Remove #if ENABLE_VTABLE_VERIFY check around definition of check-am:.
2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/Makefile.am: Remove #if ENABLE_VTABLE_VERIFY check around
	definition of check-am:.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r202356
2013-09-07 21:35:38 +00:00
Jan Hubicka
bcb650cbb8 cgraphunit.c (expand_thunk): Get body before touching arguments.
* cgraphunit.c (expand_thunk): Get body before touching arguments.
	* lto-streamer-out.c: Stream thunks, too.
	* lto-streamer-in.c (input_function): Pop cfun here
	(lto_read_body): Instead of here.

From-SVN: r202352
2013-09-07 07:48:59 +00:00
GCC Administrator
2ef38fa0f3 Daily bump.
From-SVN: r202350
2013-09-07 00:16:36 +00:00
Caroline Tice
87f3fea84f Add documentation for the options --enable-vtable-verify,
--disable-vtable-verify and --disable-libvtv.  Also 
update configure and make files in libvtv not to use 
--enable-vtable-verify.

From-SVN: r202346
2013-09-06 10:56:35 -07:00
Jeff Law
5e8d9b4559 tree-ssa-dom.c (cprop_into_successor_phis): Also propagate edge implied equivalences into successor phis.
* tree-ssa-dom.c (cprop_into_successor_phis): Also propagate
        edge implied equivalences into successor phis.

From-SVN: r202345
2013-09-06 11:41:48 -06:00
Joern Rennecke
3a001aff33 resource.c (mark_referenced_resources): Handle COND_EXEC.
gcc:
	* resource.c (mark_referenced_resources): Handle COND_EXEC.
gcc/testsuite:
	* gcc.target/arc/cond-set-use.c: New test.

From-SVN: r202344
2013-09-06 18:37:50 +01:00
Claudiu Zissulescu
c42091c1b5 resource.c (mark_target_live_regs): Compute resources taking into account if a call is predicated or not.
2013-09-06 Claudiu Zissulescu <claziss@synopsys.com>

        * resource.c (mark_target_live_regs): Compute resources taking
        into account if a call is predicated or not.

From-SVN: r202343
2013-09-06 18:27:54 +01:00
Eric Botcazou
2c641f8b3a toplev.c (output_stack_usage): Be prepared for suffixes created by the compiler in the function names.
* toplev.c (output_stack_usage): Be prepared for suffixes created by
	the compiler in the function names.

From-SVN: r202339
2013-09-06 15:28:02 +00:00
Jan Hubicka
a81b0a3dbb re PR middle-end/58094 (IPA devirt testsuite errors)
PR middle-end/58094
	* ipa-inline.c (has_caller_p): New function.
	(want_inline_function_to_all_callers_p): Use it.
	(sum_callers, inline_to_all_callers): Break out from ...
	(ipa_inline): ... here.

From-SVN: r202337
2013-09-06 15:02:03 +00:00
Jan Hubicka
68e4ca7e49 i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when AVX is enabled.
* i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when	
	AVX is enabled.

From-SVN: r202335
2013-09-06 14:39:17 +00:00
James Greenhalgh
3c73e2fef9 [AArch64] Use neon_<ldm,stm>_2 where appropriate as "type".
gcc/
	* config/aarch64/aarch64.md
	(*movtf_aarch64): Use neon_<ls>dm_2 as type where v8type
	is fpsimd_<load/store>2.
	(load_pair<mode>): Likewise.
	(store_pair<mode>): Likewise.

From-SVN: r202334
2013-09-06 13:59:47 +00:00
James Greenhalgh
8c48eecd19 [AArch64, ARM] Introduce "mrs" type attribute.
gcc/
	* config/arm/types.md (type): Add "mrs" type.
	* config/aarch64/aarch64.md
	(aarch64_load_tp_hard): Make type "mrs".
	* config/arm/arm.md
	(load_tp_hard): Make type "mrs".
	* config/arm/cortex-a15.md: Update with new attributes.
	* config/arm/cortex-a5.md: Update with new attributes.
	* config/arm/cortex-a53.md: Update with new attributes.
	* config/arm/cortex-a7.md: Update with new attributes.
	* config/arm/cortex-a8.md: Update with new attributes.
	* config/arm/cortex-a9.md: Update with new attributes.
	* config/arm/cortex-m4.md: Update with new attributes.
	* config/arm/cortex-r4.md: Update with new attributes.
	* config/arm/fa526.md: Update with new attributes.
	* config/arm/fa606te.md: Update with new attributes.
	* config/arm/fa626te.md: Update with new attributes.
	* config/arm/fa726te.md: Update with new attributes.

From-SVN: r202333
2013-09-06 13:58:09 +00:00
James Greenhalgh
9ea187a578 [AArch64, ARM] Use "multiple" for type, where more than one instruction is used for a move
gcc/
	* config/aarch64/aarch64.md
	(*movti_aarch64): Use "multiple" for type where v8type is "move2".
	(*movtf_aarch64): Likewise.
	* config/arm/arm.md
	(thumb1_movdi_insn): Use "multiple" for type where more than one
	instruction is used for a move.
	(*arm32_movhf): Likewise.
	(*thumb_movdf_insn): Likewise.

From-SVN: r202332
2013-09-06 13:56:01 +00:00
James Greenhalgh
292b89b3d6 [AArch64, ARM] Rename the FCPYS type to FMOV
gcc/
	* config/arm/types.md (type): Rename fcpys to fmov.
	* config/arm/vfp.md
	(*arm_movsi_vfp): Rename type fcpys as fmov.
	(*thumb2_movsi_vfp): Likewise
	(*movhf_vfp_neon): Likewise
	(*movhf_vfp): Likewise
	(*movsf_vfp): Likewise
	(*thumb2_movsf_vfp): Likewise
	(*movsfcc_vfp): Likewise
	(*thumb2_movsfcc_vfp): Likewise
	* config/aarch64/aarch64-simd.md
	(move_lo_quad_<mode>): Replace type mov_reg with fmovs.
	* config/aarch64/aarch64.md
	(*movsi_aarch64): Replace type mov_reg with fmovs.
	(*movdi_aarch64): Likewise
	(*movsf_aarch64): Likewise
	(*movdf_aarch64): Likewise
	* config/arm/arm.c
	(cortexa7_older_only): Rename TYPE_FCPYS to TYPE_FMOV.
	* config/arm/iwmmxt.md
	(*iwmmxt_movsi_insn): Rename type fcpys as fmov.
	* config/arm/arm1020e.md: Update with new attributes.
	* config/arm/cortex-a15-neon.md: Update with new attributes.
	* config/arm/cortex-a5.md: Update with new attributes.
	* config/arm/cortex-a53.md: Update with new attributes.
	* config/arm/cortex-a7.md: Update with new attributes.
	* config/arm/cortex-a8-neon.md: Update with new attributes.
	* config/arm/cortex-a9.md: Update with new attributes.
	* config/arm/cortex-m4-fpu.md: Update with new attributes.
	* config/arm/cortex-r4f.md: Update with new attributes.
	* config/arm/marvell-pj4.md: Update with new attributes.
	* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202331
2013-09-06 13:53:51 +00:00
James Greenhalgh
6a24a83ec4 [Patch AArch64] Fix types for some multiply instructions.
gcc/
	* config/aarch64/aarch64.md
	(*madd<mode>): Fix type attribute.
	(*maddsi_uxtw): Likewise.
	(*msub<mode>): Likewise.
	(*msubsi_uxtw): Likewise.
	(<su_optab>maddsidi4): Likewise.
	(<su_optab>msubsidi4): Likewise.

From-SVN: r202330
2013-09-06 13:42:12 +00:00
James Greenhalgh
b86923f0cd [Patch ARM AARCH64] Split "type" attributes: fdiv
gcc/
	* config/arm/types.md: Split fdiv<sd> as fsqrt<sd>, fdiv<sd>.
	* config/arm/arm.md (core_cycles): Remove fdiv.
	* config/arm/vfp.md:
	(*sqrtsf2_vfp): Update for attribute changes.
	(*sqrtdf2_vfp): Likewise.
	* config/aarch64/aarch64.md:
	(sqrt<mode>2): Update for attribute changes.
	* config/arm/arm1020e.md: Update with new attributes.
	* config/arm/cortex-a15-neon.md: Update with new attributes.
	* config/arm/cortex-a5.md: Update with new attributes.
	* config/arm/cortex-a53.md: Update with new attributes.
	* config/arm/cortex-a7.md: Update with new attributes.
	* config/arm/cortex-a8-neon.md: Update with new attributes.
	* config/arm/cortex-a9.md: Update with new attributes.
	* config/arm/cortex-m4-fpu.md: Update with new attributes.
	* config/arm/cortex-r4f.md: Update with new attributes.
	* config/arm/marvell-pj4.md: Update with new attributes.
	* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202329
2013-09-06 13:39:57 +00:00
James Greenhalgh
7b49c9e1c0 [ARM,AARCH64] Insn type reclassification. Split f_cvt type.
gcc/
	* config/arm/types.md
	(type): Split f_cvt as f_cvt, f_cvtf2i, f_cvti2f.
	* config/aarch64/aarch64.md
	(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Update with
	new attributes.
	(fix_trunc<GPF:mode><GPI:mode>2): Likewise.
	(fixuns_trunc<GPF:mode><GPI:mode>2): Likewise.
	(float<GPI:mode><GPF:mode>2): Likewise.
	* config/arm/vfp.md
	(*truncsisf2_vfp): Update with new attributes.
	(*truncsidf2_vfp): Likewise.
	(fixuns_truncsfsi2): Likewise.
	(fixuns_truncdfsi2): Likewise.
	(*floatsisf2_vfp): Likewise.
	(*floatsidf2_vfp): Likewise.
	(floatunssisf2): Likewise.
	(floatunssidf2): Likewise.
	(*combine_vcvt_f32_<FCVTI32typename>): Likewise.
	(*combine_vcvt_f64_<FCVTI32typename>): Likewise.
	* config/arm/arm1020e.md: Update with new attributes.
	* config/arm/cortex-a15-neon.md: Update with new attributes.
	* config/arm/cortex-a5.md: Update with new attributes.
	* config/arm/cortex-a53.md: Update with new attributes.
	* config/arm/cortex-a7.md: Update with new attributes.
	* config/arm/cortex-a8-neon.md: Update with new attributes.
	* config/arm/cortex-a9.md: Update with new attributes.
	* config/arm/cortex-m4-fpu.md: Update with new attributes.
	* config/arm/cortex-r4f.md: Update with new attributes.
	* config/arm/marvell-pj4.md: Update with new attributes.
	* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202328
2013-09-06 13:37:56 +00:00
James Greenhalgh
e7df8af8d5 [AArch64] Fix types of second parameter to qtbl/qtbx intrinsics
gcc/
	* config/aarch64/arm_neon.h
	(vqtbl<1,2,3,4><q>_s8): Fix control vector parameter type.
	(vqtbx<1,2,3,4><q>_s8): Likewise.

gcc/testsuite/
	* gcc.target/aarch64/table-intrinsics.c
	(qtbl_tests8_< ,2,3,4>): Fix control vector parameter type.
	(qtb_tests8_< ,2,3,4>): Likewise.
	(qtblq_tests8_< ,2,3,4>): Likewise.
	(qtbxq_tests8_< ,2,3,4>): Likewise.

From-SVN: r202327
2013-09-06 13:34:41 +00:00
James Greenhalgh
594726e49e [Patch ARM] Add "type" attribute to Everything!
gcc/
	* config/arm/types.md: Add "no_insn", "multiple" and "untyped"
	types.
	* config/arm/arm-fixed.md: Add type attribute to all insn
	patterns.
	* config/arm/vfp.md: Add type attribute to all insn patterns.
	* config/arm/arm.md: Add type attribute to all insn patterns.
	* config/arm/thumb2.md: Add type attribute to all insn patterns.
	* config/arm/arm1020e.md: Update with new attributes.
	* config/arm/arm1026ejs.md: Update with new attributes.
	* config/arm/arm1136jfs.md: Update with new attributes.
	* config/arm/arm926ejs.md: Update with new attributes.
	* config/arm/cortex-a15.md: Update with new attributes.
	* config/arm/cortex-a5.md: Update with new attributes.
	* config/arm/cortex-a53.md: Update with new attributes.
	* config/arm/cortex-a7.md: Update with new attributes.
	* config/arm/cortex-a8.md: Update with new attributes.
	* config/arm/cortex-a9.md: Update with new attributes.
	* config/arm/cortex-m4.md: Update with new attributes.
	* config/arm/cortex-r4.md: Update with new attributes.
	* config/arm/fa526.md: Update with new attributes.
	* config/arm/fa606te.md: Update with new attributes.
	* config/arm/fa626te.md: Update with new attributes.
	* config/arm/fa726te.md: Update with new attributes.

From-SVN: r202323
2013-09-06 13:21:38 +00:00
James Greenhalgh
1c83b6738a [Patch AArch64] Fix register constraints for lane intrinsics.
gcc/
	* config/aarch64/aarch64-simd.md
	(aarch64_sqdml<SBINQOPS:as>l_n<mode>_internal): Use
	<vwx> iterator to ensure correct register choice.
	(aarch64_sqdml<SBINQOPS:as>l2_n<mode>_internal): Likewise.
	(aarch64_sqdmull_n<mode>): Likewise.
	(aarch64_sqdmull2_n<mode>_internal): Likewise.
	* config/aarch64/arm_neon.h
	(vml<as><q>_lane<q>_<su>16): Use 'x' constraint for element vector.
	(vml<as><q>_n_<su>16): Likewise.
	(vml<as>l_high_lane<q>_<su>16): Likewise.
	(vml<as>l_high_n_<su>16): Likewise.
	(vml<as>l_lane<q>_<su>16): Likewise.
	(vml<as>l_n_<su>16): Likewise.
	(vmul<q>_lane<q>_<su>16): Likewise.
	(vmul<q>_n_<su>16): Likewise.
	(vmull_lane<q>_<su>16): Likewise.
	(vmull_n_<su>16): Likewise.
	(vmull_high_lane<q>_<su>16): Likewise.
	(vmull_high_n_<su>16): Likewise.
	(vqrdmulh<q>_n_s16): Likewise.

From-SVN: r202322
2013-09-06 11:02:52 +00:00
Tejas Belagod
bb1ae54373 arm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to have the correct lane parameter.
2013-09-06  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
	* config/aarch64/arm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to
	have the correct lane parameter.

From-SVN: r202321
2013-09-06 11:57:14 +01:00
Richard Biener
f23c074271 cfganal.c (control_dependences::~control_dependences): Properly free all of the vector.
2013-09-06  Richard Biener <rguenther@suse.de>

	* cfganal.c (control_dependences::~control_dependences):
	Properly free all of the vector.

From-SVN: r202320
2013-09-06 10:38:08 +00:00
Jan Hubicka
9e401b63cd Makefile.in (tree-sra.o): Update dependencies.
* Makefile.in (tree-sra.o): Update dependencies.
	* tree-sra.c: Include ipa-utils.h
	(scan_function): Use recursive_call_p.
	(has_caller_p): New function.
	(cgraph_for_node_and_aliases): Count also callers of aliases.

From-SVN: r202319
2013-09-06 10:36:44 +00:00
Kirill Yukhin
c1d49770cb re PR target/58269 (ICE when building libobjc on x86_64-apple-darwin* after revision 201915)
PR target/58269
* config/i386/i386.c (ix86_conditional_register_usage):
Proper initialize extended SSE registers.

From-SVN: r202318
2013-09-06 10:36:30 +00:00
Jan Hubicka
6da47f52a7 re PR tree-optimization/58311 (ICE: SIGSEGV in hash_table::find_slot_with_hash() with -fdevirtualize)
PR tree-optimization/58311
	* ipa-devirt.c (gate_ipa_devirt): Only execute when optimizing.

From-SVN: r202317
2013-09-06 10:33:48 +00:00
Jan Hubicka
fc11f321bb re PR middle-end/58094 (IPA devirt testsuite errors)
PR middle-end/58094
	* cgraph.h (symtab_semantically_equivalent_p): Declare.
	* tree-tailcall.c: Include ipa-utils.h.
	(find_tail_calls): Use it.
	* ipa-pure-const.c (check_call): Likewise.
	* ipa-utils.c (recursive_call_p): New function.
	* ipa-utils.h (recursive_call_p): Dclare.
	* symtab.c (symtab_nonoverwritable_alias): Fix formatting.
	(symtab_semantically_equivalent_p): New function.
	* Makefile.in (tree-tailcall.o): Update dependencies.

From-SVN: r202316
2013-09-06 10:13:37 +00:00
Eric Botcazou
9a6af4504b ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the non-inlinable part.
* ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the
	non-inlinable part.

From-SVN: r202315
2013-09-06 09:35:23 +00:00
Joern Rennecke
6660b45f39 ipa-pta-14.c (scan-ipa-dump): Don't expect NULL in foo.result set.
* gcc.dg/ipa/ipa-pta-14.c (scan-ipa-dump) [keeps_null_pointer_checks]:
        Don't expect NULL in foo.result set.
        * gcc.dg/tree-ssa/pta-escape-1.c (scan-tree-dump): Don't expect NULL
        in ESCAPED set.
        * gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
        * gcc.dg/tree-ssa/pta-escape-3.c: Likewise.

From-SVN: r202314
2013-09-06 10:31:12 +01:00
Richard Biener
35f32ad4a7 lto-streamer.h (lto_global_var_decls): Remove.
2013-09-06  Richard Biener  <rguenther@suse.de>

	* lto-streamer.h (lto_global_var_decls): Remove.
	* Makefile.in (OBJS): Remove lto-symtab.o.
	(lto-symtab.o): Remove.
	(GTFILES): Remove lto-symtab.c
	* lto-symtab.c: Move to lto/

	lto/
	* lto-symtab.c: Move from gcc/
	* lto.h: Include vec.h.
	(lto_global_var_decls): Declare.
	* lto.c (lto_global_var_decls): Move definition here.
	* Make-lang.in (LTO_OBJS): Add lto-symtab.o.
	(lto-symtab.o): Add.
	* config-lang.in (gtfiles): Add lto.h.

From-SVN: r202313
2013-09-06 09:06:25 +00:00
Andreas Krebbel
d12a76f3ec 2013-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md (UNSPEC_FPINT_FLOOR, UNSPEC_FPINT_BTRUNC)
	(UNSPEC_FPINT_ROUND, UNSPEC_FPINT_CEIL, UNSPEC_FPINT_NEARBYINT)
	(UNSPEC_FPINT_RINT): New constant definitions.
	(FPINT, fpint_name, fpint_roundingmode): New integer iterator
	definition with 2 attributes.
	("<FPINT:fpint_name><BFP:mode>2", "rint<BFP:mode>2")
	("<FPINT:fpint_name><DFP:mode>2", "rint<DFP:mode>2"): New pattern
	definitions.

2013-09-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.target/s390/nearestint-1.c: New testcase.

From-SVN: r202312
2013-09-06 07:55:35 +00:00
Andreas Krebbel
a9cc3f58ac s390.md: Add "bcr_flush" value to mnemonic attribute.
2013-09-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.md: Add "bcr_flush" value to mnemonic
	attribute.
	("mem_thread_fence_1"): Use bcr 14,0 for z196 and later.
	Set the mnemonic attribute to "bcr_flush".  Set the "z196prop"
	attribute to "z196_alone".
	* config/s390/2827.md: Add "bcr_flush" to "ooo_groupalone" and
	"zEC12_simple".

From-SVN: r202311
2013-09-06 07:54:05 +00:00
Richard Biener
c8e9d8c346 basic-block.h (class control_dependences): New.
2013-09-06  Richard Biener  <rguenther@suse.de>

	* basic-block.h (class control_dependences): New.
	* tree-ssa-dce.c (control_dependence_map): Remove.
	(cd): New global.
	(EXECUTE_IF_CONTROL_DEPENDENT): Remove.
	(set_control_dependence_map_bit, clear_control_dependence_bitmap,
	find_pdom, find_control_dependence, find_all_control_dependences):
	Move to cfganal.c.
	(mark_control_dependent_edges_necessary, find_obviously_necessary_stmts,
	propagate_necessity, tree_dce_init, tree_dce_done,
	perform_tree_ssa_dce): Adjust.
	* cfganal.c (set_control_dependence_map_bit,
	clear_control_dependence_bitmap, find_pdom, find_control_dependence,
	find_all_control_dependences): Move from tree-ssa-dce.c and
	implement as methods of control_dependences class.
	(control_dependences::control_dependences): New.
	(control_dependences::~control_dependences): Likewise.
	(control_dependences::get_edges_dependent_on): Likewise.
	(control_dependences::get_edge): Likewise.

From-SVN: r202309
2013-09-06 07:24:11 +00:00
GCC Administrator
d1576de517 Daily bump.
From-SVN: r202305
2013-09-06 00:16:51 +00:00
Jan Hubicka
7d2ba4711f tree.c (types_same_for_odr): Drop overactive check.
* tree.c (types_same_for_odr): Drop overactive check.
	* ipa-devirt.c (hash_type_name): Likewise.

From-SVN: r202302
2013-09-05 23:25:48 +00:00
Joern Rennecke
0db7b1373f 20101011-1.c [__arc__] (DO_TEST): Define as 0.
* gcc.c-torture/execute/20101011-1.c [__arc__] (DO_TEST): Define as 0.
        * testsuite/gcc.target/arc: New directory.
        * gcc.dg/torture/pr37868.c: Also skip for arc*-*-*.
        * gcc.dg/stack-usage-1.c [__arc__] (SIZE): Define.
        * testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c
        [__arc__] (STACK_ARGUMENTS_SIZE): Set to 0.
        * testsuite/gcc.dg/builtin-apply2.c
        [__arc__] (STACK_ARGUMENTS_SIZE): Set to 0.

Co-Authored-By: Vineet Gupta <Vineet.Gupta@synopsys.com>

From-SVN: r202301
2013-09-06 00:23:53 +01:00
Jan Hubicka
e18412fc01 cgraphunit.c (walk_polymorphic_call_targets): Break out from ...
* cgraphunit.c (walk_polymorphic_call_targets): Break out from ...
	(analyze_functions): ... here.

From-SVN: r202299
2013-09-05 23:06:10 +00:00
Jan Hubicka
d352b2459f re PR c++/58201 (Undefined reference to `B::B(void const**)')
PR middle-end/58201
	* cgraphunit.c (analyze_functions): Clear AUX fields
	after processing; initialize assembler name has.

	* g++.dg/torture/pr58201_0.C: New testcase.
	* g++.dg/torture/pr58201_1.C: New testcase.
	* g++.dg/torture/pr58201.h: New testcase.

From-SVN: r202298
2013-09-05 23:04:11 +00:00
Jan Hubicka
17796c434d * gcc.dg/autopar/pr49960.c: Disable partial inlining
From-SVN: r202297
2013-09-05 22:48:48 +00:00
Jeff Law
770da0766a tree-ssa-threadedge.c (thread_around_empty_blocks): Renamed from thread_around_empty_block.
* tree-ssa-threadedge.c (thread_around_empty_blocks): Renamed
       from thread_around_empty_block.  Record threading path into PATH.
       Recurse if threading through the initial block is successful.
       (thread_across_edge): Corresponding changes to slightly simplify.

From-SVN: r202296
2013-09-05 14:28:36 -06:00
James Greenhalgh
fe6f68e2bb [AArch64] Fix categorisation of the frecp* insns.
gcc/

	* config/aarch64/aarch64.md
	(type): Remove frecpe, frecps, frecpx.
	(aarch64_frecp<FRECP:frecp_suffix><mode>): Move to aarch64-simd.md,
	fix to be a TARGET_SIMD instruction.
	(aarch64_frecps): Remove.
	* config/aarch64/aarch64-simd.md
	(aarch64_frecp<FRECP:frecp_suffix><mode>): New, moved from aarch64.md
 	(aarch64_frecps<mode>): Handle all float/vector of float modes.

From-SVN: r202292
2013-09-05 15:53:37 +00:00
James Greenhalgh
6e4150e1d4 [AARCH64][Insn classification unification 3/N] ALU/shift types
2013-09-05  James Greenhalgh  <james.greenhalgh@arm.com>
	    Sofiane Naci  <sofiane.naci@arm.com>

	* config/arm/types.md (define_attr "type"):
	Expand "arlo_imm"
	into "adr", "alu_imm", "alus_imm", "logic_imm", "logics_imm".
	Expand "arlo_reg"
	into "adc_reg", "adc_imm", "adcs_reg", "adcs_imm", "alu_ext",
	"alu_reg", "alus_ext", "alus_reg", "bfm", "csel", "logic_reg",
	"logics_reg", "rev".
	Expand "arlo_shift"
	into "alu_shift_imm", "alus_shift_imm", "logic_shift_imm",
	"logics_shift_imm".
	Expand "arlo_shift_reg"
	into "alu_shift_reg", "alus_shift_reg", "logic_shift_reg",
	"logics_shift_reg".
	Expand "clz" into "clz, "rbit".
	Rename "shift" to "shift_imm".
	* config/arm/arm.md (define_attr "core_cycles"): Update for attribute
	changes.
	Update for attribute changes all occurrences of arlo_* and
	shift* types.
	* config/arm/arm-fixed.md: Update for attribute changes
	all occurrences of arlo_* types.
	* config/arm/thumb2.md: Update for attribute changes all occurrences
	of arlo_* types.
	* config/arm/arm.c (xscale_sched_adjust_cost):  (rtx insn, rtx
	(cortexa7_older_only): Likewise.
	(cortexa7_younger):  Likewise.
	* config/arm/arm1020e.md (1020alu_op): Update for attribute changes.
	(1020alu_shift_op): Likewise.
	(1020alu_shift_reg_op): Likewise.
	* config/arm/arm1026ejs.md (alu_op): Update for attribute changes.
	(alu_shift_op): Likewise.
	(alu_shift_reg_op): Likewise.
	* config/arm/arm1136jfs.md (11_alu_op): Update for
	attribute changes.
	(11_alu_shift_op): Likewise.
	(11_alu_shift_reg_op): Likewise.
	* config/arm/arm926ejs.md (9_alu_op): Update for attribute changes.
	(9_alu_shift_reg_op): Likewise.
	* config/arm/cortex-a15.md (cortex_a15_alu): Update for
	attribute changes.
	(cortex_a15_alu_shift): Likewise.
	(cortex_a15_alu_shift_reg): Likewise.
	* config/arm/cortex-a5.md (cortex_a5_alu): Update for
	attribute changes.
	(cortex_a5_alu_shift): Likewise.
	* config/arm/cortex-a53.md
	(cortex_a53_alu): Update for attribute changes.
	(cortex_a53_alu_shift): Likewise.
	* config/arm/cortex-a7.md
	(cortex_a7_alu_imm): Update for attribute changes.
	(cortex_a7_alu_reg): Likewise.
	(cortex_a7_alu_shift): Likewise.
	* config/arm/cortex-a8.md
	(cortex_a8_alu): Update for attribute changes.
	(cortex_a8_alu_shift): Likewise.
	(cortex_a8_alu_shift_reg): Likewise.
	* config/arm/cortex-a9.md
	(cortex_a9_dp): Update for attribute changes.
	(cortex_a9_dp_shift): Likewise.
	* config/arm/cortex-m4.md
	(cortex_m4_alu): Update for attribute changes.
	* config/arm/cortex-r4.md
	(cortex_r4_alu): Update for attribute changes.
	(cortex_r4_mov): Likewise.
	(cortex_r4_alu_shift_reg): Likewise.
	* config/arm/fa526.md
	(526_alu_op): Update for attribute changes.
	(526_alu_shift_op): Likewise.
	* config/arm/fa606te.md
	(606te_alu_op): Update for attribute changes.
	* config/arm/fa626te.md
	(626te_alu_op): Update for attribute changes.
	(626te_alu_shift_op): Likewise.
	* config/arm/fa726te.md
	(726te_alu_op): Update for attribute changes.
	(726te_alu_shift_op): Likewise.
	(726te_alu_shift_reg_op): Likewise.
	* config/arm/fmp626.md (mp626_alu_op): Update for attribute changes.
	(mp626_alu_shift_op): Likewise.
	* config/arm/marvell-pj4.md (pj4_alu): Update for attribute changes.
	(pj4_alu_conds): Likewise.
	(pj4_shift): Likewise.
	(pj4_shift_conds): Likewise.
	(pj4_alu_shift): Likewise.
	(pj4_alu_shift_conds): Likewise.
	* config/aarch64/aarch64.md: Update for attribute change
	all occurrences of arlo_* and shift* types.



Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>

From-SVN: r202291
2013-09-05 15:49:15 +00:00
Tim Shen
7c812a2a57 regex_automaton.h: Add dummy node type.
2013-09-05  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_automaton.h: Add dummy node type. Rewrite
	_StateSeq.
	* include/bits/regex_automaton.tcc: Implement them.
	* include/bits/regex_compiler.h: Rewrite _Compiler to use new
	_StateSeq interfaces.
	* include/bits/regex_compiler.tcc: Implement them.
	* include/bits/regex_scanner.h: Add word boundry assertion token.
	* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
	Support word boundry.
	* testsuite/28_regex/algorithms/regex_match/basic/
	string_range_02_03.cc: Remove "xfail".
	* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
	Likewise.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_range_02_03.cc: Likewise.
	* testsuite/28_regex/algorithms/regex_match/extended/
	cstring_questionmark.cc: Remove xfail and get correct length of
	c-string.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_range_00_03.cc: Likewise.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
	New.
	* testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
	New.
	* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.

From-SVN: r202290
2013-09-05 15:20:39 +00:00
Mike Stump
e6523306de tree.h: Move documentation for tree_function_decl to tree-core.h with the declaration.
* tree.h: Move documentation for tree_function_decl to tree-core.h
	with the declaration.

From-SVN: r202289
2013-09-05 14:52:50 +00:00
Peter Bergner
80a1816100 re PR target/58139 (PowerPC volatile VSX register live across call)
PR target/58139
	* reginfo.c (choose_hard_reg_mode): Scan through all mode classes
	looking for widest mode.

From-SVN: r202286
2013-09-05 09:09:07 -05:00
Eric Botcazou
6994430ae0 * config.gcc (*-*-vxworks*): Do not override an existing extra_objs.
From-SVN: r202284
2013-09-05 13:54:35 +00:00
Richard Biener
e67f39f7c9 re PR tree-optimization/58137 ([trunk, ICE] full unroll + AVX2 vectorization)
2013-09-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58137
	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
	Do not create vectors of pointers.
	* tree-vect-loop.c (get_initial_def_for_induction): Use proper
	types for the components of the vector initializer.
	* tree-cfg.c (verify_gimple_assign_binary): Remove special-casing
	allowing pointer vectors with PLUS_EXPR/MINUS_EXPR.

	* gcc.target/i386/pr58137.c: New testcase.

From-SVN: r202282
2013-09-05 12:45:20 +00:00
Martin Jambor
568cda29c5 ipa-prop.c (remove_described_reference): Accept missing references, return false if that hppens, otherwise return true.
2013-09-05  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (remove_described_reference): Accept missing references,
	return false if that hppens, otherwise return true.
	(cgraph_node_for_jfunc): New function.
	(try_decrement_rdesc_refcount): Likewise.
	(try_make_edge_direct_simple_call): Use them.
	(ipa_edge_removal_hook): Remove references from rdescs.
	(ipa_edge_duplication_hook): Clone rdescs and their references
	when the new edge has the same caller as the old one.
	* cgraph.c (cgraph_resolve_speculation): Remove speculative
	reference before removing any edges.

testsuite/
	* g++.dg/ipa/remref-1.C: New test.
	* g++.dg/ipa/remref-2.C: Likewise.

From-SVN: r202281
2013-09-05 14:41:16 +02:00
Richard Earnshaw
5a200acb05 arm.c (thumb2_emit_strd_push): Rewrite to use pre-decrement on initial store.
* arm.c (thumb2_emit_strd_push): Rewrite to use pre-decrement on
	initial store.
	* thumb2.md (thumb2_storewb_parisi): New pattern.

From-SVN: r202279
2013-09-05 12:37:29 +00:00