Commit Graph

139381 Commits

Author SHA1 Message Date
Steven G. Kargl
fd5cabb2d7 io.c (check_char_variable): New function.
2015-07-06  Steven G. Kargl  <kargl@gcc.gnu.org>

	* io.c (check_char_variable): New function.
	(match_open_element, match_close_element, match_file_element,
	match_dt_element, match_inquire_element, match_wait_element): Use it.


2015-07-06  Steven G. Kargl  <kargl@gcc.gnu.org>

	* gfortran.dg/iomsg_2.f90: New test.

From-SVN: r225462
2015-07-06 16:33:38 +00:00
Alan Lawrence
9c769a65e9 [ARM] fix movdi expander to avoid illegal ldrd/strd
* config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.

From-SVN: r225461
2015-07-06 16:21:55 +00:00
H.J. Lu
385e3f0c2b Add -march=iamcu to optimize for IA MCU
IA MCU is based on Intel Pentium ISA without x87 and passing parameters
in registers.  We want to optimize for IA MCU without changing existing
Pentium codegen.  This patch adds PROCESSOR_IAMCU for -march=iamcu,
which is based on -march=pentium with updated cost tables.

gcc/

	PR target/66749
	* config/i386/i386.c (iamcu_cost): New.
	(m_IAMCU): Likewise.
	(initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
	(processor_target_table): Add an entry for "iamcu".
	(processor_alias_table): Likewise.
	(ix86_issue_rate): Handle PROCESSOR_IAMCU.
	(ix86_adjust_cost): Likewise.
	(ia32_multipass_dfa_lookahead): Likewise.
	* config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
	* config/i386/x86-tune.def: Updated for m_IAMCU.

gcc/testsuite/

	PR target/66749
	* gcc.target/i386/pr66749.c: New test.

From-SVN: r225460
2015-07-06 08:17:44 -07:00
Richard Biener
1a02f6c118 re PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu)
2015-07-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66772
	* tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
	values are available in the PHI node BB when there are
	still unexecutable edges.

	* gcc.dg/torture/pr66772-1.c: New testcase.
	* gcc.dg/torture/pr66772-2.c: Likewise.

From-SVN: r225459
2015-07-06 14:41:22 +00:00
Andrew Bennett
fe55a82362 MIPS: For micromips allow the near-far-3.c test to use the jals instruction to call near_func.
testsuite/
	* gcc.target/mips/near-far-3.c: Allow the call to near_func to use
	the jals instruction.

From-SVN: r225457
2015-07-06 14:16:14 +00:00
Richard Biener
aad83b7cbb re PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test)
2015-07-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66767
	* tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
	Make sure to build the alignment test on a SSA name without
	final alignment info valid only if the alignment test
	evaluates to true.

From-SVN: r225454
2015-07-06 13:12:39 +00:00
Bernd Schmidt
91f0f975e6 Fix assert caused by bad cfg manipulation in bfin.
PR target/66620
	* config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
	loop start when inserting LSETUP.

From-SVN: r225453
2015-07-06 12:49:26 +00:00
H.J. Lu
ec1590f257 Allow -mincoming-stack-boundary=3 with -mno-sse
Similar to -mpreferred-stack-boundary=3, -mincoming-stack-boundary=3 is
allowed with -mno-sse in 64-bit mode.

gcc/

	PR target/53383
	* config/i386/i386.c (ix86_option_override_internal): Allow
	-mincoming-stack-boundary=3 for 64-bit if SSE is disabled.

gcc/testsuite/

	PR target/53383
	* gcc.target/i386/pr53383-1.c: New file.
	* gcc.target/i386/pr53383-2.c: Likewise.
	* gcc.target/i386/pr53383-3.c: Likewise.

From-SVN: r225452
2015-07-06 04:50:47 -07:00
Rainer Orth
09e9c1e085 Rename read-md.c:decimal_string
* read-md.c (decimal_string): Rename to ...
	(md_decimal_string): ... this.
	(handle_enum): Reflect this.

