Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update teams branch from upstream #3

Merged
merged 397 commits into from
Aug 29, 2017
Merged

update teams branch from upstream #3

merged 397 commits into from
Aug 29, 2017

Conversation

zbeekman
Copy link

No description provided.

mpolacek and others added 30 commits August 9, 2017 08:51
	* c-array-notation.c (fix_builtin_array_notation_fn): Update calls to
	build_conditional_expr.	
	* c-parser.c (c_parser_conditional_expression): Create locations for
	EXP1 and EXP2 from their source ranges.  Pass the locations down to
	build_conditional_expr.
	* c-tree.h (build_conditional_expr): Update declaration.
	* c-typeck.c (build_conditional_expr): Add location_t parameters.
	For -Wsign-compare, also print the types.

	* input.c (make_location): New overload.
	* input.h (make_location): Declare.

	* objc-next-runtime-abi-02.c (build_v2_build_objc_method_call): Update
	a call to build_conditional_expr.

	* Wsign-compare-1.c: New test.
	* gcc.dg/compare1.c: Adjust dg-bogus.
	* gcc.dg/compare2.c: Likewise.
	* gcc.dg/compare3.c: Likewise.
	* gcc.dg/compare7.c: Likewise.
	* gcc.dg/compare8.c: Likewise.
	* gcc.dg/compare9.c: Likewise.
	* gcc.dg/pr11492.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250984 138bc75d-0d04-0410-961f-82ee72b054a4
	* c-typeck.c (pedwarn_init): Make the function take a variable list.
	Call emit_diagnostic_valist instead of pedwarn.
	(convert_for_assignment): Unroll the PEDWARN_FOR_ASSIGNMENT macro.
	Print the relevant types in diagnostics.

	* diagnostic-core.h (emit_diagnostic_valist): Add declaration.
	* diagnostic.c (emit_diagnostic): Add a comment.
	(emit_diagnostic_valist): New function.

	* gcc.dg/diagnostic-types-1.c: New test.
	* gcc.dg/assign-warn-1.c: Update warning messages.
	* gcc.dg/assign-warn-2.c: Likewise.
	* gcc.dg/c90-const-expr-5.c: Likewise.
	* gcc.dg/c99-const-expr-5.c: Likewise.
	* gcc.dg/conv-2.c: Likewise.
	* gcc.dg/init-bad-7.c: Likewise.
	* gcc.dg/overflow-warn-1.c: Likewise.
	* gcc.dg/overflow-warn-2.c: Likewise.
	* gcc.dg/overflow-warn-3.c: Likewise.
	* gcc.dg/overflow-warn-4.c: Likewise.
	* gcc.dg/pointer-array-atomic.c: Likewise.
	* gcc.dg/pr26865.c: Likewise.
	* gcc.dg/pr61162-2.c: Likewise.
	* gcc.dg/pr61162.c: Likewise.
	* gcc.dg/pr67730-2.c: Likewise.
	* gcc.dg/pr69156.c: Likewise.
	* gcc.dg/pr70174.c: Likewise.
	* objc.dg/proto-lossage-4.m: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250985 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250986 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250991 138bc75d-0d04-0410-961f-82ee72b054a4
    
    Libgo's implementation of math.Ldexp declared the libc "ldexp" as
    taking an 'int' exponent argument, which is not quite right for 64-bit
    platforms (exp arg is always int32); this could yield incorrect
    results for exponent values outside the range of Minint32/Maxint32.
    Fix by upating the type for the libc version of ldexp, and adding
    guards to screen for out-of-range exponents.
    
    Fixes #21323.
    
    Reviewed-on: https://go-review.googlesource.com/54250


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250992 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libstdc++/79820
	PR libstdc++/81751
	* config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)):
	Call fflush on the stream instead of calling sync() while _M_cfile is
	null. Restore original value of errno.
	* testsuite/ext/stdio_filebuf/char/79820.cc: New.
	* testsuite/ext/stdio_filebuf/char/81751.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250993 138bc75d-0d04-0410-961f-82ee72b054a4
	* init.c (get_nsdmi): Add complain parm.
	* typeck2.c (digest_nsdmi_init): Add complain parm.
	(process_init_constructor_record): Pass complain to get_nsdmi.
	* pt.c (maybe_instantiate_noexcept): Add complain parm, return bool.
	* method.c (get_defaulted_eh_spec): Add complain parm.  Pass it into
	synthesized_method_walk.
	(synthesized_method_walk): Adjust.
	(walk_field_subobs): Pass complain to get_nsdmi.
	(defaulted_late_check): Skip other checks if deleted.
	* decl2.c (mark_used): Pass complain to maybe_instantiate_noexcept.
	* call.c (build_aggr_conv): Pass complain to get_nsdmi.
	* parser.c (defarg_location): New.
	* error.c (location_of): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250994 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.target/powerpc/fold-vec-cntlz-int.c: New.
	* gcc.target/powerpc/fold-vec-cntlz-char.c: New.
	* gcc.target/powerpc/fold-vec-cntlz-short.c: New.
	* gcc.target/powerpc/fold-vec-cntlz-longlong.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250995 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* gcc.target/powerpc/fold-vec-madd-double.c: New.
	* gcc.target/powerpc/fold-vec-madd-float.c: New.
	* gcc.target/powerpc/fold-vec-madd-short.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250996 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* gcc.target/powerpc/fold-vec-msum-char.c: New.
	* gcc.target/powerpc/fold-vec-msum-short.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250997 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* gcc.target/powerpc/fold-vec-pack-double.c: New.
	* gcc.target/powerpc/fold-vec-pack-int.c: New.
	* gcc.target/powerpc/fold-vec-pack-longlong.c: New.
	* gcc.target/powerpc/fold-vec-pack-short.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250998 138bc75d-0d04-0410-961f-82ee72b054a4
	* pt.c (tsubst_decl) [VAR_DECL]: Avoid clobbering auto.
	(tsubst_copy) [VAR_DECL]: Handle auto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250999 138bc75d-0d04-0410-961f-82ee72b054a4
	gcc/
	* config/aarch64/aarch64-cores.def (falkor): Use falkor pipeline.
	(qdf24xx): Likewise.
	* config/aarch64/aarch64.md: Include falkor.md.
	* config/aarch64/falkor.md: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251003 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite/
	PR rtl-optimization/81423
	* gcc.c-torture/execute/pr81423.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251004 138bc75d-0d04-0410-961f-82ee72b054a4
