Commit Graph

137851 Commits

Author SHA1 Message Date
Eric Botcazou 2a877204be c-ada-spec.c (in_function): Delete.
* c-ada-spec.c (in_function): Delete.
	(dump_generic_ada_node): Do not change in_function and remove the
	redundant code dealing with it.
	(print_ada_declaration): Do not change in_function.  Use INDENT_INCR.
	(print_ada_methods): Output the static member functions in a nested
	package after the regular methods as well as associated renamings.

Co-Authored-By: Pierre-Marie de Rodat <derodat@adacore.com>

From-SVN: r222517
2015-04-28 08:54:07 +00:00
Tom de Vries 0e8623e9c6 Fix example in header comment in tree-call-cdce.c
2015-04-28  Tom de Vries  <tom@codesourcery.com>

	* tree-call-cdce.c: Fix example in header comment.

From-SVN: r222516
2015-04-28 08:46:37 +00:00
Marek Polacek 4e81b788bb re PR c/65901 (no warning or error for va_arg (ap, void))
PR c/65901
	* c-typeck.c (c_build_va_arg): Require TYPE be a complete type.

	* gcc.c-torture/compile/pr48767.c (foo): Add dg-error.
	* gcc.dg/pr65901.c: New test.

From-SVN: r222515
2015-04-28 08:36:50 +00:00
Richard Biener 90dd6e3df8 re PR fortran/62283 (basic-block vectorization fails)
2015-04-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62283
	* tree-vect-slp.c (vect_build_slp_tree): When the SLP build
	fails fatally and we are vectorizing a basic-block simply
	cause the child to be constructed piecewise.
	(vect_analyze_slp_cost_1): Adjust.
	(vect_detect_hybrid_slp_stmts): Likewise.
	(vect_bb_slp_scalar_cost): Likewise.
	(vect_get_constant_vectors): For piecewise constructed
	constants place them after the last def.
	(vect_get_slp_defs): Adjust.
	* tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
	externals for basic-block vectorization.

	* gfortran.dg/vect/pr62283-2.f: New testcase.
	* gcc.dg/vect/bb-slp-14.c: Adjust.

From-SVN: r222514
2015-04-28 08:30:44 +00:00
Thomas Preud'homme fde9b31b61 re PR target/63503 ([AArch64] A57 executes fused multiply-add poorly in some situations)
2015-04-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR target/63503
    * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
    aarch64-*-*.
    * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
    * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
    (AARCH64_TUNE_FMA_STEERING): Likewise.
    * config/aarch64/aarch64-cores.def: Set
    AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
    FMUL/FMADD instructions.
    * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
    (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
    aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
    * config/aarch64/cortex-a57-fma-steering.h: New file.
    * config/aarch64/cortex-a57-fma-steering.c: Likewise.

From-SVN: r222512
2015-04-28 08:10:44 +00:00
Richard Sandiford 0060d7d71e gensupport.c (std_preds): Add missing codes to address_operand entry.
gcc/
	* gensupport.c (std_preds): Add missing codes to address_operand entry.

From-SVN: r222511
2015-04-28 07:46:40 +00:00
Richard Biener 85ebc1938f re PR c++/65851 (ice in set_lattice_value at tree-ssa-cc p.c:535)
2015-04-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/65851
	* tree-ssa-ccp.c (set_lattice_value): Perform a meet when
	changing CONSTANT to CONSTANT non-copy.  Get new_val by reference.
	(ccp_lattice_meet): Remove stray argument.  Use operand_equal_p
	rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
	(ccp_visit_phi_node): Adjust.
	(evaluate_stmt): For simplifications to SSA names return its
	lattice value if that isn't VARYING.  Return immediately when
	simplified to a constant.
	(visit_assignment): Adjust.
	(ccp_visit_stmt): Likewise.

	* g++.dg/torture/pr65851.C: New testcase.

From-SVN: r222510
2015-04-28 07:26:41 +00:00
Tom de Vries a66dfffdb8 Evaluate side-effects in expand_ifn_va_arg_1
2015-04-28  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65818
	* tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
	evaluated.

From-SVN: r222509
2015-04-28 06:05:14 +00:00
Trevor Saunders 6dad93619e remove #if ARGS_GROW_DOWNWARD
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* calls.c (save_fixed_argument_area): Don't check
	ARGS_GROW_DOWNWARD with the preprocessor.
	(restore_fixed_argument_area): Likewise.
	(mem_overlaps_already_clobbered_arg_p): Likewise.
	(check_sibcall_argument_overlap): Likewise.
	(expand_call): Likewise.
	(emit_library_call_value_1): Likewise.
	(store_one_arg): Likewise.
	* function.c (assign_parms): Likewise.
	(locate_and_pad_parm): Likewise.
	(pad_to_arg_alignment): Likewise.
	* targhooks.c (std_gimplify_va_arg_expr): Likewise.

From-SVN: r222508
2015-04-28 04:47:09 +00:00
Trevor Saunders 376bddabe1 always define ARGS_GROW_DOWNWARD
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
	* defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
	* calls.c (save_fixed_argument_area): Don't chekc if
	ARGS_GROW_DOWNWARD is defined.
	(restore_fixed_argument_area): Likewise.
	(mem_overlaps_already_clobbered_arg_p): Likewise.
	(check_sibcall_argument_overlap): Likewise.
	(expand_call): Likewise.
	(emit_library_call_value_1): Likewise.
	(store_one_arg): Likewise.
	* function.c (assign_parms): Likewise.
	(locate_and_pad_parm): Likewise.
	(pad_to_arg_alignment): Likewise.
	* targhooks.c (std_gimplify_va_arg_expr): Likewise.

From-SVN: r222507
2015-04-28 04:46:20 +00:00
Trevor Saunders 5251b8b350 always define HAVE_epilogue
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_epilogue): New function.
(HAVE_epilogue): Add default definition to false.
	* alias.c (init_alias_analysis): don't check if HAVE_epilogue is
	defined.
	* cfgrtl.c (cfg_layout_finalize): Likewise.
	* df-scan.c: Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.
	(reposition_prologue_and_epilogue_notes): Likewise.
	* reorg.c (find_end_label): Likewise.
	* toplev.c: Likewise.