From-SVN: r225451
2015-07-06 11:43:07 +00:00
Szabolcs Nagy
2b3fe2e950 [AArch64] PR target/66731 Fix fnmul insn with -frounding-math
gcc/Changelog:

2015-07-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR target/66731
	* config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.

gcc/testsuite/Changelog:

2015-07-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* gcc.target/aarch64/fnmul-1.c: New.
	* gcc.target/aarch64/fnmul-2.c: New.
	* gcc.target/aarch64/fnmul-3.c: New.
	* gcc.target/aarch64/fnmul-4.c: New.

From-SVN: r225450
2015-07-06 11:00:03 +00:00
Richard Biener
0409237b68 re PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)
2015-07-06  Richard Biener  <rguenther@suse.de>

	PR middle-end/66759
	* match.pd: Add missing constraint of y to REAL_CST in
	REAL_CST - x CMP y to y - CST CMP x simplification.

	* gcc.dg/torture/pr66759.c: New testcase.

From-SVN: r225449
2015-07-06 10:37:33 +00:00
Andre Vehreschild
b2bae05de9 Added missing Changelog entry for testsuite.
From-SVN: r225448
2015-07-06 12:27:38 +02:00
Andre Vehreschild
c16126ac18 re PR fortran/58586 (ICE with derived type with allocatable component passed by value)
gcc/testsuite/ChangeLog:

2015-07-06  Andre Vehreschild  <vehre@gmx.de>

	PR fortran/58586
	* gfortran.dg/alloc_comp_class_3.f03: New test.
	* gfortran.dg/alloc_comp_class_4.f03: New test.


gcc/fortran/ChangeLog:

2015-07-06  Andre Vehreschild  <vehre@gmx.de>

	PR fortran/58586
	* resolve.c (resolve_symbol): Non-private functions in modules
	with allocatable or pointer components are marked referenced
	now. Furthermore is the default init especially for those
	components now done in gfc_conf_procedure_call preventing
	duplicate code.
	* trans-decl.c (gfc_generate_function_code): Generate a fake
	result decl for functions returning an object with allocatable
	components and initialize them.
	* trans-expr.c (gfc_conv_procedure_call): For value typed trees
	use the tree without indirect ref. And for non-decl trees
	add a temporary variable to prevent evaluating the tree
	multiple times (prevent multiple function evaluations).
	* trans.h: Made gfc_trans_structure_assign () protoype
	available, which is now needed by trans-decl.c:gfc_generate_
	function_code(), too.

From-SVN: r225447
2015-07-06 12:26:12 +02:00
Eric Botcazou
c8ba649886 re PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)
PR tree-optimization/66757
	* match.pd: Add missing condition to ~X ^ C -> X ^ ~C.

From-SVN: r225446
2015-07-06 08:43:58 +00:00
Francois-Xavier Coudert
43cbef9555 re PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)
PR libfortran/40267
	* Makefile.am: Remove libgfortranbegin targets.
	* Makefile.in: Regenerate.
	* fmain.c: Remove.

From-SVN: r225445
2015-07-06 08:22:34 +00:00
Sebastian Huber
e5210c77a1 libgomp: Add comment to clarify last_team usage
libgomp/ChangeLog
2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgomp.h (gomp_thread_pool): Comment last_team field.

From-SVN: r225444
2015-07-06 07:21:48 +00:00
Bin Cheng
a7e3f29b79 re PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs)
PR tree-optimization/66720
	* gcc.dg/vect/pr48052.c: Use dg-require-effective-target
	vect_int_mult.

From-SVN: r225443
2015-07-06 05:57:56 +00:00
GCC Administrator
a07f64a67c Daily bump.
From-SVN: r225440
2015-07-06 00:16:12 +00:00
Chung-Lin Tang
7dcc719595 nios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration.
2015-07-05  Chung-Lin Tang  <cltang@codesourcery.com>
	    Sandra Loosemore <sandra@codesourcery.com>

	gcc/
	* config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
	Delete extern declaration.
	(gprel_constant_p): Add extern declaration.
	* config/nios2/constraints.md ("S"): Use gprel_constant_p
	instead of nios2_symbol_ref_in_small_data_p.
	* config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
	(nios2_symbol_ref_in_small_data_p): Make static.
	(gprel_constant_p): Make non-static.

	gcc/testsuite/
	* gcc.target/nios2/gprel-offset.c: New test.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r225437