We can have SAVE_MULTIPLE while we do not have REST_MULTIPLE.  If the
inline restore does not restore all registers, the CFI for the save
and restore can conflict if things are shrink-wrapped.

We could restore all registers that are saved (not ideal), or emit
the CFI notes to say we did (which will work fine, but is also not
so great); instead, let's not save the registers that are unused.


	PR target/80938
	* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
	SAVE_MULTIPLE if not all the registers that saves, should be saved.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251005 138bc75d-0d04-0410-961f-82ee72b054a4
    
    It's possible to construct an lshift expression using unsafe.Sizeof
    that is technically a compile-time constant but can't be evaluated
    without going through backend methods. In this case, insure that
    Type::make_non_abstract_type is called on the numeric operand of the
    shift (as opposed to leaving as abstract), to avoid an assert later on
    in the compiler flow.
    
    Fixes golang/go#21372.
    
    Reviewed-on: https://go-review.googlesource.com/54370


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251006 138bc75d-0d04-0410-961f-82ee72b054a4
        2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>

        * config/rs6000/rs6000.c (rs6000_option_override_internal): Add blurb
        to indicate when early gimple folding has been disabled.
        (rs6000_gimple_fold_builtin): Add debug content.
        (rs6000_invalid_builtin): Fix whitespace.
        (rs6000_expand_builtin): Fix whitespace.
        * config/rs6000/rs6000.opt: Add option for -mfold-gimple.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251007 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-09  Katsuhiko Nishimra  <ktns.87@gmail.com>

	* include/std/type_traits (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE): Use
	__is_identifier instead of __has_builtin.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251008 138bc75d-0d04-0410-961f-82ee72b054a4
	* include/std/type_traits (_GLIBCXX_NO_BUILTIN_HAS_UNIQ_OBJ_REP):
	Replace with _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP and use
	__is_identifier to set it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251009 138bc75d-0d04-0410-961f-82ee72b054a4
	* testsuite/g++.dg/ext/packed8.C: Remove -mstructure-size-
	boundary option and fix comment.
	* testsuite/g++.dg/init/array16.C: Remove -mstructure-size-
	boundary option and fix comment.
	* testsuite/g++.dg/other/crash-4.C: Remove -mstructure-size-
	boundary option and fix comment.
	* testsuite/gcc.dg/builtin-stringop-chk-1.c: Remove
	-mstructure-size boundary option.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251010 138bc75d-0d04-0410-961f-82ee72b054a4
