Commit Graph

144388 Commits

Author SHA1 Message Date
Jakub Jelinek a162f3af80 re PR tree-optimization/69209 (ICE at -Os and above on x86_64-linux-gnu (verify_gimple failed))
PR tree-optimization/69209
	* ipa-split.c (split_function): If split part is not
	returning retval, retval has gimple type but is not
	gimple value, force it into a SSA_NAME first.

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

From-SVN: r233228
2016-02-08 21:07:56 +01:00
Jeff Law 4b4a9fbde8 re PR tree-optimization/68541 (Path splitting causes if-conversion miss)
PR tree-optimization/68541
	* gcc.dg/tree-ssa/split-path-1.c: Increase limit for number
	of statements allowed in join block for path splitting.

From-SVN: r233227
2016-02-08 12:52:50 -07:00
Jakub Jelinek f68bc23fdd re PR c++/59627 (ICE with OpenMP "declare reduction" and -flto)
PR c++/59627
	* parser.c (cp_parser_omp_declare_reduction): Set assembler name
	of the DECL_OMP_DECLARE_REDUCTION_P decls.

	* g++.dg/gomp/pr59627.C: New test.

From-SVN: r233225
2016-02-08 19:23:03 +01:00
Jakub Jelinek cfac5ed236 re PR ipa/69239 (g++.dg/ipa/devirt-c-3.C FAILs with -O2 -fPIC --param=early-inlining-insns=196)
PR ipa/69239
	* g++.dg/ipa/pr69239.C: New test.

From-SVN: r233224
2016-02-08 18:41:35 +01:00
David Malcolm 44714d8ce1 PR preprocessor/69664: fix rich_location::override_column
gcc/testsuite/ChangeLog:
	PR preprocessor/69664
	* gcc.dg/cpp/trad/comment-2.c: Add expected column number.
	* gcc.dg/cpp/warn-comments.c: Likewise.

libcpp/ChangeLog:
	PR preprocessor/69664
	* errors.c (cpp_diagnostic_with_line): Only call
	rich_location::override_column if the column is non-zero.
	* line-map.c (rich_location::override_column): Update columns
	within m_ranges[0].  Add assertions to verify that doing so is
	sane.

From-SVN: r233223
2016-02-08 17:33:45 +00:00
David Malcolm f258ad62e3 jit: fix build after r233218 (build_common_tree_nodes)
gcc/jit/ChangeLog:
	* dummy-frontend.c (jit_langhook_init): Remove
	second argument to build_common_tree_nodes to
	track r233218.

From-SVN: r233222
2016-02-08 17:18:57 +00:00
Nicklas Bo Jensen 98c3965210 tree-ssa.texi (Preserving the virtual SSA form): Remove outdated section.
* doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
	outdated section.

From-SVN: r233221
2016-02-08 09:35:24 -07:00
Marek Polacek eba9e839de re PR c++/69688 (-Wsign-compare causes bogus error: size of array ‘uc_code’ is not an integral constant-expression)
PR c++/69688
	* constexpr.c (clear_cv_and_fold_caches): Renamed from clear_cv_cache.
	Call clear_fold_cache.
	* cp-tree.h: Adjust declaration.
	* decl.c (finish_enum_value_list): Call clear_cv_and_fold_caches
	rather than clear_cv_cache and clear_fold_cache.
	* typeck2.c (store_init_value): Call clear_cv_and_fold_caches.

	* g++.dg/init/const12.C: New test.

From-SVN: r233220
2016-02-08 15:40:33 +00:00
Jonathan Wakely 2158532f31 Remove accidentally added 'constexpr' in previous commit
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
	added 'constexpr' in previous commit.
	* configure: Regenerate.

From-SVN: r233219
2016-02-08 15:37:59 +00:00
Bernd Schmidt a011cd929d Remove -fshort-double
PR target/60410
	* tree.c (build_common_tree_nodes): Remove short_double argument.
	All callers changed.
	* tree.h (build_common_tree_nodes): Adjust declaration.
	* doc/invoke.texi (-fshort-double): Remove documentation.
	* config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
	* lto-wrapper.c (merge_and_complain, append_compiler_options,
	append_linker_options): Don't handle OPT_fshort_double.
	
c-family/
	PR target/60410
	* c.opt (fshort-double): Remove.

