Commit Graph

140706 Commits

Author SHA1 Message Date
Bill Schmidt
babb13f5cc rs6000.c (swap_web_entry): Enlarge special_handling bitfield.
[gcc]

2015-08-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (swap_web_entry): Enlarge
	special_handling bitfield.
	(special_handling_values): Add SH_XXPERMDI and SH_CONCAT.
	(rtx_is_swappable_p): Add handling for vec_select/vec_concat form
	that represents a general xxpermdi.
	(insn_is_swappable_p): Add handling for vec_concat of two
	doublewords, which maps to a specific xxpermdi.
	(adjust_xxpermdi): New function.
	(adjust_concat): Likewise.
	(handle_special_swappables): Call adjust_xxpermdi and
	adjust_concat.
	(dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT.

[gcc/testsuite]

2015-08-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/swaps-p8-19.c: New test.

From-SVN: r227331
2015-08-31 01:02:47 +00:00
Rich Felker
5ba02681ad [SH] config.gcc (supported_defaults): Handle sh[123456ble]*-*-* instead of sh[123456ble]-*-*.
* [SH] config.gcc (supported_defaults): Handle sh[123456ble]*-*-* instead of sh[123456ble]-*-*.

From-SVN: r227330
2015-08-31 00:18:32 +00:00
GCC Administrator
84fb4366d1 Daily bump.
From-SVN: r227329
2015-08-31 00:16:17 +00:00
GCC Administrator
dff8e6abba Daily bump.
From-SVN: r227326
2015-08-30 00:16:14 +00:00
Markus Trippelsdorf
ce96573023 Fix c++/67371 (issues with throw in constexpr)
As PR67371 shows gcc currently rejects all throw statements in
constant-expressions, even when they are never executed.

	PR c++/67371
	* constexpr.c (potential_constant_expression_1): Remove IF_STMT
	case. Move label to COND_EXPR case. Remove checking of
	SWITCH_STMT_BODY.

From-SVN: r227323
2015-08-29 18:51:26 +00:00
Jerry DeLisle
04ffad3532 re PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN()ed without error)
2015-08-29 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/67367
	* gfortran.dg/read_dir.f90: New test. May fail on some platforms.

From-SVN: r227321
2015-08-29 15:52:43 +00:00
Jerry DeLisle
7c32549e57 re PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN()ed without error)
2015-08-29 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/67367
	* io/unix.c (buf_read): Check for error condition and if found
	return the error code.

From-SVN: r227320
2015-08-29 15:38:39 +00:00
Francois-Xavier Coudert
4879fba998 acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
* acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
	* configure.ac: Remove checks for strcasestr, execl, close,
	getrlimit, readlink, getppid, powl, erfl, j0l, j1l, y0l, y1l,
	tgammal, and lgammal.
	* config.h.in: Regenerate.
	* configure: Regenerate.

From-SVN: r227319
2015-08-29 13:17:05 +00:00
Anatoly Sokolov
89e944703f Remove redundant use of REG_CLASS_NAMES maros
From-SVN: r227318
2015-08-29 16:10:43 +03:00
Francois-Xavier Coudert
34ae233a54 * io/unix.c (min): Remove unused macro.
From-SVN: r227317
2015-08-29 13:01:54 +00:00
Francois-Xavier Coudert
107051a502 trans.c (gfc_call_malloc, [...]): Simplify code.
* trans.c (gfc_call_malloc, gfc_allocate_using_malloc,
	gfc_allocate_using_lib, gfc_allocate_allocatable,
	gfc_call_realloc): Simplify code.
	* trans-array.c (gfc_trans_allocate_array_storage,
	gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not
	convert gfc_call_free() argument.
	* trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call,
	fcncall_realloc_result): Likewise.
	* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise.

From-SVN: r227316
2015-08-29 08:03:01 +00:00
Tom de Vries
3ff2d74e9c Handle mix/max pointer reductions in parloops
2015-08-29  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/46193
	* omp-low.c (omp_reduction_init): Handle pointer type for min or max
	clause.

	* gcc.dg/autopar/pr46193.c: New test.

	* testsuite/libgomp.c/pr46193.c: New test.