Testcase for PR81423

gcc/testsuite/
	PR rtl-optimization/81423
	* gcc.c-torture/execute/pr81423.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251011 138bc75d-0d04-0410-961f-82ee72b054a4
        * gcc.target/aarch64/vect-xorsign_exec.c: Add
        --save-temps to the options passed.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251013 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251017 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/jit/ChangeLog:
	* docs/cp/topics/types.rst (Vector types): New section.
	* docs/topics/compatibility.rst (LIBGCCJIT_ABI_8): New tag.
	* docs/topics/types.rst (gcc_jit_context_get_type): Fix typo in
	example.
	(Vector types): New section.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
	* jit-playback.c (gcc::jit::playback::type::get_vector): New
	method.
	* jit-playback.h (gcc::jit::playback::type::get_vector): New
	method.
	* jit-recording.c: In namespace gcc::jit::recording::
	(type::get_vector): New method.
	(memento_of_get_aligned::write_reproducer): Fix typo
	in leading comment.
	(memento_of_get_vector::replay_into): New method.
	(memento_of_get_vector::make_debug_string): New method.
	(memento_of_get_vector::write_reproducer): New method.
	* jit-recording.h: In namespace gcc::jit::recording::
	(type::get_vector): New
	 method.
	(class memento_of_get_vector): New class.
	* libgccjit++.h (gccjit::type::get_vector): New method.
	* libgccjit.c (gcc_jit_type_get_vector): New public entrypoint.
	* libgccjit.h (LIBGCCJIT_HAVE_gcc_jit_type_get_vector): New
	define.
	(gcc_jit_type_get_vector): New decl.
	* libgccjit.map (LIBGCCJIT_ABI_8): New ABI tag.