2015-07-05 17:49:08 -04:00
François Dumont
291e91daa7 hashtable.h (_Hashtable<>::__rehash_policy): Do not rehash container.
2015-07-05  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
	rehash container.
	* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
	Adapt.

From-SVN: r225436
2015-07-05 21:16:07 +00:00
Gerald Pfeifer
3b973a7f22 fragments.texi (Target Fragment): Convert debian.org link to use https.
* doc/fragments.texi (Target Fragment): Convert debian.org
	link to use https.
	* doc/install.texi (Configuration): Ditto.

From-SVN: r225435
2015-07-05 20:36:22 +00:00
Jakub Jelinek
3cc2fa2a17 re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
PR tree-optimization/66718
	* tree-vect-stmts.c (vectorizable_call): Replace uses of
	GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.

From-SVN: r225434
2015-07-05 14:14:41 +02:00
Jakub Jelinek
465c8c1983 re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
PR tree-optimization/66718
	* tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
	vectorizable_load, vectorizable_condition): Move vectype,
	nunits, ncopies computation after checking what kind of statement
	stmt is.

From-SVN: r225433
2015-07-05 14:11:57 +02:00
Richard Sandiford
234d14ac72 target-insns.def (extv, [...]): New targetm instruction patterns.
gcc/
	* target-insns.def (extv, extzv, insv): New targetm instruction
	patterns.
	* optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
	interface.
	* recog.c (simplify_while_replacing): Likewise.