From-SVN: r227315
2015-08-29 07:07:51 +00:00
GCC Administrator
40e1e8d7b9 Daily bump.
From-SVN: r227314
2015-08-29 00:16:11 +00:00
Francois-Xavier Coudert
8b40ca6a38 re PR fortran/53668 (Cray-pointer diagnostic enhancement)
PR fortran/53668

	* intrinsic.c (add_functions, add_subroutines): Remove resolution
	functions for FREE and MALLOC.
	* intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove.
	* iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove.
	* trans-intrinsic.c (conv_intrinsic_free,
	gfc_conv_intrinsic_malloc): New functions.

	* intrinsics/malloc.c: Adapt comments.

From-SVN: r227311
2015-08-28 20:46:43 +00:00
Nathan Sidwell
9a2b17c9dd struct-layout-1_generate.c: Simply use exit code for failure.
* gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c: Simply
	use exit code for failure.

From-SVN: r227310
2015-08-28 19:52:28 +00:00
Nathan Sidwell
c5a0d29967 matrix-1.c: Use plain printf.
* gcc/testsuite/gcc.dg/torture/matrix-1.c: Use plain printf.
	* gcc/testsuite/gcc.dg/torture/matrix-2.c: Likewise.
	* gcc/testsuite/gcc.dg/torture/matrix-5.c: Likewise.
	* gcc/testsuite/gcc.dg/torture/matrix-6.c: Likewise.
	* gcc/testsuite/gcc.dg/torture/transpose-1.c: Likewise.
	* gcc/testsuite/gcc.dg/torture/transpose-2.c: Likewise.
	* gcc/testsuite/gcc.dg/torture/transpose-3.c: Likewise.
	* gcc/testsuite/gcc.dg/torture/transpose-4.c: Likewise.
	* gcc/testsuite/gcc.dg/torture/transpose-5.c: Likewise.
	* gcc/testsuite/gcc.dg/torture/transpose-6.c: Likewise.