gcc/testsuite/ChangeLog:
	* jit.dg/all-non-failing-tests.h: Add note about
	test-vector-types.cc.
	* jit.dg/test-error-gcc_jit_type_get_vector-bad-type.c: New test
	case.
	* jit.dg/test-error-gcc_jit_type_get_vector-non-power-of-two.c:
	New test case.
	* jit.dg/test-vector-types.cc: New test case.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251018 138bc75d-0d04-0410-961f-82ee72b054a4
	* omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL
	LABEL_DECLs.
	* tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL
	or DECL_NONLOCAL labels.
	(move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL
	or DECL_NONLOCAL labels here.

	* testsuite/libgomp.c/pr81687-1.c: New test.
	* testsuite/libgomp.c/pr81687-2.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251019 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-10  Martin Liska  <mliska@suse.cz>

	PR c++/81355
	* c-attribs.c (handle_target_attribute):
	Report warning for an empty string argument of target attribute.
2017-08-10  Martin Liska  <mliska@suse.cz>

	PR c++/81355
	* g++.dg/other/pr81355.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251020 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/compare2.c: Update dg-bogus and dg-warning.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251021 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251022 138bc75d-0d04-0410-961f-82ee72b054a4
    gcc/fortran/ChangeLog:

	* decl.c (attr_seen): New static variable.
	* decl.c (variable_decl): Match %FILL in STRUCTURE body.
	* gfortran.texi: Update documentation.

    gcc/testsuite/ChangeLog:

    gfortran.dg/
	* dec_structure_18.f90, dec_structure_19.f90, dec_structure_20.f90,
	dec_structure_21.f90: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251023 138bc75d-0d04-0410-961f-82ee72b054a4
    gcc/fortran/ChangeLog:

	* options.c (set_dec_flags, gfc_post_options): Only set flag_d_lines
	with -fdec when not set by user.

    gcc/testsuite/ChangeLog:

    gfortran.dg/
	* dec_d_lines_1.f, dec_d_lines_2.f: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251024 138bc75d-0d04-0410-961f-82ee72b054a4
munroesj and others added 29 commits August 25, 2017 15:23
This patch includes testsuite/gcc.target tests for the intrinsics
in xmmintrin.h.  For these tests I added -Wno-psabi to dg-options
to suppress warnings associated with the vector ABI change in GCC5.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251357 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251362 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251367 138bc75d-0d04-0410-961f-82ee72b054a4
	PR fortran/81974
	* frontend-passes (inline_matumul_assign):  Explicity
	set typespec for call to CONJG.

2017-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/81974
	* gfortran.dg/inline_matmul_19.f90:  New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251368 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/i386.md (*<btsc><mode>): Change operand 2
	predicate to register_operand.  Reorder operands.
	(*btr<mode>): Ditto.
	(*<btsc><mode>_mask): Change operand 3 predicate to register_operand.
	(*btr<mode>_mask): Ditto.

testsuite/ChangeLog:

	PR target/81995
	* gcc.target/i386/pr46091-4.c: Add -mregparm=2 for 32bit targets.
	* gcc.target/i386/pr46091-4a.c: Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251369 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251373 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libgfortran/78387
	* io/list_read.c (nml_read_obj): Remove use of stash.
	* io/transfer.c (st_read_done, st_write_done): Likewise.
	* io/unit.c (stash_internal_unit): Delete function.
	(get_unit): Remove use of stash.
	(init_units): Likewise.
	(close_units): Likewise.
	* io/write.c (nml_write_obj): Likewise:

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251374 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/80640
	* doc/md.texi (mem_thread_fence): Remove mention of mode.  Rewrite.
	* optabs.c (expand_mem_thread_fence): Emit a compiler barrier when
	using targetm.gen_mem_thread_fence.
testsuite/
	* gcc.dg/atomic/pr80640.c: New testcase.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251377 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/81977
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through
	memcpy.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251378 138bc75d-0d04-0410-961f-82ee72b054a4
	PR debug/81993
	* dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes):
	Do nothing for removed DIEs.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251382 138bc75d-0d04-0410-961f-82ee72b054a4
	PR lto/81968
	* simple-object-elf.c (simple_object_elf_copy_lto_debug_section):
	Adjust field with for sh_type write, set SHF_EXCLUDE only for
	removed sections.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251384 138bc75d-0d04-0410-961f-82ee72b054a4
	statement.  Adjust internal error message.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251385 138bc75d-0d04-0410-961f-82ee72b054a4
	Delete.
	* name-lookup.h (set_class_bindings,
	insert_late_enum_def_bindings): Declare.
	* decl.c (finish_enum_value_list): Adjust for
	insert_late_enum_def_bindings name change.
	* class.c (finish_struct_1): Call set_class_bindings.
	(count_fields, add_fields_to_record_type,
	add_enum_fields_to_record_type, sorted_fields_type_new,
	insert_into_classtype_sorted_fields,
	insert_late_enum_def_into_classtype_sorted_fields): Move to ...
	* name-lookup.h (count_fields, add_fields_to_record_type,
	add_enum_fields_to_record_type, sorted_fields_type_new,
	set_class_bindings, insert_late_enum_def_bindings): ... here.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251387 138bc75d-0d04-0410-961f-82ee72b054a4
	bindings map.
	(CLASSTYPE_SORTED_FIELDS): Delete.
	(CLASSTYPE_BINDINGS): New.
	* decl.c (finish_enum_value_list): Swap args of
	insert_late_enum_def_bindings.
	* name-lookup.c (lookup_field_1): Replace binary search of sorted
	fields with map->get.
	(sorted_fields_type_new, count_fields,
	add_fields_to_record_type, add_enum_fields_to_record_type): Delete.
	(add_class_member, add_class_members): New.
	(set_class_bindings): Create map and insert.
	(insert_late_enum_def_binding): Swap parms.  Use add_clasS_member.
	* ptree.c (cxx_print_type): Delete sorted fields printing.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251388 138bc75d-0d04-0410-961f-82ee72b054a4
	* gfortran.dg/dec_init_1.f90 (dummy): Use ichar in print statement.
	* gfortran.dg/dec_init_2.f90 (dummy): Ditto.
	* gfortran.dg/dec_init_3.f90 (dummy): Ditto.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251389 138bc75d-0d04-0410-961f-82ee72b054a4
	PR fortran/81770
	* expr.c (gfc_check_pointer_assign): Improve the check whether pointer
	may outlive pointer target.


