Commit Graph

152153 Commits

Author SHA1 Message Date
Thomas Schwinge
d03958cfdf Miscellaneous optimization group fixes
gcc/
	* doc/optinfo.texi (Optimization groups): Fix option used for
	OPTGROUP_ALL.
	* doc/invoke.texi (-fopt-info): Document "omp".
	* dumpfile.h: Sort OPTGROUP_OMP before OPTGROUP_VEC.
	(OPTGROUP_ALL): Add OPTGROUP_OMP.
	* hsa-gen.c (pass_data_gen_hsail): Use OPTGROUP_OMP.
	* ipa-hsa.c (pass_data_ipa_hsa): Likewise.
	* omp-simd-clone.c (pass_data_omp_simd_clone): Likewise.

From-SVN: r245769
2017-02-28 09:42:06 +01:00
Thomas Schwinge
fd2b8c8bd3 Rename the "openmp" group of optimizations to "omp"
gcc/
	* dumpfile.h (OPTGROUP_OPENMP): Rename to OPTGROUP_OMP.  Adjust
	all users.
	* dumpfile.c (optgroup_options): Instead of "openmp", associate
	OPTGROUP_OMP with "omp".

From-SVN: r245768
2017-02-28 09:41:55 +01:00
GCC Administrator
51e8bfb967 Daily bump.
From-SVN: r245767
2017-02-28 00:16:22 +00:00
Joseph Myers
7f25b97fff Update .po files.
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
	zh_TW.po: Update.

From-SVN: r245764
2017-02-27 21:26:34 +00:00
Jason Merrill
080384d605 PR c++/71568 - SFINAE forming pointer to member function
* init.c (build_offset_ref): Check the return value of
	perform_or_defer_access_check.

From-SVN: r245763
2017-02-27 15:17:17 -05:00
Pat Haugen
c8f28a3c7a re PR target/79544 (vec_sra (unsigned long long,foo) generating vsrd instead of vsrad)
PR target/79544
	* config/rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD
	for arithmetic shift of unsigned V2DI.
	* gcc.target/powerpc/pr79544.c: New.

From-SVN: r245762
2017-02-27 16:06:13 +00:00
Claudiu Zissulescu
470c35ae22 [ARC] Clean up arc header file. (add changelog mods)
From-SVN: r245760
2017-02-27 15:12:27 +01:00
Claudiu Zissulescu
fad92291a6 [ARC] Clean up arc header file.
gcc/
2017-02-27  Claudiu Zissulescu  <claziss@synopsys.com>

	* config.gcc (arc*-): Clean up, use arc/big.h, arc/elf.h, and
	arc/linux.h headers.
	* config/arc/arc.h (TARGET_OS_CPP_BUILTINS): Remove.
	(LINK_SPEC): Likewise.
	(ARC_TLS_EXTRA_START_SPEC): Likewise.
	(EXTRA_SPECS): Likewise.
	(STARTFILE_SPEC): Likewise.
	(ENDFILE_SPEC): Likewise.
	(LIB_SPEC): Likewise.
	(TARGET_SDATA_DEFAULT): Likewise.
	(TARGET_MMEDIUM_CALLS_DEFAULT): Likewise.
	(MULTILIB_DEFAULTS): Likewise.
	(DWARF2_UNWIND_INFO): Likewise.
	* config/arc/big.h: New file.
	* config/arc/elf.h: Likewise.
	* config/arc/linux.h: Likewise.
	* config/arc/t-uClibc: Remove.

From-SVN: r245759
2017-02-27 14:56:02 +01:00
Marek Polacek
d66d45909d * decl.c (expand_static_init): Add missing } in a comment.
From-SVN: r245758
2017-02-27 13:39:36 +00:00
Volker Reichelt
24f1282383 init.c: Include intl.h.
2017-02-27  Volker Reichelt  <v.reichelt@netcologne.de>

       * init.c: Include intl.h.
       (build_new_1): Move message strings into pedwarn to make them
       -Wformat-security friendly. Mark string for translation.
       * pt.c (tsubst_copy_and_build): Mark string for translation.
       Make the pointer const.
       * semantics.c (finish_id_expression): Mark strings for
       * translation.

From-SVN: r245757
2017-02-27 13:29:35 +00:00
Paolo Carlini
c91c3003b5 re PR c++/79414 (internal compiler error after "error: expected unqualified-id at end of input")
2017-02-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79414
	* g++.dg/parse/crash67.C: New.