From-SVN: r225432
2015-07-05 08:02:59 +00:00
Richard Sandiford
89f7b21fb0 target-insns.def (doloop_begin, doloop_end): New targetm instruction patterns.
gcc/
	* target-insns.def (doloop_begin, doloop_end): New targetm
	instruction patterns.
	* loop-init.c: Include target.h.
	(pass_loop2::gate): Use the new targetm patterns instead of
	HAVE_*/gen_* interface.
	(pass_rtl_doloop::gate): Likewise.
	(pass_rtl_doloop::execute): Remove preprocessor condition.
	* hw-doloop.c: Build unconditionally.
	* loop-doloop.c: Likewise.
	(doloop_optimize): Use the new targetm patterns instead of
	HAVE_*/gen_* interface.
	(doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
	* modulo-sched.c (doloop_register_get): Likewise.

From-SVN: r225431
2015-07-05 08:01:48 +00:00
Richard Sandiford
f2cf13bd7c target-insns.def (clear_cache): New targetm instruction pattern.
gcc/
	* target-insns.def (clear_cache): New targetm instruction pattern.
	* builtins.c (expand_builtin___clear_cache): Use it instead of
	HAVE_*/gen_* interface.

From-SVN: r225430
2015-07-05 07:59:14 +00:00
Richard Sandiford
10169a8b99 gcc/
* target-insns.def (allocate_stack, check_stack, probe_stack)
	(probe_stack_address, split_stack_prologue, split_stack_space_check):
	New targetm instruction patterns.
	* explow.c (allocate_dynamic_stack_space): Use them instead of
	HAVE_*/gen_* interface.
	(emit_stack_probe): Likewise.
	(probe_stack_range): Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.

From-SVN: r225429
2015-07-05 07:58:30 +00:00
Richard Sandiford
c65aa0429d target-insns.def (stack_protect_set, [...]): New targetm instruction patterns.
gcc/
	* target-insns.def (stack_protect_set, stack_protect_test): New
	targetm instruction patterns.
	* cfgexpand.c (stack_protect_prologue): Use them instead of
	HAVE_*/gen_* interface.
	* function.c (stack_protect_epilogue): Likewise.

From-SVN: r225428
2015-07-05 07:56:45 +00:00
Richard Sandiford
9c58793af5 expr.h (gen_move_insn_uncast): Delete.
gcc/
	* expr.h (gen_move_insn_uncast): Delete.
	* expr.c (gen_move_insn_uncast): Delete.

From-SVN: r225427
2015-07-05 07:55:03 +00:00
Richard Sandiford
4476e1a0be gcc/
* target-insns.def (restore_stack_block, restore_stack_function)
	(restore_stack_nonlocal, save_stack_block, save_stack_function)
	(save_stack_nonlocal): New targetm instruction patterns.
	* builtins.c (expand_builtin_apply): Use them instead of
	HAVE_*/gen_* interface.
	* explow.c (emit_stack_save, emit_stack_restore): Likewise.

From-SVN: r225426
2015-07-05 07:52:32 +00:00
Richard Sandiford
eb6f47fb90 target-insns.def (trap): New targetm instruction pattern.
gcc/
	* target-insns.def (trap): New targetm instruction pattern.
	* builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
	interface.
	* explow.c (allocate_dynamic_stack_space): Likewise.
	* ifcvt.c (find_if_header): Likewise.

From-SVN: r225425
2015-07-05 07:51:07 +00:00
Richard Sandiford
134b044daf target-insns.def (prefetch): New targetm instruction pattern.
gcc/
	* target-insns.def (prefetch): New targetm instruction pattern.
	* tree-ssa-loop-prefetch.c: Include targeth.
	(tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
	of HAVE_*/gen_* interface.
	* builtins.c (expand_builtin_prefetch): Likewise.
	* toplev.c (process_options): Likewise.

From-SVN: r225424
2015-07-05 07:50:31 +00:00
Richard Sandiford
43c7dca881 target-insns.def (untyped_call, [...]): New targetm instruction patterns.
gcc/
	* target-insns.def (untyped_call, untyped_return): New targetm
	instruction patterns.
	* builtins.c (expand_builtin_apply): Use them instead of
	HAVE_*/gen_* interface.
	(result_vector): Define unconditionally.

From-SVN: r225423
2015-07-05 07:49:16 +00:00
Richard Sandiford
95a3fb9de8 gcc/
* target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
	(builtin_setjmp_setup, exception_receiver, nonlocal_goto)
	(nonlocal_goto_receiver): New targetm instruction patterns.
	* builtins.c (expand_builtin_setjmp_setup): Use them instead
	of HAVE_*/gen_* interface.
	(expand_builtin_setjmp_receiver): Likewise.
	(expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
	* except.c (expand_dw2_landing_pad_for_region): Likewise.

From-SVN: r225422
2015-07-05 07:48:04 +00:00
Richard Sandiford
8684d89dea target.def: Add code_for_* hooks.
gcc/
	* target.def: Add code_for_* hooks.
	* gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
	* defaults.h (HAVE_tablejump, gen_tablejump): Delete.
	* target-insns.def (casesi, tablejump): New targetm instruction
	patterns.
	* expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
	(do_tablejump): Likewise.
	* stmt.c (expand_switch_as_decision_tree_p): Likewise.
	(expand_sjlj_dispatch_table): Likewise.
	* targhooks.c (default_case_values_threshold): Likewise.

From-SVN: r225421
2015-07-05 07:44:45 +00:00
Sandra Loosemore
9d07490f09 nios2.c (save_reg, [...]): Use plus_constant.
2015-07-04  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
	Use rtx_insn * instead of rtx.
	(nios2_emit_add_constant): Use rtx_insn * instead of rtx.
	(nios2_expand_prologue, nios2_expand_epilogue): Likewise.
	(nios2_call_tls_get_addr): Likewise.
	(nios2_emit_expensive_div): Likewise.
	(nios2_emit_move_sequence): Change return type to bool.
	* config/nios2/nios2-protos.h (nios2_emit_move_sequence):
	Change return type to bool.

From-SVN: r225420
2015-07-04 22:56:18 -04:00
GCC Administrator
239c34bfbd Daily bump.
From-SVN: r225419
2015-07-05 00:16:13 +00:00
Bernd Edlinger
24966da610 re PR target/66747 (The commit r225260 broke the builds of the mips-{mti,img}-linux-gnu tool chains.)
2015-07-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR target/66747
        * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.

From-SVN: r225416
2015-07-04 19:02:18 +00:00
Steven G. Kargl
2e43164383 [multiple changes]
2015-07-04  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66725
	* io.c (is_char_type): New function to test for BT_CHARACTER
	(gfc_match_open, gfc_match_close, match_dt_element): Use it.


2015-07-03  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66725
	* gfortran.dg/pr66725.f90: New test.

From-SVN: r225415
2015-07-04 15:37:04 +00:00
John David Anglin
26232bbbda re PR target/66114 (some indirect_jump patterns use operands[] in their condition when they shouldn't)
PR target/66114
	* config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
	of register_operand.  Remove constraint.

From-SVN: r225412
2015-07-04 13:42:55 +00:00
Marc Glisse
3958eee171 tree-cfg.c (verify_gimple_assign_ternary): Check the first argument.
2015-07-04  Marc Glisse  <marc.glisse@inria.fr>

	* tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
	the first argument.

From-SVN: r225411
2015-07-04 11:15:33 +00:00
GCC Administrator
6b402fbeac Daily bump.
From-SVN: r225409
2015-07-04 00:16:12 +00:00
Paolo Carlini
fe6f27c742 attribs.c (decl_attributes): Guard inform with the return value of the preceding warning.
2015-07-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* attribs.c (decl_attributes): Guard inform with the return value
	of the preceding warning.

From-SVN: r225402
2015-07-03 18:56:40 +00:00
Carlos Sánchez de La Lama
cd5a9a74d3 re PR libitm/52482 (libitm INVALID MNEMONIC in .S (powerpc asm))
2015-07-03  Carlos Sánchez de La Lama  <csanchezdll@gmail.com>

	PR target/52482
	* config/powerpc/sjlj.S: Port to Xcode 2.5.

From-SVN: r225388
2015-07-03 17:28:43 +00:00
James Greenhalgh
7c17c7b24d [Patch docs obvious AArch64] Fix position of -moverride documentation
gcc/

	* doc/invoke.texi (moverride): Move to correct section.

From-SVN: r225384
2015-07-03 14:49:05 +00:00
Jason Merrill
5fbf1204e0 wide-int_plugin.c (test_double_int_round_udiv): Avoid narrowing error.
* gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv):
	Avoid narrowing error.

From-SVN: r225383
2015-07-03 10:42:21 -04:00
Segher Boessenkool
ab1d746dce re PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))
PR rtl-optimization/66706
	* gcc.target/powerpc/shift-int.c: New testcase.

From-SVN: r225382
2015-07-03 16:37:26 +02:00
Jonathan Wakely
ed3caa8c2a status_cxx2017.xml: Update status table.
* doc/xml/manual/status_cxx2017.xml: Update status table.
	* doc/html/manual/*: Regenerate.

From-SVN: r225380
2015-07-03 15:08:48 +01:00
Ville Voutilainen
e37e6813d5 Implement std::experimental::fundamentals_v2::propagate_const.
2015-07-03  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Implement std::experimental::fundamentals_v2::propagate_const.
	* include/Makefile.am: Add propagate_const.
	* include/Makefile.in: Regenerate.
	* include/experimental/propagate_const: New.
	* testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
	* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
	* testsuite/experimental/propagate_const/assignment/move_neg.cc:
	Likewise.
	* testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
	* testsuite/experimental/propagate_const/cons/default.cc: Likewise.
	* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
	* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
	* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
	* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
	* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
	* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
	* testsuite/experimental/propagate_const/typedefs.cc: Likewise.

From-SVN: r225379
2015-07-03 15:08:37 +01:00
Richard Biener
805a54065f genmatch.c (commutative_tree_code, [...]): Copy from tree.c
2015-07-03  Richard Biener  <rguenther@suse.de>

	* genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
	Copy from tree.c
	(dt_operand::gen_gimple_expr): After valueizing operands
	re-canonicalize operand order for commutative tree codes.

From-SVN: r225378
2015-07-03 13:46:34 +00:00