2017-08-28  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/81770
	* gfortran.dg/warn_target_lifetime_3.f90: Fix a typo.
	* gfortran.dg/warn_target_lifetime_4.f90: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251390 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251395 138bc75d-0d04-0410-961f-82ee72b054a4
	to a class.  Add ctor/dtor, methods and data members.
	(edge_info::edge_info): Renamed from allocate_edge_info.
	Initialize additional members.
	(edge_info::~edge_info): New.
	(free_dom_edge_info): Delete the edge info.
	(record_edge_info): Use new class & associated member functions.
	Tighten forms for testing for edge equivalences.
	(record_temporary_equivalences): Iterate over the simple
	equivalences rather than assuming there's only one per edge.
	(cprop_into_successor_phis): Iterate over the simple
	equivalences rather than assuming there's only one per edge.
	(optimize_stmt): Use operand_equal_p rather than pointer
	equality for mini-DSE code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251396 138bc75d-0d04-0410-961f-82ee72b054a4
	derive_equivalences.
	(derive_equivalences_from_bit_ior, record_temporary_equivalences):
	Code moved into....
	(edge_info::derive_equivalences): New private member function

	* gcc.dg/torture/pr57214.c: Fix type of loop counter.
	* gcc.dg/tree-ssa/ssa-sink-16.c: Disable DOM.
	* gcc.dg/tree-ssa/ssa-dom-thread-11.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-12.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-13.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-14.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-15.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-16.c: New test.
	* gcc.dg/tree-ssa/ssa-dom-thread-17.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251397 138bc75d-0d04-0410-961f-82ee72b054a4
	Dominik Infuehr <dominik.infuehr@theobroma-systems.com>

	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Properly confine
	life to the active subtree.

	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251398 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-29  Martin Liska  <mliska@suse.cz>

	PR other/39851
	* gcc.c (driver_handle_option): Add new argument.
	* opts-common.c (handle_option): Pass
	target_option_override_hook.
	* opts-global.c (lang_handle_option): Add new option.
	(set_default_handlers):  Add new argument.
	(decode_options): Likewise.
	* opts.c (target_handle_option): Likewise.
	(common_handle_option): Call target_option_override_hook.
	* opts.h (struct cl_option_handler_func): Add hook for
	target option override.
	(struct cl_option_handlers): Likewise.
	(set_default_handlers): Add new argument.
	(decode_options): Likewise.
	(common_handle_option): Likewise.
	(target_handle_option): Likewise.
	* toplev.c (toplev::main): Pass targetm.target_option.override
	hook.
2017-08-29  Martin Liska  <mliska@suse.cz>

	PR other/39851
	* c-common.c (parse_optimize_options): Add argument to function
	call.
	* c-pragma.c (handle_pragma_diagnostic): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251400 138bc75d-0d04-0410-961f-82ee72b054a4
This patch sets the nothrow flag for various calls to internal functions
that are not inherently NOTHROW (and so can't be declared that way in
internal-fn.def) but that are used in contexts that can guarantee
NOTHROWness.