From-SVN: r222506
2015-04-28 04:45:12 +00:00
Trevor Saunders 08b7ff1e1d always define HAVE_simple_return and HAVE_return
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* bb-reorder.c (HAVE_return): Don't check if its undefined.
	* defaults.h (gen_simple_return): New function.
	(gen_simple_return): Likewise.
	(HAVE_return): Add default definition to false.
	(HAVE_simple_return): Likewise.
	* cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
	HAVE_return and HAVE_simple_return are defined.
	* function.c (gen_return_pattern): Likewise.
	(convert_jumps_to_returns): Likewise.
	(thread_prologue_and_epilogue_insns): Likewise.
	* reorg.c (find_end_label): Likewise.
	(dbr_schedule): Likewise.
	* shrink-wrap.c: Likewise.
	* shrink-wrap.h: Likewise.

From-SVN: r222505
2015-04-28 04:44:09 +00:00
Trevor Saunders a3699d669a add default for EPILOGUE_USES
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (EPILOGUE_USES): Add default definition of false.
	* df-scan.c (EPILOGUE_USES): Remove check if its undefined.
	* resource.c (init_resource_info): Likewise.

From-SVN: r222504
2015-04-28 04:43:12 +00:00
Trevor Saunders 1d0275e2bb add default for PCC_BITFIELD_TYPE_MATTERS
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
	to false.
	* dwarf2out.c (field_byte_offset): REmove check if
	PCC_BITFIELD_TYPE_MATTERS is defined.
	* stor-layout.c (layout_decl): Likewise.
	(update_alignment_for_field): Likewise.
	(place_field): Likewise.

gcc/cp/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* class.c (layout_class_type): Remove check if
	PCC_BITFIELD_TYPE_MATTERS is defined.

From-SVN: r222503
2015-04-28 04:42:04 +00:00
Trevor Saunders aedf2c0283 add default for HARD_REGNO_RENAME_OK
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
	true.
	* regrename.c (check_new_reg_p): Remove check if
	HARD_REGNO_RENAME_OK is defined.
	* sel-sched.c (sel_hard_regno_rename_ok): Likewise.

From-SVN: r222502
2015-04-28 04:40:43 +00:00
Trevor Saunders 1e8552c2ee add default for NO_FUNCTION_CSE
gcc/ChangeLog:

2015-04-27  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
	* cse.c (fold_rtx): Likewise.
	* config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
	* config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
	* config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
	* config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
	* config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
	* config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
	* config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
	* config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
	* config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
	* config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
	* Likewise.
	* config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
	* config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
	* config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
	* config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
	* config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
	* config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
	* config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
	* config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
	* config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
	* config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
	* config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
	* config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
	* defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
	either true or false.

From-SVN: r222501
2015-04-28 04:40:00 +00:00
Tim Shen e4846be7dd regex.tcc: Handle regex_constants::__polynomial.
* include/bits/regex.tcc: Handle regex_constants::__polynomial.
	* include/bits/regex_automaton.tcc: Throw exception when parsing
	back-reference with flag __polynomial.
	* include/bits/regex_constants.h: Add extension flag
	syntax_option_type __polynomial.
	* bits/regex_executor.tcc: Still let BFS process ECMAScript.
	Alternative operation will be fixed in the coming refactoring.
	* testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
	loose match_search_debug to use DFS only.

From-SVN: r222500
2015-04-28 04:16:48 +00:00
Jeff Law 009b7fc187 re PR tree-optimization/65217 (__builtin_unreachable in if statement causes bad assembly generation)
PR tree-optimization/65217
	* tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
	of them has a single use, make sure it is the LHS of the implied
	copy.

        PR tree-optimization/65217
	* gcc.target/i386/pr65217.c: Remove XFAIL.