From-SVN: r245756
2017-02-27 11:55:19 +00:00
Janne Blomqvist
9449b70019 Don't try to use rand_s on CYGWIN
CYGWIN seems to include _mingw.h and thus __MINGW64_VERSION_MAJOR is
defined even though rand_s is not available. Thus add an extra check
for __CYGWIN__.

2017-02-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* intrinsics/random.c (getosrandom): Don't try to use rand_s on
	CYGWIN.

From-SVN: r245755
2017-02-27 13:13:49 +02:00
Bin Cheng
57fa080bf6 re PR tree-optimization/77536 (Vectorizer not maintaining relationship of relative block frequencies in absence of real profile data)
PR tree-optimization/77536
	* tree-ssa-loop-manip.c (niter_for_unrolled_loop): New function.
	(tree_transform_and_unroll_loop): Use above function to compute the
	estimated niter of unrolled loop and use it when scaling profile.
	Also use count info rather than frequency if it's non-zero.
	* tree-ssa-loop-manip.h niter_for_unrolled_loop(): New declaration.
	* tree-vect-loop.c (scale_profile_for_vect_loop): New function.
	(vect_transform_loop): Call above function.

	gcc/testsuite
	* gcc.dg/vect/pr79347.c: Revise testing string.

From-SVN: r245754
2017-02-27 10:20:36 +00:00
Richard Biener
68b948d3ba re PR tree-optimization/45397 (Issues with integer narrowing conversions)
2017-02-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/45397
	* tree-ssa-pre.c (eliminate_insert): Handle BIT_AND_EXPR.
	* tree-ssa-sccvn.c (valueized_wider_op): New helper.
	(visit_nary_op): Add pattern matching for CSEing sign-changed
	or truncated operations with wider ones.

	* gcc.dg/tree-ssa/pr45397.c: New testcase.

From-SVN: r245752
2017-02-27 08:51:28 +00:00
Richard Biener
69a2e8a10b re PR tree-optimization/79690 (IVOPTs drops gs: prefix)
2017-02-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79690
	* tree-vect-stmts.c (vectorizable_store): Use vector type
	built from the DR with address-space.

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

From-SVN: r245751
2017-02-27 08:50:09 +00:00
GCC Administrator
a0d147e352 Daily bump.
From-SVN: r245750
2017-02-27 00:16:23 +00:00
Gerald Pfeifer
b4242a79f9 invoke.texi (Optimize Options): Refine the description of asan-use-after-return.
* doc/invoke.texi (Optimize Options): Refine the description
	of asan-use-after-return.

From-SVN: r245747
2017-02-26 22:10:27 +00:00
Gerald Pfeifer
734ca1c209 * MAINTAINERS: Remove Neil Booth as option handling maintainer.
From-SVN: r245746
2017-02-26 22:07:22 +00:00
Thomas Koenig
c7b608a9f7 re PR libfortran/51119 (MATMUL slow for large matrices)
2017-02-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/51119
	* options.c (gfc_post_options): Set default limit for matmul
	inlining to 30.
	* invoke.texi: Document change.

2017-02-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/51119
	* gfortran.dg/inline_matmul_1.f90: Scan optimized dump instead
	of original.
	* gfortran.dg/inline_matmul_11.f90: Likewise.
	* gfortran.dg/inline_matmul_9.f90: Likewise.
	* gfortran.dg/matmul_13.f90: New test.
	* gfortran.dg/matmul_14.f90: New test.

From-SVN: r245745
2017-02-26 13:22:43 +00:00
GCC Administrator
462a7b5685 Daily bump.
From-SVN: r245744
2017-02-26 00:16:29 +00:00
Alan Modra
0a001dcba6 PR79584, ICE in base_to_reg
PR rtl-optimization/79584
	* lra-constraints.c (base_to_reg): Reload ad->base, the entire
	base, not ad->base_term, the reg within base.  Remove assertion
	that ad->base == ad->base_term.  Replace gen_int_mode using
	bogus mode with const0_rtx.

From-SVN: r245741
2017-02-26 09:14:41 +10:30
John David Anglin
888339e648 re PR target/68739 (FAIL: 30_threads/call_once/constexpr.cc (test for excess errors))
PR target/68739
	* inclhack.def (hpux11_pthread_pointer): New fix.
	(hpux11_pthread_const): Adjust to remove void * cast from define.
	* fixincl.x: Regenerate.