testsuite/
	PR target/60410
	* gcc.dg/lto/pr55113_0.c: Remove test.

From-SVN: r233218
2016-02-08 15:36:16 +00:00
Jason Merrill c0328be344 * convert.c (convert_to_integer_1): Re-indent.
From-SVN: r233217
2016-02-08 10:31:53 -05:00
Jason Merrill 415594bb5c re PR c++/69631 (Bogus overflow in constant expression error)
PR c++/69631

gcc/
	* convert.c (convert_to_integer_1): Check dofold on truncation
	distribution.
	(convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
	(convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
	Rename from *_nofold.
	* convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
	(convert_to_real_nofold, convert_to_complex_nofold): New inlines.
gcc/cp/
	* cp-tree.h (CONV_FOLD, CONV_BACKEND_CONVERT): New.
	* cvt.c (convert): Pass CONV_BACKEND_CONVERT.
	(ocp_convert): Use *_maybe_fold.
	(cp_convert_to_pointer): Add dofold parameter.
	* cp-gimplify.c (cp_fold) [CONVERT_EXPR]: Call convert.

From-SVN: r233216
2016-02-08 10:31:47 -05:00
Bernd Schmidt ae9dd7f3f8 Fix latent LRA remat issue (PR68730)
PR rtl-optimization/68730
	* lra-remat.c (insn_to_cand_activation): New static variable.
	(lra_remat): Allocate and free it.
	(create_cand): New arg activation. Initialize a field in
	insn_to_cand_activation if it is nonnull.
	(create_cands): Pass the activation insn to create_cand when making
	a candidate involving an output reload.  Reorganize code a little.
	(do_remat): Keep track of active status of candidates in a separate
	bitmap.

From-SVN: r233215
2016-02-08 15:31:08 +00:00
Jonathan Wakely cc07da33ae Enable isinf/isnan checks for all targets
PR libstdc++/48891
	* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
	checks for all targets except *-*-solaris2.* and ensure we find the
	libc math.h header not our own.
	* configure: Regenerate.

From-SVN: r233214
2016-02-08 15:22:32 +00:00
Richard Biener 5317b1be7e re PR tree-optimization/69719 (wrong code at -O3 on x86_64-linux-gnu)
2016-02-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69719
	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
	Properly use absolute of the difference of the two offsets to
	compare or adjust the segment length.

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

From-SVN: r233212
2016-02-08 14:51:20 +00:00
Richard Biener 63998a6336 re PR target/68273 (Wrong code on mips/mipsel due to (invalid?) peeking at alignments in function_arg.)
2016-02-08  Richard Biener  <rguenther@suse.de>
	Jeff Law  <law@redhat.com>

	PR target/68273
	* tree-ssanames.c (make_ssa_name_fn): Always use unqualified
	types for anonymous SSA names.

	* gcc.target/mips/pr68273.c: New testcase.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r233211
2016-02-08 10:04:18 +00:00
Eric Botcazou ffe9a0a76e utils.c (create_var_decl): Set again DECL_COMMON and DECL_IGNORED_P last.
* gcc-interface/utils.c (create_var_decl): Set again DECL_COMMON and
	DECL_IGNORED_P last.

From-SVN: r233210
2016-02-08 09:40:46 +00:00
Richard Biener 43f4a281a3 re PR target/69274 (435.gromacs performance regression after r231814 on x86 Haswell and bdver2)
2016-02-08   Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/69274
	* ira.c (ira_setup_alts): Do not change recog_data.operand
	order.

	* gcc.target/i386/addr-sel-1.c: XFAIL.

From-SVN: r233209
2016-02-08 09:09:22 +00:00
Jeff Law e8dfe49e7d re PR tree-optimization/68541 (Path splitting causes if-conversion miss)
PR tree-optimization/68541
        * gcc.dg/tree-ssa/split-path-2.c: Make char array explicitly signed.

From-SVN: r233208
2016-02-08 01:40:00 -07:00
Jeff Law 0b604d2dfc re PR tree-optimization/65917 (XFAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2)
PR tree-optimization/65917
	* tree-ssa-dom.c (record_temporary_equivalences): Record both
	equivalences from if (x == y) style conditionals.
	(loop_depth_of_name): Remove.
	(record_equality): Remove loop depth check.
	* tree-ssa-scopedtables.h (const_and_copies): Refine comments.
	(const_and_copies::record_const_or_copy_raw): New member function.
	* tree-ssa-scopedtables.c
	(const_and_copies::record_const_or_copy_raw): New, factored out of
	(const_and_copies::record_const_or_copy): Call new member function.

        PR tree-optimization/65917
	* gcc.dg/tree-ssa/20030922-2.c: No longer xfailed.

From-SVN: r233207
2016-02-08 01:17:32 -07:00
GCC Administrator 0992653daf Daily bump.
From-SVN: r233206
2016-02-08 00:16:15 +00:00
Jerry DeLisle c0f0e35a6d re PR fortran/50555 (synonymous namelist/statement function dummy argument not allowed (r178939))
2016-02-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/50555
	* primary.c (match_actual_arg): If symbol has attribute flavor of
	namelist, generate an error. (gfc_match_rvalue): Likewise return
	MATCH_ERROR.
	* resolve.c (resolve_symbol): Scan arument list of procedures and
	generate an error if a namelist is found.

	PR fortran/50555
	* gfortran.dg/namelist_args.f90: New test.

From-SVN: r233203
2016-02-07 20:15:55 +00:00
Joseph Myers fc7d77bbf6 * ru.po: Update.
From-SVN: r233202
2016-02-07 14:37:20 +00:00
Joseph Myers 3ac560ee11 * fi.po, sv.po: Update.
From-SVN: r233201
2016-02-07 14:34:42 +00:00
GCC Administrator c5e4925a05 Daily bump.
From-SVN: r233199
2016-02-07 00:16:11 +00:00
John David Anglin 09b08e17f5 mmap.c (MAP_FAILED): Define if not defined.
* mmap.c (MAP_FAILED): Define if not defined.

From-SVN: r233196
2016-02-06 22:27:34 +00:00
GCC Administrator bc6218b608 Daily bump.
From-SVN: r233194
2016-02-06 00:16:13 +00:00
Jeff Law 8981d7127b re PR tree-optimization/68541 (Path splitting causes if-conversion miss)
PR tree-optimization/68541
	* gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
	(count_stmts_in_block): New function.
	(poor_ifcvt_candidate_code): Likewise.
	(is_feasible_trace): Add some heuristics to determine when path
	splitting is profitable.
	(find_block_to_duplicate_for_splitting_paths): Make sure the graph
	is a diamond with a single exit.

        PR tree-optimization/68541
	* gcc.dg/tree-ssa/split-path-2.c: New test.
	* gcc.dg/tree-ssa/split-path-3.c: New test.
	* gcc.dg/tree-ssa/split-path-4.c: New test.
	* gcc.dg/tree-ssa/split-path-5.c: New test.
	* gcc.dg/tree-ssa/split-path-6.c: New test.
	* gcc.dg/tree-ssa/split-path-7.c: New test.

From-SVN: r233191
2016-02-05 16:49:08 -07:00
Martin Sebor 46cb933227 PR c++/69662 - -Wplacement-new on allocated one element array members
gcc/testsuite/ChangeLog:
	PR c++/69662
	* g++.dg/warn/Wplacement-new-size-1.C: New test.
	* g++.dg/warn/Wplacement-new-size-2.C: New test.

gcc/cp/ChangeLog:
	PR c++/69662
	* init.c (find_field_init): New function.
	(warn_placement_new_too_small): Call it.  Handle one-element arrays
        at ends of structures special.

gcc/c-family/ChangeLog:
	PR c++/69662
	* c.opt (Warning options): Update -Wplacement-new to take
        an optional argument.

gcc/ChangeLog:
	PR c++/69662
	* doc/invoke.texi: Update -Wplacement-new to take an optional
        argument.

From-SVN: r233190
2016-02-05 15:27:37 -07:00
Richard Henderson be2083eab7 re PR middle-end/69643 (Address space discarded)
PR c/69643

  * tree.c (tree_nop_conversion_p): Do not strip casts into or
  out of non-standard address spaces.
testsuite/
  * gcc.target/i386/addr-space-4.c: New.
  * gcc.target/i386/addr-space-5.c: New.

From-SVN: r233189
2016-02-05 14:05:17 -08:00
Mikael Morin 711d7c231f Fix fortran scalar elemental dependency mishandling
PR fortran/66089
gcc/fortran/
	* trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
	the former to the latter and make it non-static.  Update callers.
	* gfortran.h (gfc_expr_is_variable): New declaration.
	(struct gfc_ss_info): Add field needs_temporary.
	* trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
	Tighten the condition on aggregate expressions with a check
	that the expression is a variable and doesn't need a temporary.
	(gfc_conv_resolve_dependency): Add intermediary reference variable.
	Set the needs_temporary field.
gcc/testsuite/
	* gfortran.dg/elemental_dependency_6.f90: New.

From-SVN: r233188
2016-02-05 21:41:15 +00:00
Jakub Jelinek 861c7bcd62 re PR rtl-optimization/69691 (wrong code at -O2 on x86_64-linux-gnu)
PR rtl-optimization/69691
	* lra-eliminations.c (move_plus_up): Don't add the addend twice.

	* gcc.c-torture/execute/pr69691.c: New test.

From-SVN: r233187
2016-02-05 22:13:43 +01:00
Jakub Jelinek b5c1c98852 re PR c++/69628 (Conditional jump or move depends on uninitialised value(s) in lex_charconst(cpp_token const*) (c-lex.c:1252))
PR c++/69628
	* charset.c (cpp_interpret_charconst): Clear *PCHARS_SEEN
	and *UNSIGNEDP if bailing out early due to errors.

	* g++.dg/parse/pr69628.C: New test.

From-SVN: r233186
2016-02-05 20:39:48 +01:00
Jason Merrill 0fd9d4921f Make issues similar to PR c++/68948 fail loudly.
* semantics.c (finish_expr_stmt): If expr is error_mark_node,
	make sure we've seen_error().

From-SVN: r233183
2016-02-05 12:52:07 -05:00
Uros Bizjak f7dfa966ee asan.c: Move to ...
* gcc.dg/sancov/asan.c: Move to ...
	* gcc.dg/asan/sancov-1.c: ... here.

From-SVN: r233182
2016-02-05 17:41:36 +01:00
Uros Bizjak 9b143e6488 pr69577.c: Require avx_runtime target.
* gcc.target/i386/pr69577.c: Require avx_runtime target.

From-SVN: r233181
2016-02-05 17:36:38 +01:00
H.J. Lu f5d4b899a5 Add a testcase for PR target/69677
PR target/69677
	* gcc.target/i386/pr69677.c: New test.

From-SVN: r233180
2016-02-05 08:24:06 -08:00
Pat Haugen 10ecae7407 crypto.md (crypto_vpermxor_<mode>): Correct insn type.
* config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
	* config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
	(*ieee128_mfvsrd_64bit): Likewise.
	(*ieee128_mfvsrd_32bit): Likewise.

From-SVN: r233179
2016-02-05 15:25:39 +00:00
Ilya Enkovich fd9794e37a re PR target/69369 (internal compiler error: in remove_unreachable_nodes, at ipa.c:457)
gcc/

2016-02-05  Ilya Enkovich  <enkovich.gnu@gmail.com>

	PR target/69369
	Revert r232560:
	2016-01-19  Jan Hubicka  <hubicka@ucw.cz>

	* cgraphunit.c (cgraph_node::reset): Clear thunk info and
	instrumented_version.

From-SVN: r233177
2016-02-05 14:41:00 +00:00
Patrick Palka 76c85fbbe7 Fix PR c++/68948 (wrong code generation due to invalid constructor call)
gcc/cp/ChangeLog:

	PR c++/68948
	* pt.c (tsubst_baselink): Diagnose an invalid constructor call
	if lookup_fnfields returns NULL_TREE and the name being looked
	up has the form A::A.

gcc/testsuite/ChangeLog:

	PR c++/68948
	* g++.dg/template/pr68948.C: New test.

From-SVN: r233176
2016-02-05 14:36:44 +00:00
Jeremy Bennett dfcfe1846a invoke.texi (Optimize Options): In table of --param options rename second occurrence of tracer-min-branch-ratio...
2016-01-05  Jeremy Bennett  <jeremy.bennett@embecosm.com>

        * doc/invoke.texi (Optimize Options): In table of --param options
        rename second occurrence of tracer-min-branch-ratio to
        tracer-min-branch-probability, rename
        tracer-min-branch-ratio-feedback to
        tracer-min-branch-probability-feedback and clarify description,
        rename sched-spec-state-edge-prob-cutoff to
        sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
        to selsched-insns-to-rename, rename lto-minpartition to
        lto-min-partition, delete reorder-blocks-duplicate and
        reorder-blocks-duplicate-feedback.

From-SVN: r233175
2016-02-05 14:27:26 +00:00
Joseph Myers 5fe98942b0 * fi.po: Update.
From-SVN: r233174
2016-02-05 13:24:28 +00:00
Andreas Krebbel 4894733ddf S/390: Remove superfluous loops.
gcc/ChangeLog:

2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/s390.c (s390_register_info_set_ranges): Remove
	superfluous loops.

From-SVN: r233173
2016-02-05 11:38:52 +00:00
Dominik Vogt 44b325d248 S/390: Correct documentation
gcc/ChangeLog

	* doc/extend.texi: S/390: Correct some typos.

From-SVN: r233172
2016-02-05 10:36:21 +00:00
Dominik Vogt f181bf9088 S/390: Do not require -march=z13 on s390 but only on s390x.
gcc/testsuite/ChangeLog

	* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Remove -march=z13 for s390
	(only necessary on s390x).

From-SVN: r233171
2016-02-05 10:33:21 +00:00
Dominik Vogt acc046464c libstdc++: S/390: Add missing baseline_symbols.txt for s390x/-m31.
The attached patch copies the existing 
libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt
to .../s390x-linux-gnu/32/baseline_symbols.txt.  This fixes the
abi test failure on s390x with -m31.

libstdc++-v3/ChangeLog

	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
	New file.  Copied over from s390-linux-gnu.

From-SVN: r233170
2016-02-05 10:25:08 +00:00
Andreas Krebbel 15288e9a94 S/390: Fix 64 bit sibcall
This fixes a problem revealed during the split-stack work:
https://gcc.gnu.org/ml/gcc-patches/2016-02/msg00322.html

gcc/ChangeLog:

2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/s390.c (s390_emit_call): Add missing 64 bit check.

From-SVN: r233169
2016-02-05 10:10:35 +00:00
Andreas Krebbel 82379bdf02 S/390: Fix r6 vararg handling.
This patch fixes a problem introduced with the GPR into FPR slot save
feature for leaf functions.

r6 is argument register as well as call-saved.  Currently we might
decide that it will be a candidate for being saved into an FPR.  If it
turns out later that r6 also needs to be saved due to being required
for vararg we undo the FPR save decision and put it on the stack
again.  Unfortunately the code did not adjust the GPR restore range
accordingly so that the register does not get restored in the load
multiple.

This fixes the following testcases on s390x:

< FAIL: libgomp.c/doacross-1.c execution test
< FAIL: libgomp.c/doacross-2.c execution test
< FAIL: libgomp.c/doacross-3.c execution test
< FAIL: libgomp.c++/doacross-1.C execution test

gcc/ChangeLog:

2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	    PR target/69625
	    * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New
	    defines.
	    (s390_register_info_gprtofpr): Use new macros above.
	    (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
	    its name.
	    (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
	    its name.  Adjust restore and save gpr ranges.
	    (s390_register_info_set_ranges): New function.
	    (s390_register_info): Use new macros above.  Call
	    s390_register_info_set_ranges.
	    (s390_optimize_register_info): Likewise.
	    (s390_hard_regno_rename_ok): Use new macros.
	    (s390_hard_regno_scratch_ok): Likewise.
	    (s390_emit_epilogue): Likewise.
	    (s390_can_use_return_insn): Likewise.
	    (s390_optimize_prologue): Likewise.
	    * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.

From-SVN: r233168
2016-02-05 10:08:17 +00:00
Jakub Jelinek 5421e2cab2 re PR bootstrap/69677 (bootstrap failed with --with-arch=corei7 --with-cpu=corei7)
PR bootstrap/69677
	* config/i386/i386.c (convert_scalars_to_vector): Readd stack
	alignment fixes.
	(ix86_option_override_internal): Disable TARGET_STV even for
	-m{incoming,preferred}-stack-boundary=3.

From-SVN: r233167
2016-02-05 10:23:03 +01:00
H.J. Lu 714fb282d8 Compile pr69454-2.c with -msse2 -mno-accumulate-outgoing-args
2016-02-04  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/pr69454-2.c: Compile with -msse2
	-mno-accumulate-outgoing-args.

From-SVN: r233166
2016-02-04 19:06:40 -08:00