From-SVN: r222499
2015-04-27 22:01:28 -06:00
Alan Modra 3954ead0d8 re PR target/65810 (powerpc64 alignment of r2 insufficient for loading long-double constants)
PR target/65810
	* config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
	(offsettable_ok_by_alignment): Use minimum of decl and toc
	pointer alignment.  Replace dead code with assertion.
	(use_toc_relative_ref): Add mode arg.  Return false in -mcmodel=medium
	case if size exceeds toc pointer alignment.
	(rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
	(rs6000_emit_move): Likewise.
	* configure.ac: Add linker toc pointer alignment check.
	* configure: Regenerate.
	* config.in: Regenerate.

From-SVN: r222498
2015-04-28 13:17:19 +09:30
Sandra Loosemore 1a9f259288 re PR libstdc++/65909 (check_v3_target_namedlocale blows up on targets that don't support command-line arguments)
2015-04-27  Sandra Loosemore  <sandra@codesourcery.com>

	PR libstdc++/65909

	libstdc++-v3/
	* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
	Make the generated test program fail gracefully if the target
	doesn't	support passing command-line arguments.

From-SVN: r222497
2015-04-27 22:40:56 -04:00
GCC Administrator 227f190afb Daily bump.
From-SVN: r222496
2015-04-28 00:16:22 +00:00
Jim Wilson 46bf0b0a60 Makefile-lan.in (ada.mostlyclean): Remove gnatbind and gnat1.
ada/
* gcc-interface/Makefile-lan.in (ada.mostlyclean): Remove gnatbind
and gnat1.
cp/
* Make-lang.in (c++.mostlyclean): Remove xg++, g++-cross, and cc1plus.
fortran/
* Make-lang.in (fortran.mostlyclean): Remove gfortran and
gfortran-cross.
go/
* Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
jit/
* Make-lang.in (jit.mostlyclean): Remove shared libraries and object
files.
objc/
* Make-lang.in (objc.mostlyclean): Remove cc1obj.
objcp/
* Make-lang.in (obj-c++.mostlyclean): Remove cc1objplus.

From-SVN: r222492
2015-04-27 15:59:06 -07:00
Federico Lenarduzzi 03e73da676 eh_catch.cc (uncaught_exception, [...]): Return false or zero if the library is built without exceptions.
2015-04-27  Federico Lenarduzzi  <federico.lenarduzzi@tallertechnologies.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
	Return false or zero if the library is built without exceptions.
	* libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
	the library is built without exceptions.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r222484
2015-04-27 22:06:17 +01:00
Ville Voutilainen 913ae610c2 gnu.ver: Fix comment.
2015-04-27  Ville Voutilainen  <ville.voutilainen@gmail.com>

	* config/abi/pre/gnu.ver: Fix comment.

From-SVN: r222483
2015-04-27 21:52:14 +01:00
Ville Voutilainen 03a16cc404 Add support for std::uncaught_exceptions.
2015-04-27  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Add support for std::uncaught_exceptions.
	* acinclude.m4: Bump libtool_VERSION.
	* config/abi/pre/gnu.ver: Export the new symbol.
	* configure: Regenerate.
	* libsupc++/eh_catch.cc (uncaught_exceptions): New.
	* libsupc++/exception (uncaught_exceptions): New.
	* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
	* testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.

From-SVN: r222482
2015-04-27 21:40:29 +01:00
Dmitry Prokoptsev f5eedc3915 re PR libstdc++/62258 (uncaught_exception() equals to `true' after rethrow_exception())
2015-04-27  Dmitry Prokoptsev  <dprokoptsev@gmail.com>
	    Michael Hanselmann  <public@hansmi.ch>

	PR libstdc++/62258
	* libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
	uncaught exceptions.
	* testsuite/18_support/exception_ptr/62258.cc: New.

Co-Authored-By: Michael Hanselmann <public@hansmi.ch>

From-SVN: r222480
2015-04-27 20:44:30 +01:00
Yoshinori Sato 2f6bd6eb67 config.gcc: Add h8300-*-linux.
gcc/
	* config.gcc: Add h8300-*-linux.
	* config/h8300/linux.h: New.
	* config/h8300/t-linux: New.
	* config/h8300/h8300.c (h8300_option_override): Normal mode
	is not supported for h8300-*-linux.
	(h8300_file_start): Target priority change.
	(get_shift_alg): Likewise.
	(h8300_shift_need_scratch_p): Likewise.
	* config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
	* config/h8300/h8300.md (define_peephole2): Remove duplicate condition.

libgcc/

	* config.host: Add h8300-*-linux
	* config/h8300/t-linux: New file.
	* config/h8300/lib1funs.s: Change symbol prefix.
	* config/h8300/sfp-machine.h: 64bit double support.

From-SVN: r222479
2015-04-27 13:16:27 -06:00
Andre Vehreschild d5302f06b8 re PR fortran/60322 ([OOP] Incorrect bounds on polymorphic dummy array)
2015-04-27  Andre Vehreschild  <vehre@gmx.de>

        PR fortran/60322
        Add tests forgotten to svn-add.
        * gfortran.dg/class_allocate_19.f03: New test.
        * gfortran.dg/class_array_20.f03: New test.
        * gfortran.dg/class_array_21.f03: New test.
        * gfortran.dg/finalize_29.f08: New test.

From-SVN: r222478
2015-04-27 19:41:01 +02:00
Andre Vehreschild fc7d0afb9c re PR fortran/59678 ([F03] Segfault on equalizing variables of a complex derived type)
gcc/fortran
2015-04-27  Andre Vehreschild  <vehre@gmx.de>

        PR fortran/59678
        PR fortran/65841
        * trans-array.c (duplicate_allocatable): Fixed deep copy of
        allocatable components, which are liable for copy only, when
        they are allocated.
        (gfc_duplicate_allocatable): Add deep-copy code into if
        component allocated block. Needed interface change for that.
        (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
        add into if-block for checking whether a component was
        allocated.
        (gfc_duplicate_allocatable_nocopy): Likewise.
        (structure_alloc_comps): Likewise.
        * trans-array.h: Likewise.
        * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
        * trans-openmp.c (gfc_walk_alloc_comps): Likewise.

gcc/testsuite
2015-04-27  Andre Vehreschild  <vehre@gmx.de>

        PR fortran/59678
        PR fortran/65841
        * gfortran.dg/alloc_comp_deep_copy_1.f03: New test.
        * gfortran.dg/alloc_comp_deep_copy_2.f03: New test.

From-SVN: r222477
2015-04-27 19:34:11 +02:00
Caroline Tice 16d710b164 Give proper type and size to named cold partitions.
2015-04-27  Caroline Tice  <cmtice@google.com>

	* final.c (final_scan_insn):  Output cold_function_nmae as function
	type.
	* varasm.c (cold_function_name):  Make gloval.
	(assemble_start_function):  Re-set cold_function_name.
	(assemble_end_function): Output cold partition size.
	* varasm.h (cold_fun ction_name):  Declare global.

2015-04-27  Caroline Tice  <cmtice@google.com>

	* gcc.dg/tree-prof/cold_partition_label.c (main): Check for cold
	partition size.

From-SVN: r222473
2015-04-27 09:44:35 -07:00
Ilya Tocar 0a48088a0b i386.h (EXT_REX_SSE_REG_P): New.
2015-04-27  Ilya Tocar  <ilya.tocar@intel.com>

	* config/i386/i386.h (EXT_REX_SSE_REG_P): New.
	* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
	constraint.
	(*movxi_internal_avx512f): Ditto.
	(define_split): Check for xmm16+, when splitting scalar float_extend.
	(*extendsfdf2_mixed): Use "v" constraint.
	(define_split): Check for xmm16+, when splitting scalar float_truncate.
	(*truncdfsf_fast_sse): Use "v" constraint.
	(fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
	(*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
	(define_peephole2): Check for xmm16+, when converting scalar
	float_truncate.
	(define_peephole2): Check for xmm16+, when converting scalar
	float_extend.
	(*fop_<mode>_comm_mixed): Use "v" constraint.
	(*fop_<mode>_comm_sse): Ditto.
	(*fop_<mode>_1_mixed): Ditto.
	(*sqrt<mode>2_sse): Ditto.
	(*ieee_s<ieee_maxmin><mode>3): Ditto.

From-SVN: r222470
2015-04-27 18:24:48 +03:00
Steven Noonan 8abf301803 configure.ac: Drop AC_PROG_CXX and friends, since libmpx has no C++ sources.
libmpx/

	* configure.ac: Drop AC_PROG_CXX and friends, since libmpx has no C++
	sources.
	* configure: Regenerate.

From-SVN: r222469
2015-04-27 15:02:46 +00:00
Kyrylo Tkachov fefcf53279 [combine][obvious] Use std::swap instead of manually swapping
* combine.c (simplify_if_then_else): Use std::swap instead
	of manually swapping.
	(known_cond): Likewise.
	(simplify_comparison): Likewise.

From-SVN: r222468
2015-04-27 14:56:10 +00:00
Peter Bergner 01f61a78c6 re PR target/64579 (__TM_end __builtin_tend failed to return transactional state)
gcc/
	PR target/64579
	* config/rs6000/htm.md: Remove all define_expands.
	(UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
	UNSPECV_HTM_TABORTWCI): Remove.
	(UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
	(tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
	trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
	(tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
	(tabortdc_internal, tabortdci_internal, tabortwc_internal,
	tabortwci_internal): Remove define_insns.
	(tabort<wd>c, tabort<wd>ci): New define_insns.
	(tabort): Use gpc_reg_operand.
	(tcheck): Remove operand.
	(htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
	* config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
	expected value.
	* config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
	(BU_HTM_SPR1): Rename to BU_HTM_V1.  Remove use of RS6000_BTC_SPR.
	(tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
	tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
	tsr, ttest): Pass in the RS6000_BTC_CR attribute.
	(get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
	get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
	(tcheck): Remove builtin argument.
	* config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
	not TARGET_64BIT.
	(htm_expand_builtin): Fix usage of expandedp.  Disallow usage of the
	tabortdc and tabortdci builtins when not in 64-bit mode.
	Modify code to handle the loss of the HTM define_expands.
	Emit code to copy the CR register to TARGET.
	(htm_init_builtins): Modify code to handle the loss of the HTM
	define_expands.
	* config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
	(RS6000_BTC_64BIT): Likewise.
	(RS6000_BTC_CR): New macro.
	* doc/extend.texi: Update documentation for htm builtins.

gcc/testsuite/

	PR target/64579
	* gcc.target/powerpc/htm-1.c: New test.
	* gcc.target/powerpc/htm-builtin-1.c (__builtin_tabortdc): Only test
	on 64-bit compiles.
	(__builtin_tabortdci): Likewise.
	(__builtin_tcheck): Remove operand.
	* lib/target-supports.exp (check_htm_hw_available): New function.

From-SVN: r222467
2015-04-27 09:52:50 -05:00
Kyrylo Tkachov e2be0590fc [simplify-rtx][trivial] Use std::swap instead of manually swapping
* simplify-rtx.c (simplify_gen_binary): Use std::swap instead
	of manually swapping.
	(simplify_associative_operation): Likewise.
	(simplify_binary_operation): Likewise.
	(simplify_plus_minus): Likewise.
	(simplify_relational_operation): Likewise.
	(simplify_ternary_operation): Likewise.

From-SVN: r222465
2015-04-27 13:45:26 +00:00
Richard Sandiford 60a4dfd65e predicates.md (xs_hi_general_operand): Delete.
gcc/
	* config/stormy16/predicates.md (xs_hi_general_operand): Delete.
	(xs_hi_nonmemory_operand): Remove error.
	* config/stormy16/stormy16.md (movhi, movhi_internal): Use
	general_operand rather than xs_hi_general_operand.

From-SVN: r222464
2015-04-27 13:25:56 +00:00
Richard Biener 05b7b5a4a1 tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
2015-04-27  Richard Biener  <rguenther@suse.de>

	* tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
	(record_equivalences_from_stmt): Valueize rhs.
	(record_equality): Canonicalize x and y order via
	tree_swap_operands_p.  Do not swap operands for same loop depth.

	* gcc.target/i386/pr65217.c: XFAIL.

From-SVN: r222463
2015-04-27 12:46:58 +00:00
Jonathan Wakely 991607ab25 extensions.xml: Add cross-reference.
* doc/xml/manual/extensions.xml: Add cross-reference.
	* doc/html/manual/ext_compile_checks.html: Regenerate.

From-SVN: r222462
2015-04-27 13:30:26 +01:00
Georg-Johann Lay 2e3a3cc869 re PR target/65296 ([avr] fix various issues with specs file generation)
PR target/65296
	PR target/65895
	* config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
	Add hint how to use own spec file.

From-SVN: r222459
2015-04-27 11:43:20 +00:00
Jakub Jelinek 9c3cb36079 re PR tree-optimization/65875 (ICE: Segmentation fault)
PR tree-optimization/65875
	* tree-vrp.c (update_value_range): If in is_new case setting
	old_vr to VR_VARYING, also set new_vr to it.  Remove
	old_vr->type == VR_VARYING test.
	(vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
	SSA_PROP_INTERESTING if update_value_range returned true,
	but new range is VR_VARYING.

	* gcc.c-torture/compile/pr65875.c: New test.

From-SVN: r222458
2015-04-27 13:26:12 +02:00
Thomas Preud'homme 97d87f7502 combine.c (sign_extend_short_imm): New.
2015-04-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * combine.c (sign_extend_short_imm): New.
    (set_nonzero_bits_and_sign_copies): Use above new function for sign
    extension of src short immediate.
    (reg_nonzero_bits_for_combine): Likewise for tem.

From-SVN: r222457
2015-04-27 11:02:34 +00:00
Eric Botcazou 232f1f97ad stor-layout.c (self_referential_component_ref_p): New predicate.
* stor-layout.c (self_referential_component_ref_p): New predicate.
	(copy_self_referential_tree_r): Use it.
	(self_referential_size): Punt for simple operations directly involving
	self-referential component references.
	* tree-cfg.c (dump_function_to_file): Add missing final curly bracket.

From-SVN: r222456
2015-04-27 10:29:07 +00:00
Eric Botcazou e5115cf9bc * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
From-SVN: r222455
2015-04-27 10:10:47 +00:00
Richard Sandiford 9e3a513193 vec.h (vec): Make splice arguments const.
gcc/
	* vec.h (vec): Make splice arguments const.  Update definitions
	accordingly.

From-SVN: r222454
2015-04-27 09:55:21 +00:00
Yvan Roux c55d8b0bee arm.md (*arm_subsi3_insn): Fixed redundant alternatives.
2015-04-27  Yvan Roux  <yvan.roux@linaro.org>

	* config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
	alternatives.

From-SVN: r222453
2015-04-27 09:08:11 +00:00
GCC Administrator 70581f5a90 Daily bump.
From-SVN: r222452
2015-04-27 00:16:19 +00:00
Tom de Vries b8b2ab0621 Mark ifn_va_arg as ECF_LEAF
2015-04-26  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65826
	* internal-fn.def: Mark VA_ARG with ECF_LEAF.

From-SVN: r222446
2015-04-26 07:13:13 +00:00
GCC Administrator 822f686d3f Daily bump.
From-SVN: r222444
2015-04-26 00:16:22 +00:00
Marek Polacek 6c1db78eca re PR c/52085 (incomplete enum not completed correctly if packed was used)
PR c/52085
	* c-decl.c (finish_enum): Copy over TYPE_ALIGN.  Also check for "mode"
	attribute.

	* gcc.dg/enum-incomplete-2.c: New test.
	* gcc.dg/enum-mode-1.c: New test.

From-SVN: r222440
2015-04-25 10:12:01 +00:00
GCC Administrator 5962171edd Daily bump.
From-SVN: r222438
2015-04-25 00:16:18 +00:00