From-SVN: r245740
2017-02-25 20:29:39 +00:00
Joseph Myers
cb3d24f1c3 * gcc.pot: Regenerate.
From-SVN: r245739
2017-02-25 19:17:41 +00:00
Joseph Myers
17581411b0 * fr.po: Update.
From-SVN: r245738
2017-02-25 19:13:02 +00:00
Jakub Jelinek
98561a9b58 re PR middle-end/79396 (ICE (verify_flow_info failed) with -fnon-call-exceptions -O2 -march=haswell)
PR middle-end/79396
	* tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle
	FMA_EXPR like tcc_binary or tcc_unary.

	* g++.dg/opt/pr79396.C: New test.

From-SVN: r245735
2017-02-25 11:17:31 +01:00
Jakub Jelinek
9d975cb6a6 tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning.
* tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning.
cp/
	* call.c (build_op_delete_call): Make msg1 and msg2 const.

From-SVN: r245734
2017-02-25 09:33:17 +01:00
Jakub Jelinek
680c60feb4 re PR debug/77589 (fortran: Missing DW_AT_byte_stride for an array record field selection)
PR debug/77589
include/
	* dwarf2.def (DW_OP_GNU_variable_value): New opcode.
gcc/
	* dwarf2out.c (struct dw_loc_list_struct): Add noted_variable_value
	bitfield.
	(size_of_loc_descr): Handle DW_OP_GNU_variable_value.
	(output_loc_operands): Handle DW_OP_call_ref and
	DW_OP_GNU_variable_value.
	(struct variable_value_struct): New type.
	(struct variable_value_hasher): Likewise.
	(variable_value_hash): New variable.
	(string_types): Remove.
	(copy_loc_descr): New function.
	(add_loc_descr_to_each): Clarify comment.  Use copy_loc_descr.
	(prepend_loc_descr_to_each): New function.
	(add_loc_list): Fix comment typo.  Use prepend_loc_descr_to_each
	instead of add_loc_descr_to_each if the first argument is single
	location list and the second has multiple.
	(resolve_args_picking_1): Handle DW_OP_GNU_variable_value.
	(loc_list_from_tree_1): For early_dwarf, emit DW_OP_GNU_variable_value
	when looking for variable value which doesn't have other location info.
	(loc_list_from_tree): Formatting fix.
	(gen_array_type_die): Simplify DW_AT_string_length handling.
	(adjust_string_types): Remove.
	(gen_subprogram_die): Don't call adjust_string_types nor test/set
	string_types.  Call resolve_variable_values.
	(prune_unused_types_walk_loc_descr): Handle DW_OP_GNU_variable_value.
	(resolve_addr_in_expr): Likewise.  Add A argument.
	(copy_deref_exprloc): Remove deref argument.  Adjust for the
	original expression being DW_OP_GNU_variable_value with optionally
	DW_OP_stack_value after it instead of DW_OP_call4 with DW_OP_deref
	optionally after it.
	(optimize_string_length): Rework for DW_OP_GNU_variable_value.
	(resolve_addr): Adjust optimize_string_length and resolve_addr_in_expr
	callers.  Set remove_AT_byte_size if removing DW_AT_string_length.
	(variable_value_hasher::hash, variable_value_hasher::equal): New
	methods.
	(resolve_variable_value_in_expr, resolve_variable_value,
	resolve_variable_values, note_variable_value_in_expr,
	note_variable_value): New functions.
	(dwarf2out_early_finish): Call note_variable_value on all toplevel
	DIEs.

From-SVN: r245733
2017-02-25 09:18:24 +01:00
GCC Administrator
a920ed32a7 Daily bump.
From-SVN: r245732
2017-02-25 00:16:18 +00:00
Dominique d'Humieres
77be94177a re PR fortran/79597 (Incomplete error message "Expecting %<END INTERFACE OPERATOR")
2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/79597
	* interface.c (gfc_match_end_interface): Remove spurious comma
	and space, replace 'got %s' with 'got %qs'.

2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/79597
	* gfortran.dg/dtio_6.f90: Update test.

2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/79601
	* interface.c (check_dtio_arg_TKR_intent): Change 'intent'
	to 'INTENT'.

2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/79601
	* gfortran.dg/interface_operator_2.f90: New test.

From-SVN: r245729
2017-02-25 00:40:42 +01:00
Jakub Jelinek
b982244362 re PR c/79677 (Weird handling of -Werror=)
PR c/79677
	* opts.h (handle_generated_option): Add GENERATED_P argument.
	* opts-common.c (handle_option): Adjust function comment.
	(handle_generated_option): Add GENERATED_P argument, pass it to
	handle_option.
	(control_warning_option): Pass false to handle_generated_option
	GENERATED_P.
	* opts.c (maybe_default_option): Pass true to handle_generated_option
	GENERATED_P.
	* optc-gen.awk: Likewise.
ada/
	* gcc-interface/misc.c (gnat_handle_option): Pass true to
	handle_generated_option GENERATED_P.
testsuite/
	* gcc.dg/pr79677.c: New test.

From-SVN: r245728
2017-02-25 00:15:56 +01:00
Segher Boessenkool
91f66e78cc sh: Fixes for RTL checking
* config/sh/sh.md (tstsi_t): If operands[0] is a SUBREG instead of
	a REG, look at the REG it is a SUBREG of.
	(splitter for cmpeqsi_t): Ditto.

From-SVN: r245727
2017-02-24 23:42:49 +01:00
Segher Boessenkool
8faa81184f pa: Fixes for RTL checking
* config/pa/pa.c (pa_combine_instructions): Do not share RTL.  Make
	the special USEs with the pattern of the insn, not the insn itself.

From-SVN: r245726
2017-02-24 23:41:02 +01:00
Matthew Fortune
7f811f38ce Add documentation for -mload-store-pairs
gcc/
	PR target/79473
	* doc/invoke.texi: Document -mload-store-pairs.

From-SVN: r245725
2017-02-24 22:35:59 +00:00
Segher Boessenkool
039f4db920 nios2.c (nios2_simple_const_p): Returns false if the argument isn't a CONST_INT.
2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/nios2/nios2.c (nios2_simple_const_p): Returns false if the
	argument isn't a CONST_INT.
	(nios2_alternate_compare_const): Assert op is a CONST_INT.
	(nios2_valid_compare_const_p): Assert op is a CONST_INT.
	(nios2_validate_compare): Bypass alternate compare logic if *op2
	is not a CONST_INT.
	(ldstwm_operation_p): Return false if first_base is not a REG or
	if first_offset is not a CONST_INT.


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

From-SVN: r245724
2017-02-24 17:35:18 -05:00
Segher Boessenkool
da3243b2b6 cris: Fix for RTL checking
* config/cris/cris.md: Use correct operand in a define_peephole2.

From-SVN: r245723
2017-02-24 23:34:37 +01:00
Matthew Fortune
4bc2b7860f Update paired single tests to cope with ABI fixes for o32/o64
gcc/testsuite/

	* gcc.target/mips/mips-ps-type-2.c (move): Force generation
	of mov.ps.
	* gcc.target/mips/mips-ps-type.c (move): Likewise.
	(cond_move1): Simplify condition to force generation of
	mov[nz].ps.
	(cond_move2): Likewise.

From-SVN: r245722
2017-02-24 22:34:25 +00:00
Segher Boessenkool
015122d8c4 c6x: Fix for RTL checking
* config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL.

From-SVN: r245721
2017-02-24 23:32:46 +01:00
Segher Boessenkool
4173ddafe2 arc: Fixes for RTL checking
* config/arc/arc.c (arc_ccfsm_advance): Only take the PATTERN of
	this_insn if it is an INSN or JUMP_INSN.
	(force_offsettable): Look at base, not at addr.
	* config/arc/predicates.md (brcc_nolimm_operator): Don't call INTVAL
	on things that aren' necessarily CONST_INTs.

From-SVN: r245720
2017-02-24 23:20:14 +01:00
Jakub Jelinek
4227c9adf0 re PR c++/79588 (ICE in warn_for_restrict with -Wrestrict)
PR c++/79588
c-family/
	* c-common.c (check_function_restrict): New function.
	(check_function_arguments): Add FNDECL argument.  Call
	check_function_restrict if -Wrestrict.
	* c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
	and NARGS.  Use auto_vec for ARG_POSITIONS, simplify.
	* c-common.h (check_function_arguments): Add FNDECL argument.
	(warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
c/
	* c-parser.c (c_parser_postfix_expression_after_primary): Don't
	handle -Wrestrict here.
	* c-typeck.c (build_function_call_vec): Adjust
	check_function_arguments caller.
cp/
	* call.c (build_over_call): Call check_function_arguments even for
	-Wrestrict, adjust check_function_arguments caller.
	* parser.c (cp_parser_postfix_expression): Don't handle -Wrestrict
	here.
	* typeck.c (cp_build_function_call_vec): Adjust
	check_function_arguments caller.
testsuite/
	* g++.dg/warn/Wrestrict-1.C: New test.
	* g++.dg/warn/Wrestrict-2.C: New test.

From-SVN: r245719
2017-02-24 21:41:54 +01:00
Marek Polacek
5713d44853 re PR translation/79705 (cp/decl.c message not marked for translation)
PR translation/79705
	* decl.c (check_redeclaration_exception_specification): Mark a string
	for translation.  Make the pointer const.

From-SVN: r245717
2017-02-24 18:54:13 +00:00
David Edelsohn
fd527ec190 Require LTO.
Add initial ChangeLog entry.

From-SVN: r245716
2017-02-24 13:39:44 -05:00
Uros Bizjak
14a7c857a0 invoke.texi (x86 Options, [...]): Mention that -mfpmath=sse is the default also for x86-32 targets with SSE2...
* doc/invoke.texi (x86 Options, -mfpmath=sse): Mention that
	-mfpmath=sse is the default also for x86-32 targets with SSE2
	instruction set when @option{-ffast-math} is enabled

From-SVN: r245715
2017-02-24 19:18:57 +01:00
Jeff Law
19e1183f17 re PR rtl-optimization/79286 (ira and lra wrong code at -O2 and -Os on i686-linux)
PR rtl-optimizatoin/79286
	* ira.c (update_equiv_regs): Drop may_trap_p exception to
	dominance test.

From-SVN: r245714
2017-02-24 08:36:10 -07:00
Richard Biener
d081521703 re PR tree-optimization/79389 (30% performance regression in SciMark2 MonteCarlo)
2017-02-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79389
	* gimple-ssa-split-paths.c (is_feasible_trace): Properly skip
	debug insns.

From-SVN: r245713
2017-02-24 11:51:33 +00:00
Toma Tabacu
2af8fd5cdf Use logical_op_short_circuit to skip targets in ssa-thread-14.c.
gcc/testsuite/

	* gcc.dg/tree-ssa/ssa-thread-14.c (dg-options): Use
	logical_op_short_circuit to skip targets.
	(dg-additional-options): Don't pass -mbranch-cost=2 for MIPS, AVR
	and s390.

From-SVN: r245711
2017-02-24 11:03:12 +00:00
Eric Botcazou
741bd9b135 decl.c (gnat_to_gnu_field): Do not remove the wrapper around a justified modular type if...
* gcc-interface/decl.c (gnat_to_gnu_field): Do not remove the wrapper
	around a justified modular type if it doesn't have the same scalar
	storage order as the enclosing record type.

From-SVN: r245710
2017-02-24 11:03:08 +00:00
Aldy Hernandez
70e1d145c8 tree-ssa-loop-niter.c (number_of_iterations_exit): Update function comment to reflect reality.
* tree-ssa-loop-niter.c (number_of_iterations_exit): Update
	function comment to reflect reality.
	(loop_exits_before_overflow): Fix typo in function description.

From-SVN: r245709
2017-02-24 11:02:16 +00:00
Eric Botcazou
830815b9ae trans.c (gnat_to_gnu): Do not apply special handling of boolean rvalues to function calls.
* gcc-interface/trans.c (gnat_to_gnu): Do not apply special handling
	of boolean rvalues to function calls.

From-SVN: r245706
2017-02-24 10:54:00 +00:00
Eric Botcazou
491527afb8 utils.c (fold_bit_position): New function.
* gcc-interface/utils.c (fold_bit_position): New function.
	(rest_of_record_type_compilation): Call it instead of bit_position to
	compute the field position and remove the call to remove_conversions.
	(compute_related_constant): Factor out the multiplication in both
	operands, if any, and streamline the final test.

From-SVN: r245704
2017-02-24 10:48:38 +00:00
Eric Botcazou
0b9cdb9a40 * gcc-interface/trans.c (return_value_ok_for_nrv_p): Add sanity check.
From-SVN: r245701
2017-02-24 10:35:14 +00:00