From-SVN: r227309
2015-08-28 19:04:45 +00:00
Jeff Law
636351f90f [PATCH][lto/66752] Fix missed FSM jump thread
PR lto/66752
	* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
	unable to find X NE 0 in the tables, return X as the simplified
	condition.
	(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
	in VISISTED_BBS, then return failure.  Else add nodes from NEXT_PATH
	to VISISTED_BBS.
	* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
	after removing the control flow statement and unnecessary edges.

	PR lto/66752
	* gcc.dg/tree-ssa/pr66752-2.c: New test.
	* gcc.dg/torture/pr66752-1.c: New test
	* g++.dg/torture/pr66752-2.C: New test.

From-SVN: r227307
2015-08-28 10:23:12 -06:00
Alan Lawrence
ba60d5c3d5 Revert: completely_scalarize arrays as well as records
gcc/:
	Revert:
	2015-08-27  Alan Lawrence  <alan.lawrence@arm.com>
		PR tree-optimization/67283
		* tree-sra.c (type_consists_of_records_p): Rename to...
		(scalarizable_type_p): ...this, add case for ARRAY_TYPE.

		(completely_scalarize_record): Rename to...
		(completely_scalarize): ...this, add ARRAY_TYPE case, move some
		 code to:
		(scalarize_elem): New.

gcc/testsuite/:

	Revert:
	2015-08-27  Alan Lawrence  <alan.lawrence@arm.com>
		* gcc.dg/tree-ssa/sra-15.c: New.

From-SVN: r227303
2015-08-28 15:04:17 +00:00
James Greenhalgh
bd459d0b1d [Patch] Add to the libgfortran/newlib bodge to "detect" ftruncate support in ARM/AArch64/SH
* configure.ac: Auto-detect newlib function support unless we
	know there are issues when configuring for a host.
	* configure: Regenerate.

From-SVN: r227301
2015-08-28 14:57:57 +00:00
Andrew Bennett
51fcc51321 MIPS: Add the lo register to the clobber list in the madd-8.c and msub-8.c testcases.
The lo register is not listed in the clobber list in the inline asm statement
for the madd-8.c and msub-8.c testcases.  This means that when building for the
n64 ABI GCC is free to use the lo register instead of the stack when 
saving/restoring the clobbered registers.  Then then means that it decides to 
use the msub/madd instruction to perform the "x - y * z" operation rather than 
using mul; addu/subu which the test is looking for.

testsuite/
	* gcc.target/mips/madd-8.c: Add lo register to clobber list. 
	* gcc.target/mips/msub-8.c: Ditto.

From-SVN: r227299
2015-08-28 13:35:01 +00:00
David Sherwood
3726332a0b MAINTAINERS: Add myself.
2015-08-28  David Sherwood  <david.sherwood@arm.com>

	* MAINTAINERS: Add myself.

From-SVN: r227297
2015-08-28 10:11:27 +00:00
Jiong Wang
79496620fa [AArch64] Rename SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE
2015-08-28  Jiong Wang  <jiong.wang@arm.com>

	* config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename
	SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE.
	(aarch64_symbol_type): Likewise.
	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
	Likewise.
	(aarch64_expand_mov_immediate): Likewise.
	(aarch64_print_operand): Likewise.
	(aarch64_classify_tls_symbol): Likewise.

From-SVN: r227294
2015-08-28 08:53:37 +00:00
Richard Biener
9ba01f8204 cgraphunit.c (symbol_table::compile): Move early debug generation and finish...
2015-08-28  Richard Biener  <rguenther@suse.de>

	* cgraphunit.c (symbol_table::compile): Move early debug generation
	and finish...
	(symbol_table::finalize_compilation_unit): ... back here and
	add a !seen_error () guard.

From-SVN: r227293
2015-08-28 07:47:37 +00:00
Tim Shen
cae4063cea re PR libstdc++/67362 (std::regex("((.)", std::regex_constants::basic) throws)
PR libstdc++/67362
	* include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
	Always returns ordinary char token if the char isn't
	considered a special char.
	* testsuite/28_regex/regression.cc: New test file for collecting
	regression testcases from, typically, bugzilla.

From-SVN: r227289
2015-08-28 02:35:21 +00:00
GCC Administrator
88df0b5747 Daily bump.
From-SVN: r227288
2015-08-28 00:16:12 +00:00
Ian Lance Taylor
b281000393 compiler: Report unused variables initialized to function literals.
Fixes golang/go#12317.
    
    Reviewed-on: https://go-review.googlesource.com/13908

From-SVN: r227285
2015-08-27 23:09:37 +00:00
Ian Lance Taylor
26343eaf9d compiler: Allow multiple blank label definitions.
Fixes golang/go#12316.
    
    Reviewed-on: https://go-review.googlesource.com/13907

From-SVN: r227284
2015-08-27 22:41:55 +00:00
Bill Schmidt
f6a665d39f target-supports.exp (check-effective_target_vect_double): Enable for Power targets with VSX hardware available.
2015-08-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* lib/target-supports.exp (check-effective_target_vect_double):
	Enable for Power targets with VSX hardware available.
	* gfortran.dg/vect/O3-pr49957.f: Replace vect_no_align with
	vect_no_align && { ! vect_hw_misalign }.

From-SVN: r227283
2015-08-27 22:13:43 +00:00
Sebastian Pop
124663e416 fix compile without ISL
* toplev.c (process_options): Do not use flag_loop_block,
	flag_loop_interchange, and flag_loop_strip_mine.  Add check for
	flag_loop_optimize_isl.

From-SVN: r227282
2015-08-27 21:59:06 +00:00
Patrick Marlier
15480aafa9 * MAINTAINERS: Add myself.
From-SVN: r227279
2015-08-27 20:06:46 +00:00
Sebastian Pop
d6bb5ccfeb remove -floop-* flags
2015-08-27  Sebastian Pop  <s.pop@samsung.com>

	* Makefile.in (OBJS): Remove graphite-blocking.o and
	graphite-interchange.o.
	* common.opt (floop-strip-mine, floop-interchange, floop-block):
	Alias of floop-nest-optimize.
	* doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block):
	Document as alias of -floop-nest-optimize.
	* graphite-blocking.c: Remove.
	* graphite-interchange.c: Remove.
	* graphite-optimize-isl.c: Include dumpfile.h.
	(getScheduleForBand): Add dump for tiled loops.  Use
	PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant.
	* graphite-poly.c (scop_max_loop_depth): Remove.
	(print_scattering_function_1): Remove.
	(print_scattering_function): Remove.
	(print_scattering_functions): Remove.
	(debug_scattering_function): Remove.
	(debug_scattering_functions): Remove.
	(apply_poly_transforms): Remove use of flag_loop_block,
	flag_loop_strip_mine, and flag_loop_interchange.
	(new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and
	PBB_ORIGINAL.
	(print_pdr_access_layout): Remove.
	(print_pdr): Print ISL representation.
	(new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE,
	SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
	(free_scop): Same.
	(openscop_print_pbb_domain): Remove.
	(print_pbb): Remove call to print_scattering_function.
	(openscop_print_scop_context): Remove.
	(print_scop_context): Do not print matrices anymore.
	(print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and
	SCOP_TRANSFORMED_SCHEDULE.
	(print_isl_set): Add printing of a new line.
	(print_isl_map): Same.
	(print_isl_aff): Same.
	(print_isl_constraint): Same.
	(loop_to_lst): Remove.
	(scop_to_lst): Remove.
	(lst_indent_to): Remove.
	(print_lst): Remove.
	(debug_lst): Remove.
	(dot_lst_1): Remove.
	(dot_lst): Remove.
	(reverse_loop_at_level): Remove.
	(reverse_loop_for_pbbs): Remove.
	* graphite-poly.h (pdr_dim_iter_domain): Remove.
	(pdr_nb_params): Remove.
	(pdr_alias_set_dim): Remove.
	(pdr_subscript_dim): Remove.
	(pdr_iterator_dim): Remove.
	(pdr_parameter_dim): Remove.
	(same_pdr_p): Remove.
	(struct poly_scattering): Remove.
	(struct poly_bb): Remove _original, _transformed, _saved.
	(PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove.
	(PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove.
	(PBB_NB_LOCAL_VARIABLES): Remove.
	(PBB_NB_SCATTERING_TRANSFORM): Remove.
	(schedule_to_scattering): Remove.
	(number_of_write_pdrs): Remove.
	(pbb_dim_iter_domain): Remove.
	(pbb_nb_params): Remove.
	(pbb_nb_scattering_orig): Remove.
	(pbb_nb_scattering_transform): Remove.
	(pbb_nb_dynamic_scattering_transform): Remove.
	(pbb_nb_local_vars): Remove.
	(pbb_iterator_dim): Remove.
	(pbb_parameter_dim): Remove.
	(psco_scattering_dim): Remove.
	(psct_scattering_dim): Remove.
	(psct_local_var_dim): Remove.
	(psco_iterator_dim): Remove.
	(psct_iterator_dim): Remove.
	(psco_parameter_dim): Remove.
	(psct_parameter_dim): Remove.
	(psct_dynamic_dim): Remove.
	(psct_static_dim): Remove.
	(psct_add_local_variable): Remove.
	(new_lst_loop): Remove.
	(new_lst_stmt): Remove.
	(free_lst): Remove.
	(copy_lst): Remove.
	(lst_add_loop_under_loop): Remove.
	(lst_depth): Remove.
	(lst_dewey_number): Remove.
	(lst_dewey_number_at_depth): Remove.
	(lst_pred): Remove.
	(lst_succ): Remove.
	(lst_find_pbb): Remove.
	(find_lst_loop): Remove.
	(lst_find_first_pbb): Remove.
	(lst_empty_p): Remove.
	(lst_find_last_pbb): Remove.
	(lst_contains_p): Remove.
	(lst_contains_pbb): Remove.
	(lst_create_nest): Remove.
	(lst_remove_from_sequence): Remove.
	(lst_remove_loop_and_inline_stmts_in_loop_father): Remove.
	(lst_niter_for_loop): Remove.
	(pbb_update_scattering): Remove.
	(lst_update_scattering_under): Remove.
	(lst_update_scattering): Remove.
	(lst_insert_in_sequence): Remove.
	(lst_replace): Remove.
	(lst_substitute_3): Remove.
	(lst_distribute_lst): Remove.
	(lst_remove_all_before_including_pbb): Remove.
	(lst_remove_all_before_excluding_pbb): Remove.
	(struct scop): Remove original_schedule, transformed_schedule, and
	saved_schedule.
	(SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove.
	(SCOP_SAVED_SCHEDULE): Remove.
	(poly_scattering_new): Remove.
	(poly_scattering_free): Remove.
	(poly_scattering_copy): Remove.
	(store_scattering_pbb): Remove.
	(store_lst_schedule): Remove.
	(restore_lst_schedule): Remove.
	(store_scattering): Remove.
	(restore_scattering_pbb): Remove.
	(restore_scattering): Remove.
	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
	Remove scattering_dimensions.  Do not use pbb_dim_iter_domain:
	compute the scattering polyhedron dimension from the dimension of
	pbb->domain.
	(build_scop_scattering): Update call to
	build_pbb_scattering_polyhedrons.
	(build_poly_scop): Remove call to scop_to_lst.
	* graphite.c (graphite_transform_loops): Add call to print_scop.
	(gate_graphite_transforms): Remove use of flag_loop_block,
	flag_loop_interchange, and flag_loop_strip_mine.

testsuite/

	* gcc.dg/graphite/graphite.exp (interchange_files, block_files):
	Replaced by opt_files, compile with -floop-nest-optimize.
	* g++.dg/graphite/graphite.exp: Same.
	* gfortran.dg/graphite/graphite.exp: Same.
	* gcc.dg/graphite/block-0.c: Adjust pattern.
	* gcc.dg/graphite/block-1.c: Same.
	* gcc.dg/graphite/block-3.c: Same.
	* gcc.dg/graphite/block-4.c: Same.
	* gcc.dg/graphite/block-5.c: Same.
	* gcc.dg/graphite/block-6.c: Same.
	* gcc.dg/graphite/block-7.c: Same.
	* gcc.dg/graphite/block-8.c: Same.
	* gcc.dg/graphite/block-pr47654.c: Same.
	* gcc.dg/graphite/interchange-0.c: Same.
	* gcc.dg/graphite/interchange-1.c: Same.
	* gcc.dg/graphite/interchange-10.c: Same.
	* gcc.dg/graphite/interchange-11.c: Same.
	* gcc.dg/graphite/interchange-12.c: Same.
	* gcc.dg/graphite/interchange-13.c: Same.
	* gcc.dg/graphite/interchange-14.c: Same.
	* gcc.dg/graphite/interchange-15.c: Same.
	* gcc.dg/graphite/interchange-3.c: Same.
	* gcc.dg/graphite/interchange-4.c: Same.
	* gcc.dg/graphite/interchange-5.c: Same.
	* gcc.dg/graphite/interchange-6.c: Same.
	* gcc.dg/graphite/interchange-7.c: Same.
	* gcc.dg/graphite/interchange-8.c: Same.
	* gcc.dg/graphite/interchange-9.c: Same.
	* gcc.dg/graphite/interchange-mvt.c: Same.
	* gcc.dg/graphite/pr37485.c: Same.
	* gcc.dg/graphite/uns-block-1.c: Same.
	* gcc.dg/graphite/uns-interchange-12.c: Same.
	* gcc.dg/graphite/uns-interchange-14.c: Same.
	* gcc.dg/graphite/uns-interchange-15.c: Same.
	* gcc.dg/graphite/uns-interchange-9.c: Same.
	* gcc.dg/graphite/uns-interchange-mvt.c: Same.
	* gfortran.dg/graphite/interchange-3.f90: Same.

From-SVN: r227277
2015-08-27 19:07:04 +00:00
Ian Lance Taylor
31da952a49 compiler: Don't record dependencies of invalid redefinitions.
The gofrontend would crash when trying to find the initialization
    order of a variable list where one of the listed variables was an
    invalid redefinition of another in a call statement.  This patch
    fixes initialization from call statements to consider invalid
    redefinitions before recording dependency information.
    
    Fixes golang/go#11543.
    
    Reviewed-on: https://go-review.googlesource.com/13895

From-SVN: r227276
2015-08-27 19:06:59 +00:00
Sebastian Pop
a5e5ea0c07 remove -floop-unroll-and-jam
* common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize.
	* doc/invoke.texi (-floop-unroll-and-jam): Document as alias of
	-floop-nest-optimize.
	* graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove.
	(generate_luj_sepclass): Remove.
	(generate_luj_options): Remove.
	(set_options): Remove opt_luj.
	(scop_to_isl_ast): Remove opt_luj.
	* graphite-optimize-isl.c (getScheduleForBand): Remove check for
	flag_loop_unroll_jam.
	(getPrevectorMap_full): Remove.
	(getScheduleForBandList): Remove map_sepcl.
	(getScheduleMap): Same.
	(apply_schedule_map_to_scop): Remove sepcl.
	(optimize_isl): Same.
	* graphite-poly.c (apply_poly_transforms): Remove check for
	flag_loop_unroll_jam.
	(new_poly_bb): Remove map_sepclass.
	* graphite-poly.h (struct poly_bb): Same.
	* graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam.
	* params.def (PARAM_LOOP_UNROLL_JAM_SIZE)
	(PARAM_LOOP_UNROLL_JAM_DEPTH): Remove.
	* toplev.c (process_options): Remove flag_loop_unroll_jam.

From-SVN: r227275
2015-08-27 19:06:56 +00:00
Jonathan Wakely
e994d230f1 re PR libstdc++/67374 (std::cbegin can't call valarray range access functions)
PR libstdc++/67374
	* include/bits/range_access.h (valarray, begin, end): Declare.
	* testsuite/26_numerics/valarray/range_access.cc: Test const
	overloads.
	* testsuite/26_numerics/valarray/range_access2.cc: New.

From-SVN: r227274
2015-08-27 20:05:19 +01:00
Uros Bizjak
a443ee6e5b re PR target/67317 ([x86] Silly code generation for _addcarry_u32/_addcarry_u64)
PR target/67317
	* config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
	(addqi3_cc): Ditto.
	(UNSPEC_ADD_CARRY): Remove.
	(addqi3_cconly_overflow): New expander.
	(*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow.
	Adjust for changed add<mode>3_carry.
	(*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry.
	(*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry.
	(<plusminus_insn><mode>3_carry): Remove expander.
	(*<plusminus_insn><mode>3_carry): Split insn pattern to
	add<mode>3_carry and sub<mode>3_carry.
	(plusminus_carry_mnemonic): Remove code attribute.
	(add<mode>3_carry): Canonicalize insn pattern.
	(*addsi3_carry_zext): Ditto.
	(sub<mode>3_carry): Ditto.
	(*subsi3_carry_zext): Ditto.
	(adcx<mode>3): Remove insn pattern.
	(addcarry<mode>): New insn pattern.
	(subborrow<mode>): Ditto.
	* config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use
	gen_addqi3_cconly_overflow instead of gen_addqi3_cc.
	(ix86_expand_builtin) <case IX86_BUILTIN_SBB32,
	case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32,
	case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi,
	CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi.
	Rewrite expander to not clobber carry flag chains.

testsuite/ChangeLog:

	PR target/67317
	* gcc.target/i386/pr67317-1.c: New test.
	* gcc.target/i386/pr67317-2.c: Ditto.
	* gcc.target/i386/pr67317-3.c: Ditto.
	* gcc.target/i386/pr67317-4.c: Ditto.
	* gcc.target/i386/adx-addcarryx32-1.c: Also scan for adcl.
	* gcc.target/i386/adx-addcarryx32-2.c: Also scan for adcq.

From-SVN: r227271
2015-08-27 20:29:37 +02:00
Pat Haugen
2b6fb4aa47 vector.md (vec_shr_<mode>): Fix to do a shift instead of a rotate.
* config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift
	instead of a rotate.

	* gcc.target/powerpc/vec-shr.c: New.

From-SVN: r227270
2015-08-27 18:20:45 +00:00
Marek Polacek
b7e36a33eb re PR middle-end/67005 (ICE: in verify_loop_structure, at cfgloop.c:1647 (loop with header n not in loop tree))
PR middle-end/67005
	* tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing
	an entry into an irreducible region.

	* gcc.dg/torture/pr67005.c: New test.

From-SVN: r227268
2015-08-27 17:07:35 +00:00
Francois-Xavier Coudert
078c4a8c53 * configure: Regenerate.
From-SVN: r227266
2015-08-27 16:15:45 +00:00
Alan Lawrence
07ad3ec6b1 completely_scalarize arrays as well as records
gcc/:

	PR tree-optimization/67283
	* tree-sra.c (type_consists_of_records_p): Rename to...
	(scalarizable_type_p): ...this, add case for ARRAY_TYPE.

	(completely_scalarize_record): Rename to...
	(completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
	(scalarize_elem): New.

gcc/testsuite/:

	* gcc.dg/tree-ssa/sra-15.c: New.

From-SVN: r227265
2015-08-27 15:40:10 +00:00
Alan Lawrence
f2511224db Refactor completely_scalarize_var
* tree-sra.c (completely_scalarize_var): Rename to...
	(create_total_scalarization_access): ... Here. Drop call to
	completely_scalarize_record.

	(analyze_all_variable_accesses): Replace completely_scalarize_var
	with create_total_scalarization_access and completely_scalarize_record.

From-SVN: r227264
2015-08-27 15:28:39 +00:00
Rainer Orth
dfa3751556 Update copyrights
libvtv:
	Update copyrights.

	contrib:
	* update-copyright.py (GCCCmdLine): Add libvtv.

From-SVN: r227262
2015-08-27 14:26:08 +00:00
Ulrich Weigand
7e5c754721 configure.ac: Remove [disable-shared] argument to LT_INIT.
* configure.ac: Remove [disable-shared] argument to LT_INIT.
	Remove setting PIC_FLAG when building as target library.
	* configure: Regenerate.

From-SVN: r227261
2015-08-27 14:08:19 +00:00
Alan Modra
353e462df7 [RS6000] Correct constraints for ior<mode>_mask
ior<mode>_mask always splits to rtl matching rotl<mode>3_insert.  The
latter requires one of its input operands match the output, so let
reload/lra know the equivalent operand match must also occur for
ior<mode>_mask.

	PR target/67356
	* config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0"
	for operand 1.

From-SVN: r227260
2015-08-27 23:26:39 +09:30
Richard Biener
f11cd82983 passes.c (rest_of_decl_compilation): Guard early_global_decl call with !seen_error ().
2015-08-27  Richard Biener  <rguenther@suse.de>

	* passes.c (rest_of_decl_compilation): Guard early_global_decl
	call with !seen_error ().
	* cgraphunit.c (symbol_table::finalize_compilation_unit): Move
	early debug generation and finish...
	(symbol_table::compile): ... here to put it after a !seen_error ()
	guard.

From-SVN: r227258
2015-08-27 13:27:02 +00:00
John Marino
a98e4e62c1 Provide nearly complete std::locale support for DragonFly
2015-08-27  John Marino  <gnugcc@marino.st>

	* acinclude.m4 (*-*-dragonfly*): Change 7 locale support files
	from generic to new DragonFly versions.
	* configure: Regenerate.
	* config/locale/dragonfly/c_locale.cc: Improve locale support.
	* config/locale/dragonfly/ctype_members.cc: Likewise.
	* config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise.
	* config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99.
	* config/locale/dragonfly/c_locale.h: New.
	* config/locale/dragonfly/codecvt_members.cc: New.
	* config/locale/dragonfly/collate_members.cc: New.
	* config/locale/dragonfly/monetary_members.cc: New.
	* config/locale/dragonfly/numeric_members.cc: New.
	* config/locale/dragonfly/time_members.cc: New.
	* config/locale/dragonfly/time_members.h: New.

From-SVN: r227257
2015-08-27 13:12:41 +01:00
Jonathan Wakely
a185c87663 * configure: Regenerate.
From-SVN: r227256
2015-08-27 13:12:31 +01:00
Rainer Orth
29424c7b82 Use __cxa_atexit on Solaris 12+
* config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on
	Solaris 12+.

From-SVN: r227255
2015-08-27 12:00:32 +00:00
Rainer Orth
58f51f5069 Avoid unstructured procfs on Solaris
* os_dep.c [GC_SOLARIS_THREADS] (GC_dirty_init): Use
	/proc/<pid>/pagedata instead of PIOCOPENPD.

From-SVN: r227254
2015-08-27 11:26:18 +00:00
Thomas Preud'homme
973d2e01cb aarch64.md (*condjump): Handle functions > 1 MiB.
2015-08-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
            Andre Vieira  <andre.simoesdiasvieira@arm.com>

    gcc/
    * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB.
    (*cb<optab><mode>1): Likewise.
    (*tb<optab><mode>1): Likewise.
    (*cb<optab><mode>1): Likewise.
    * config/aarch64/iterators.md (inv_cb): New code attribute.
    (inv_tb): Likewise.
    * config/aarch64/aarch64.c (aarch64_gen_far_branch): New.
    * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New.

    gcc/testsuite/
    * gcc.target/aarch64/long_branch_1.c: New test.

From-SVN: r227253
2015-08-27 10:08:54 +00:00
Richard Biener
3f2dd8cdb9 ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
2015-08-27  Richard Biener  <rguenther@suse.de>

	* ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.

From-SVN: r227252
2015-08-27 08:02:57 +00:00