2017-08-29  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* gimplify.c (gimplify_call_expr): Copy the nothrow flag to
	calls to internal functions.
	(gimplify_modify_expr): Likewise.
	* tree-call-cdce.c (use_internal_fn): Likewise.
	* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
	(convert_to_divmod): Set the nothrow flag.
	* tree-if-conv.c (predicate_mem_writes):  Likewise.
	* tree-vect-stmts.c (vectorizable_mask_load_store): Likewise.
	(vectorizable_call): Likewise.
	(vectorizable_store): Likewise.
	(vectorizable_load): Likewise.
	* tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
	(vect_recog_mask_conversion_pattern): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251401 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-29  Martin Liska  <mliska@suse.cz>

	PR other/39851
	* gcc-interface/trans.c (Pragma_to_gnu): Set argument to NULL.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251406 138bc75d-0d04-0410-961f-82ee72b054a4
	* dwarf2out.c (add_dwarf_attr): When checking is enabled verify
	we do not add a DW_AT_inline attribute twice.
	(gen_subprogram_die): Remove code setting DW_AT_inline on
	DECL_ABSTRACT_P nodes.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251409 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc/config/msp430/msp430.c (msp430_attr): Mark interrupt
	handlers as used.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251410 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-29  Martin Liska  <mliska@suse.cz>

	* passes.def: Include pass_lower_switch.
	* stmt.c (dump_case_nodes): Remove and move to
	tree-switch-conversion.
	(case_values_threshold): Likewise.
	(expand_switch_as_decision_tree_p): Likewise.
	(emit_case_decision_tree): Likewise.
	(expand_case): Likewise.
	(balance_case_nodes): Likewise.
	(node_has_low_bound): Likewise.
	(node_has_high_bound): Likewise.
	(node_is_bounded): Likewise.
	(emit_case_nodes): Likewise.
	(struct simple_case_node): New struct.
	(add_case_node): Remove.
	(emit_case_dispatch_table): Use vector instead of case_list.
	(reset_out_edges_aux): Remove.
	(compute_cases_per_edge): Likewise.
	(expand_case): Build list of simple_case_node.
	(expand_sjlj_dispatch_table): Use it.
	* tree-switch-conversion.c (struct case_node): Moved from
	stmt.c and adjusted.
	(emit_case_nodes): Likewise.
	(node_has_low_bound): Likewise.
	(node_has_high_bound): Likewise.
	(node_is_bounded): Likewise.
	(case_values_threshold): Likewise.
	(reset_out_edges_aux): Likewise.
	(compute_cases_per_edge): Likewise.
	(add_case_node): Likewise.
	(dump_case_nodes): Likewise.
	(balance_case_nodes): Likewise.
	(expand_switch_as_decision_tree_p): Likewise.
	(emit_jump): Likewise.
	(emit_case_decision_tree): Likewise.
	(try_switch_expansion): Likewise.
	(do_jump_if_equal): Likewise.
	(emit_cmp_and_jump_insns): Likewise.
	(fix_phi_operands_for_edge): New function.
	(record_phi_operand_mapping): Likewise.
	(class pass_lower_switch): New pass.
	(pass_lower_switch::execute): New function.
	(make_pass_lower_switch): Likewise.
	(conditional_probability):
	* timevar.def: Add TV_TREE_SWITCH_LOWERING.
	* tree-pass.h: Add make_pass_lower_switch.
2017-08-29  Martin Liska  <mliska@suse.cz>

	* gcc.dg/tree-prof/update-loopch.c: Scan patterns in
	switchlower.
	* gcc.dg/tree-ssa/vrp104.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251412 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	    Jakub Jelinek  <jakub@redhat.com>
	    Richard Biener  <rguenther@suse.de>

	PR tree-optimization/81503
	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure
	folded constant fits in the target type; reorder tests for clarity.

[gcc/testsuite]

2017-08-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/81503
	* gcc.c-torture/execute/pr81503.c: New file.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251414 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/i386.c (ix86_option_override_internal): Simplify
	setting of opts->x_flag_entry.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251416 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.target/i386/abi-2.c: Ditto.
	* gcc.target/i386/interrupt-sibcall-2.c: Ditto.
	* gcc.target/i386/pr22076.c: Ditto.
	* gcc.target/i386/pr37216.c: Ditto.
	* gcc.target/i386/pr39431.c: Ditto.
	* gcc.target/i386/pr40906-1.c: Ditto.
	* gcc.target/i386/pr40906-2.c: Ditto.
	* gcc.target/i386/pr43766.c: Ditto.
	* gcc.target/i386/pr46226.c: Ditto.
	* gcc.target/i386/pr46470.c: Ditto.
	* gcc.target/i386/pr59929.c: Ditto.
	* gcc.target/i386/sse-10.c: Ditto.
	* gcc.target/i386/vararg-1.c: Ditto.
	* gcc.target/i386/vararg-1.c: Ditto.
	* gcc.target/i386/asm-6.c: Compile for fpic target only.
	* gcc.target/i386/pr44223.c: Ditto.
	* gcc.target/i386/bitfield1.c (dg-options): Remove target selector.
	* gcc.target/i386/bitfield2.c (dg-options): Ditto.
	* gcc.target/i386/pr67480.c (dg-options): Ditto.
	* gcc.target/i386/vect-cond-1.c (dg-options): Ditto.
	* gcc.target/i386/bittest.c (scan-assembler-times): Ditto.
	* gcc.target/i386/darwin-fpmath.c (dg-do): Simplify target selector.
	* gcc.target/i386/mvc9.c: Compile for lto target only.
	* gcc.target/i386/pr45234.c: Compile for ia32 target only.
	* gcc.target/i386/pr49866.c: Compile for lp64 target only.
	* gcc.target/i386/pr57091.c: Ditto.
	* gcc.target/i386/pr61599-2.c: Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251417 138bc75d-0d04-0410-961f-82ee72b054a4
@zbeekman zbeekman merged commit d32e841 into teams Aug 29, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant