Commit Graph

153613 Commits

Author SHA1 Message Date
Eric Botcazou
b1b2b511e5 trans.c (gnat_to_gnu): Fix formatting.
* gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Fix formatting.
	<N_Allocator>: Use properly typed constants.
	(extract_values): Move around.
	(pos_to_constructor): Minor tweaks.
	(Sloc_to_locus): Fix formatting.
	* gcc-interface/utils.c (process_deferred_decl_context): Minor tweaks.
	* gcc-interface/gigi.h (MARK_VISITED): Remove blank line.
	(Gigi_Equivalent_Type): Adjust head comment.
	* gcc-interface/decl.c (Gigi_Equivalent_Type): Likewise.

From-SVN: r248050
2017-05-15 08:14:32 +00:00
Eric Botcazou
04bc3c93be decl.c (gnat_to_gnu_entity): When there is a representation clause on an extension...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When there
	is a representation clause on an extension, propagate the alignment of
	the parent type only if the platform requires strict alignment.

From-SVN: r248049
2017-05-15 08:00:41 +00:00
Adhemerval Zanella
c39d309a25 lb1spc.S: Emit .note.GNU-stack section for a non-executable stack.
* config/sparc/lb1spc.S [__ELF__ && __linux__]: Emit .note.GNU-stack
	section for a non-executable stack.

From-SVN: r248043
2017-05-15 07:36:18 +00:00
GCC Administrator
4d37001f1e Daily bump.
From-SVN: r248041
2017-05-15 00:16:33 +00:00
Krister Walfridsson
eac8c9f2d3 PR target/80600 - hidden symbol '__cpu_model' is referenced by DSO
gcc/ChangeLog:

        PR target/80600
        * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.

libgcc/ChangeLog:

        PR target/80600
        * config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.

From-SVN: r248037
2017-05-14 22:49:03 +00:00
Uros Bizjak
9430f7b8e7 i386.i386.c (ix86_cc_modes_compatible): CCNOmode is compatible with CCGOCmode and with CCZmode.
* config/i386.i386.c (ix86_cc_modes_compatible): CCNOmode is
	compatible with CCGOCmode and with CCZmode.

From-SVN: r248036
2017-05-14 20:00:48 +02:00
Martin Sebor
a104bd8859 PR middle-end/77671 - missing -Wformat-overflow warning on sprintf overflow with %s
gcc/ChangeLog:

	PR middle-end/77671
	* gimple-fold.c (gimple_fold_builtin_sprintf): Make extern.
	(gimple_fold_builtin_snprintf): Same.
	* gimple-fold.h (gimple_fold_builtin_sprintf): Declare.
	(gimple_fold_builtin_snprintf): Same.
	* gimple-ssa-sprintf.c (get_format_string): Correct the detection
	of character types.
	(is_call_safe): New function.
	(try_substitute_return_value): Call it.
	(try_simplify_call): New function.
	(pass_sprintf_length::handle_gimple_call): Call it.

gcc/testsuite/ChangeLog:

PR middle-end/77671
	* gcc.dg/tree-ssa/builtin-sprintf-7.c: New test.
	* gcc.dg/tree-ssa/builtin-sprintf-8.c: New test.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Adjust.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust.

From-SVN: r248035
2017-05-14 11:50:28 -06:00
Martin Sebor
c6c0251911 PR middle-end/80669 - Bad -Wstringop-overflow warnings for stpncpy
gcc/ChangeLog:

	PR middle-end/80669
	* builtins.c (expand_builtin_stpncpy): Simplify.

gcc/testsuite/ChangeLog:

	PR middle-end/80669
	* gcc.dg/builtin-stpncpy.c: New test.

From-SVN: r248034
2017-05-14 10:06:41 -06:00
Daniel Santos
d6d4d7701a i386.opt: Add option -mcall-ms2sysv-xlogues.
gcc/ChangeLog:

	* config/i386/i386.opt: Add option -mcall-ms2sysv-xlogues.
	* config/i386/i386.h
	(x86_64_ms_sysv_extra_clobbered_registers): Change type to unsigned.
	(NUM_X86_64_MS_CLOBBERED_REGS): New macro.
	(struct machine_function): Add new members call_ms2sysv,
	call_ms2sysv_pad_in, call_ms2sysv_pad_out and call_ms2sysv_extra_regs.
	(struct machine_frame_state): New fields sp_realigned and
	sp_realigned_offset.
	* config/i386/i386.c
	(enum xlogue_stub): New enum.
	(enum xlogue_stub_sets): New enum.
	(class xlogue_layout): New class.
	(struct ix86_frame): New fields stack_realign_allocate_offset,
	stack_realign_offset and outlined_save_offset.  Modify comments to
	detail stack layout when using out-of-line stubs.
	(ix86_target_string): Add -mcall-ms2sysv-xlogues option.
	(ix86_option_override_internal): Add sorry() for TARGET_SEH and
	-mcall-ms2sysv-xlogues.
	(stub_managed_regs): New static variable.
	(ix86_save_reg): Add new parameter ignore_outlined to optionally omit
	registers managed by out-of-line stub.
	(disable_call_ms2sysv_xlogues): New function.
	(ix86_compute_frame_layout): Modify re-alignment calculations, disable
	m->call_ms2sysv when appropriate and compute frame layout for
	out-of-line stubs.
	(sp_valid_at, fp_valid_at): New inline functions.
	(choose_basereg): New function.
	(choose_baseaddr): Add align parameter, use choose_basereg and modify
	all callers.
	(ix86_emit_save_reg_using_mov, ix86_emit_restore_sse_regs_using_mov):
	Use align parameter of choose_baseaddr to generated aligned SSE movs
	when possible.
	(pro_epilogue_adjust_stack): Modify to track
	machine_frame_state::sp_realigned.
	(ix86_nsaved_regs): Modify to accommodate changes to ix86_save_reg.
	(ix86_nsaved_sseregs): Likewise.
	(ix86_emit_save_regs): Likewise.
	(ix86_emit_save_regs_using_mov): Likewise.
	(ix86_emit_save_sse_regs_using_mov): Likewise.
	(get_scratch_register_on_entry): Likewise.
	(gen_frame_set): New function.
	(gen_frame_load): Likewise.
	(gen_frame_store): Likewise.
	(emit_outlined_ms2sysv_save): Likewise.
	(emit_outlined_ms2sysv_restore): Likewise.
	(ix86_expand_prologue): Modify stack re-alignment code and call
	emit_outlined_ms2sysv_save when appropriate.
	(ix86_emit_leave): Clear machine_frame_state::sp_realigned.  Add
	parameter rtx_insn *insn, which allows the function to be used to only
	generate the notes.
	(ix86_expand_epilogue): Modify validity checks of frame and stack
	pointers, and call emit_outlined_ms2sysv_restore when appropriate.
	(ix86_expand_call): Modify to enable m->call_ms2sysv when appropriate.
	* config/i386/predicates.md
	(save_multiple): New predicate.
	(restore_multiple): Likewise.
	* config/i386/sse.md
	(save_multiple<mode>): New pattern.
	(save_multiple_realign<mode>): Likewise.
	(restore_multiple<mode>): Likewise.
	(restore_multiple_and_return<mode>): Likewise.
	(restore_multiple_leave_return<mode>): Likewise.
	* Makefile.in: Export HOSTCXX and HOSTCXXFLAGS to site.exp

gcc/testsuite/ChangeLog:

	* gcc.target/x86_64/abi/ms-sysv/do-test.S: New file.
	* gcc.target/x86_64/abi/ms-sysv/gen.cc: Likewise.
	* gcc.target/x86_64/abi/ms-sysv/ms-sysv.c: Likewise.
	* gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Likewise.

libgcc/ChangeLog:

	* config.host: Add i386/t-msabi to i386/t-linux file list.
	* config/i386/i386-asm.h: New file.
	* config/i386/resms64.S: New file.
	* config/i386/resms64f.S: New file.
	* config/i386/resms64fx.S: New file.
	* config/i386/resms64x.S: New file.
	* config/i386/savms64.S: New file.
	* config/i386/savms64f.S: New file.
	* config/i386/t-msabi: New file.

From-SVN: r248029
2017-05-14 12:22:08 +02:00
Julia Koval
b9bdd60b87 i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
* config/i386/i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
	* config/i386/i386-builtin.def (__builtin_ia32_xgetbv)
	(__builtin_ia32_xsetbv): New builtins.
	* config/i386/i386.c (ix86_expand_special_args_builtin):
	Process new types.
	(ix86_expand_builtin): Special expand for new intrinsics.
	* config/i386/i386.md (UNSPECV_XGETBV, UNSPECV_XSETBV): New.
	(xsetbv, xsetbv_rex64, xgetbv, xgetbv_rex64): New insn patterns.
	* config/i386/xsaveintrin.h (_xsetbv, _getbv): New intrinsics.

testsuite/ChangeLog:

	* gcc.target/i386/xgetsetbv.c: New test.

From-SVN: r248028
2017-05-14 09:18:38 +02:00
Trevor Saunders
6fa95e0961 make inverted_post_order_compute() operate on a vec
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cfganal.c (inverted_post_order_compute): Change argument type
	to vec *.
	* cfganal.h (inverted_post_order_compute): Adjust prototype.
	* df-core.c (rest_of_handle_df_initialize): Adjust.
	(rest_of_handle_df_finish): Likewise.
	(df_analyze_1): Likewise.
	(df_analyze): Likewise.
	(loop_inverted_post_order_compute): Change argument to be a vec *.
	(df_analyze_loop): Adjust.
	(df_get_n_blocks): Likewise.
	(df_get_postorder): Likewise.
	* df.h (struct df_d): Change field to be a vec.
	* lcm.c (compute_laterin): Adjust.
	(compute_available): Likewise.
	* lra-lives.c (lra_create_live_ranges_1): Likewise.
	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
	* tree-ssa-pre.c (compute_antic): Likewise.

From-SVN: r248027
2017-05-14 00:39:23 +00:00
Trevor Saunders
35bfaf4d53 make depth_first_search_ds a class
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cfganal.c (connect_infinite_loops_to_exit): Adjust.
	(depth_first_search::depth_first_search): Change structure init
	function to this constructor.
	(depth_first_search::add_bb): Rename function to this member.
	(depth_first_search::execute): Likewise.
	(flow_dfs_compute_reverse_finish): Adjust.

From-SVN: r248026
2017-05-14 00:39:13 +00:00
Trevor Saunders
8f48c62273 make more vars auto_sbitmaps
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* ddg.c (find_nodes_on_paths): Use auto_sbitmap.
	(longest_simple_path): Likewise.
	* shrink-wrap.c (spread_components): Likewise.
	(disqualify_problematic_components): Likewise.
	(emit_common_heads_for_components): Likewise.
	(emit_common_tails_for_components): Likewise.
	(insert_prologue_epilogue_for_components): Likewise.

From-SVN: r248025
2017-05-14 00:39:08 +00:00
Trevor Saunders
0236bb0412 make a member an auto_sbitmap
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* tree-ssa-dse.c (dse_dom_walker): Make m_live_byes a
	auto_sbitmap.

From-SVN: r248024
2017-05-14 00:39:04 +00:00
Trevor Saunders
d648b5ff3c use auto_bitmap more with alternate obstacks
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* df-core.c (df_set_blocks): Start using auto_bitmap.
	(df_compact_blocks): Likewise.
	* df-problems.c (df_rd_confluence_n): Likewise.
	* df-scan.c (df_insn_rescan_all): Likewise.
	(df_process_deferred_rescans): Likewise.
	(df_update_entry_block_defs): Likewise.
	(df_update_exit_block_uses): Likewise.
	(df_entry_block_bitmap_verify): Likewise.
	(df_exit_block_bitmap_verify): Likewise.
	(df_scan_verify): Likewise.
	* lra-constraints.c (lra_constraints): Likewise.
	(undo_optional_reloads): Likewise.
	(lra_undo_inheritance): Likewise.
	* lra-remat.c (calculate_gen_cands): Likewise.
	(do_remat): Likewise.
	* lra-spills.c (assign_spill_hard_regs): Likewise.
	(spill_pseudos): Likewise.
	* tree-ssa-pre.c (bitmap_set_and): Likewise.
	(bitmap_set_subtract_values): Likewise.

From-SVN: r248023
2017-05-14 00:38:59 +00:00
Trevor Saunders
8f9b31f7f1 move several bitmaps from gc memory to the default obstack and use auto_bitmap
These places where probably trying to use the default bitmap obstack,
but passing 0 to bitmap_initialize actually uses gc allocation.  In any
case they are all cleaned up before going out of scope so using
auto_bitmap should be fine.

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* haifa-sched.c (estimate_shadow_tick): Replace manual bitmap
	management with auto_bitmap.
	(fix_inter_tick): Likewise.
	(fix_recovery_deps): Likewise.
	* ira.c (add_store_equivs): Likewise.
	(find_moveable_pseudos): Likewise.
	(split_live_ranges_for_shrink_wrap): Likewise.
	* print-rtl.c (rtx_reuse_manager::rtx_reuse_manager): Likewise.
	(rtx_reuse_manager::seen_def_p): Likewise.
	(rtx_reuse_manager::set_seen_def): Likewise.
	* print-rtl.h (class rtx_reuse_manager): Likewise.

From-SVN: r248022
2017-05-14 00:38:53 +00:00
Trevor Saunders
0e3de1d41e use auto_bitmap more
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* bt-load.c (combine_btr_defs): Use auto_bitmap to manage bitmap
	lifetime.
	(migrate_btr_def): Likewise.
	* cfgloop.c (get_loop_body_in_bfs_order): Likewise.
	* df-core.c (loop_post_order_compute): Likewise.
	(loop_inverted_post_order_compute): Likewise.
	* hsa-common.h: Likewise.
	* hsa-gen.c (hsa_bb::~hsa_bb): Likewise.
	* init-regs.c (initialize_uninitialized_regs): Likewise.
	* ipa-inline.c (resolve_noninline_speculation): Likewise.
	(inline_small_functions): Likewise.
	* ipa-reference.c (ipa_reference_write_optimization_summary): Likewise.
	* ira.c (combine_and_move_insns): Likewise.
	(build_insn_chain): Likewise.
	* loop-invariant.c (find_invariants): Likewise.
	* lower-subreg.c (propagate_pseudo_copies): Likewise.
	* predict.c (tree_predict_by_opcode): Likewise.
	(predict_paths_leading_to): Likewise.
	(predict_paths_leading_to_edge): Likewise.
	(estimate_loops_at_level): Likewise.
	(estimate_loops): Likewise.
	* shrink-wrap.c (try_shrink_wrapping): Likewise.
	(spread_components): Likewise.
	* tree-cfg.c (remove_edge_and_dominated_blocks): Likewise.
	* tree-loop-distribution.c (rdg_build_partitions): Likewise.
	* tree-predcom.c (tree_predictive_commoning_loop): Likewise.
	* tree-ssa-coalesce.c (coalesce_ssa_name): Likewise.
	* tree-ssa-phionlycprop.c (pass_phi_only_cprop::execute): Likewise.
	* tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
	* tree-ssa-threadupdate.c (compute_path_counts): Likewise.
	(mark_threaded_blocks): Likewise.
	(thread_through_all_blocks): Likewise.
	* tree-ssa.c (verify_ssa): Likewise.
	(execute_update_addresses_taken): Likewise.
	* tree-ssanames.c (verify_ssaname_freelists): Likewise.

From-SVN: r248021
2017-05-14 00:38:48 +00:00
Trevor Saunders
792bb49bb0 replace some manual stacks with auto_vec
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* cfganal.c (mark_dfs_back_edges): Replace manual stack with
	auto_vec.
	(post_order_compute): Likewise.
	(inverted_post_order_compute): Likewise.
	(pre_and_rev_post_order_compute_fn): Likewise.

From-SVN: r248020
2017-05-14 00:38:40 +00:00
Trevor Saunders
a5c9f2b736 allow constructing a auto_vec with a preallocation, and a possibly larger actual allocation size
This allows us to set the capacity of the vector when we construct it,
and still use a stack buffer when the size is small enough.

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* genrecog.c (int_set::int_set): Explicitly construct our
	auto_vec base class.
	* vec.h (auto_vec::auto_vec): New constructor.

From-SVN: r248019
2017-05-14 00:38:35 +00:00
Trevor Saunders
4b5c84f497 allow auto_bitmap to use other bitmap obstacks
gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* bitmap.h (class auto_bitmap): New constructor taking
	bitmap_obstack * argument.

From-SVN: r248018
2017-05-14 00:38:29 +00:00
Trevor Saunders
a4d51bfbc6 store the bitmap_head within the auto_bitmap
This gets rid of one allocation per bitmap.  Often the bitmap_head is
now on the stack, when it isn't its part of some other struct on the
heap instead of being refered to by that struct.  On 64 bit platforms
this will increase the size of such structs by 24 bytes, but its an over
all win since we don't need an 8 byte pointer pointing at the
bitmap_head.  Given that the auto_bitmap owns the bitmap_head anyway we
know there would never be a place where two auto_bitmaps would refer to
the same bitmap_head object.

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* bitmap.h (class auto_bitmap): Change type of m_bits to
	bitmap_head, and adjust ctor / dtor and member operators.

From-SVN: r248017
2017-05-14 00:38:24 +00:00
GCC Administrator
470e7e5650 Daily bump.
From-SVN: r248016
2017-05-14 00:16:26 +00:00
Nicolas Koenig
28ae01cd23 re PR fortran/80442 (Rejects DATA statement with array slice)
2017-05-09  Nicolas Koenig  <koenigni@student.ethz.ch>

	PR fortran/80442
	* array.c (gfc_ref_dimen_size): Simplify stride
	expression
	* data.c (gfc_advance_section): Simplify start,
	end and stride expressions
	(gfc_advance_section): Simplify start and end
	expressions
	(gfc_get_section_index): Simplify start expression 

2017-05-09  Nicolas Koenig  <koenigni@student.ethz.ch>

	PR fortran/80442
	* gfortran.dg/impl_do_var_data.f90: New Test

From-SVN: r248012
2017-05-13 23:38:36 +00:00
Uros Bizjak
364490206e compare-elim.c (equivalent_reg_at_start): Return NULL_RTX when returned register mode doesn't match original mode.
* compare-elim.c (equivalent_reg_at_start): Return NULL_RTX
	when returned register mode doesn't match original mode.

From-SVN: r248009
2017-05-13 23:07:49 +02:00
Jerry DeLisle
2263019d60 io.c (gfc_resolve_dt): Fix returns to bool type.
2017-05-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* io.c (gfc_resolve_dt): Fix returns to bool type.

From-SVN: r248008
2017-05-13 15:33:34 +00:00
Jeff Law
65fdd5e9ac mn10300.c (mn10300_match_ccmode): Fix where we look for cc setter after the compare-elim changes.
2017-05-12  Jeff Law  <law@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* config/mn10300/mn10300.c (mn10300_match_ccmode): Fix where
	we look for cc setter after the compare-elim changes.
	* config/mn10300/mn10300.md (addsi3_flags): Fix order of patterns
	within the vector to match what compare-elim now expects.
	(subsi3_flags, andsi3_flags, iorsi3_flags): Likewise.
	(xorsi3_flags, one_cmplsi2_flags): Likewise.

	* config/rx/rx.c (rx_match_ccmode): Fix where we look cc setter
	after the compare-elim changes.
	* config/rx/rx.md (abssi2_flags): Fix order of patterns within
	the vector to match what compare-elim now expects.
	(addsi3_flags, adc_flags, addsi3_flags peepholes): Likewise.
	(andsi3_flags, negsi2_flags, one_cmplsi2_flags): Likewise.
	(iorsi3_flags, rotlsi3_flags, rotrsi3_flags): Likewise.
	(ashrsi3_flags, lshrsi3_flags, ashlsi3_flags): Likewise.
	(ssaddsi3, subsi3_flags, sbb_flags, xorsi3_flags): Likewise.

	* config/visium/visium.c (single_set_and_flags): Fix where
	we look for cc setter after the compare-elim changes.
	* config/visium/visium.md (flags_subst_logic): Fix order of patterns
	with the vector to match what compare-elim now expects.
	(flags_subst_arith, add<mode>3_insn_set_carry): Likewise.
	(add<mode>3_insn_set_overflow, addsi3_insn_set_carry): Likewise.
	(addsi3_insn_set_overflow, sub<mode>3_insn_set_carry): Likewise.
	(sub<mode>3_insn_set_overflow, subsi3_insn_set_carry): Likewise.
	(subsi3_insn_set_overflow, negsi2_insn_set_carry): Likewise.
	(neg<mode>2_insn_set_overflow): Likewise.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r248007
2017-05-13 08:40:53 -06:00
Pekka Jääskeläinen
c7488b4ffb BRIG FE: Fix an assertion when doing an 'lda' of
a private array offset.

From-SVN: r248006
2017-05-13 11:57:16 +00:00
Jim Wilson
f96bf49a02 Patch for RTL expand bug affecting aarch64 vector code.
gcc/
	PR middle-end/79794
    	* expmed.c (extract_bit_field_1): Add alt_rtl argument.  Before
	maybe_expand_insn call, set ops[0].target.  If still set after call,
	set alt_rtl.  Add extra arg to recursive calls.
	(extract_bit_field): Add alt_rtl argument.  Pass to
	extract_bit_field.
	* expmed.h (extract_bit_field): Fix prototype.
	* expr.c (emit_group_load_1, copy_blkmode_from_reg)
	(copy_blkmode_to_reg, read_complex_part, store_field): Pass extra NULL
	to extract_bit_field_calls.
	(expand_expr_real_1): Pass alt_rtl to expand_expr_real instead of 0.
	Pass alt_rtl to extract_bit_field calls.
	* calls.c (store_unaligned_arguments_into_psuedos)
	load_register_parameters): Pass extra NULL to extract_bit_field calls.
	* optabs.c (maybe_legitimize_operand): Clear op->target when call
	gen_reg_rtx.
	* optabs.h (struct expand_operand): Add target bitfield.

From-SVN: r248004
2017-05-12 18:32:40 -07:00
GCC Administrator
7f390a7b6c Daily bump.
From-SVN: r248003
2017-05-13 00:16:33 +00:00
François Dumont
3838e0c086 Revert revision 247926.
From-SVN: r247998
2017-05-12 21:19:39 +00:00
Joseph Myers
e9cd48dcee * sv.po: Update.
From-SVN: r247996
2017-05-12 21:29:43 +01:00
Martin Sebor
9b5f12ae40 re PR testsuite/80643 (NA->FAIL: gcc.dg/pr79214.c gcc.dg/pr79222.c gcc.dg/pr79223.c gcc.dg/tree-ssa/builtins-folding-gimple-ub.c)
gcc/testsuite/ChangeLog:

	PR testsuite/80643
	* gfortran.dg/mvbits_7.f90: Prune diagnostic output incidental
	to the purpose of the test.

From-SVN: r247993
2017-05-12 13:23:00 -06:00
Uros Bizjak
4f0473fe89 compare-elim.c (try_eliminate_compare): Canonicalize operation with embedded compare to [(set (reg:CCM) (compare:CCM...
* compare-elim.c (try_eliminate_compare): Canonicalize
	operation with embedded compare to
	[(set (reg:CCM) (compare:CCM (operation) (immediate)))
	 (set (reg) (operation)].

	* config/i386/i386.c (TARGET_FLAGS_REGNUM): New define.

From-SVN: r247992
2017-05-12 21:04:05 +02:00
Uros Bizjak
88ce9dc38a re PR target/80723 (FAIL gcc.target/i386/cadd.c scan assembler sbb)
PR target/80723
	* config/i386/i386.c (ix86_rtx_cost) [case PLUS]: Ignore the
	cost of adding a carry flag for ADC instruction.
	[case MINUS]: Ignore the cost of subtracting a carry flag
	for SBB instruction.

From-SVN: r247991
2017-05-12 20:52:51 +02:00
Steven Munroe
b76f155009 config.gcc (powerpc*-*-*): Add bmi2intrin.h, bmiintrin.h, and x86intrin.h
[gcc]

2017-05-12  Steven Munroe  <munroesj@gcc.gnu.org>

	* config.gcc (powerpc*-*-*): Add bmi2intrin.h, bmiintrin.h,
	and x86intrin.h
	* config/rs6000/bmiintrin.h: New file.
	* config/rs6000/bmi2intrin.h: New file.
	* config/rs6000/x86intrin.h: New file.



[gcc/testsuite]

2017-05-12  Steven Munroe  <munroesj@gcc.gnu.org>

	* gcc.target/powerpc/bmi-andn-1.c: New file
	* gcc.target/powerpc/bmi-andn-2.c: New file.
	* gcc.target/powerpc/bmi-bextr-1.c: New file.
	* gcc.target/powerpc/bmi-bextr-2.c: New file.
	* gcc.target/powerpc/bmi-bextr-4.c: New file.
	* gcc.target/powerpc/bmi-bextr-5.c: New file.
	* gcc.target/powerpc/bmi-blsi-1.c: New file.
	* gcc.target/powerpc/bmi-blsi-2.c: New file.
	* gcc.target/powerpc/bmi-blsmsk-1.c: new file.
	* gcc.target/powerpc/bmi-blsmsk-2.c: New file.
	* gcc.target/powerpc/bmi-blsr-1.c: New file.
	* gcc.target/powerpc/bmi-blsr-2.c: New File.
	* gcc.target/powerpc/bmi-check.h: New File.
	* gcc.target/powerpc/bmi-tzcnt-1.c: new file.
	* gcc.target/powerpc/bmi-tzcnt-2.c: New file.
	* gcc.target/powerpc/bmi2-bzhi32-1.c: New file.
	* gcc.target/powerpc/bmi2-bzhi64-1.c: New file.
	* gcc.target/powerpc/bmi2-bzhi64-1a.c: New file.
	* gcc.target/powerpc/bmi2-check.h: New file.
	* gcc.target/powerpc/bmi2-mulx32-1.c: New file.
	* gcc.target/powerpc/bmi2-mulx32-2.c: New file.
	* gcc.target/powerpc/bmi2-mulx64-1.c: New file.
	* gcc.target/powerpc/bmi2-mulx64-2.c: New file.
	* gcc.target/powerpc/bmi2-pdep32-1.c: New file.
	* gcc.target/powerpc/bmi2-pdep64-1.c: New file.
	* gcc.target/powerpc/bmi2-pext32-1.c: New File.
	* gcc.target/powerpc/bmi2-pext64-1.c: New file.
	* gcc.target/powerpc/bmi2-pext64-1a.c: New File.

From-SVN: r247988
2017-05-12 18:34:44 +00:00
Paolo Carlini
2a3fa75aac re PR c++/60430 (static_assert and reference to const/constexpr)
2017-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60430
	* g++.dg/cpp0x/pr60430.C: New.

From-SVN: r247986
2017-05-12 17:53:54 +00:00
Jeff Law
e8bf7c7b75 tree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding markers.
* tree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding
	markers.

	* g++.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output.

From-SVN: r247985
2017-05-12 11:36:01 -06:00
Peter Bergner
284d1f76e9 re PR middle-end/80707 (r247844 causes error: extra outgoing edge)
gcc/
	PR middle-end/80707
	* tree-cfg.c: Remove cfg edges of unreachable case statements.

gcc/testsuite/
	PR middle-end/80707
	* g++.dg/pr80707.C: New test.

From-SVN: r247984
2017-05-12 12:13:07 -05:00
Than McIntosh
da55a299c5 compiler: add calling Bfunction Backend::call_expression
Pass in the calling (containing) Bfunction when invoking the Backend
    method call_expression(), so as to handle the case where generation of
    the call forces the creation of a temp var within the calling
    function.
    
    Reviewed-on: https://go-review.googlesource.com/43270

From-SVN: r247981
2017-05-12 16:36:50 +00:00
Eric Botcazou
9dd19976b1 re PR ada/80117 (Standard'Word_Size is wrong for aarch64 ILP32)
* system-linux-arm.ads (Memory_Size): Use Long_Integer'Size
	instead of Word_Size.

	Revert
	2017-03-28  Andreas Schwab  <schwab@suse.de>

	PR ada/80117
	* system-linux-aarch64-ilp32.ads: New file.
	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
	from LIBGNAT_TARGET_PAIRS.
	(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
	(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
	LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
	or -mabi=ilp32, resp.

From-SVN: r247979
2017-05-12 15:55:46 +00:00
Will Schmidt
302a0e37cf rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vector divide builtins.
[gcc]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
	early expansion of vector divide builtins.
	(builtin_function_type): Add VSX_BUILTIN_UDIV_V2DI to the list of
	builtins identified as having unsigned arguments.


[gcc/testsuite]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* gcc.target/powerpc/fold-vec-div-float.c: New.
	* gcc.target/powerpc/fold-vec-div-floatdouble.c: New.
	* gcc.target/powerpc/fold-vec-div-longlong.c: New.

From-SVN: r247977
2017-05-12 15:40:04 +00:00
Will Schmidt
a7785078b5 rs6000.c (gimple-fold.h): New #include.
[gcc]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* config/rs6000/rs6000.c (gimple-fold.h): New #include.
	(rs6000_gimple_fold_builtin): Add handling for early GIMPLE
	expansion of vector logical operations (and, andc, or, xor,
	nor, orc, nand)

[gcc/testsuite]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* gcc.target/powerpc/fold-vec-logical-ands-char.c: New.
	* gcc.target/powerpc/fold-vec-logical-ands-int.c: New.
	* gcc.target/powerpc/fold-vec-logical-ands-longlong.c: New.
	* gcc.target/powerpc/fold-vec-logical-ands-short.c: New.
	* gcc.target/powerpc/fold-vec-logical-ors-char.c: New.
	* gcc.target/powerpc/fold-vec-logical-ors-int.c: New.
	* gcc.target/powerpc/fold-vec-logical-ors-longlong.c: New.
	* gcc.target/powerpc/fold-vec-logical-ors-short.c: New.
	* gcc.target/powerpc/fold-vec-logical-other-char.c: New.
	* gcc.target/powerpc/fold-vec-logical-other-int.c: New.
	* gcc.target/powerpc/fold-vec-logical-other-longlong.c: New.
	* gcc.target/powerpc/fold-vec-logical-other-short.c: New.

From-SVN: r247976
2017-05-12 15:35:17 +00:00
Will Schmidt
edc19e0370 gimple-fold.c (create_tmp_reg_or_ssa_name): Remove static declaration.
2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>

[gcc]
        * gimple-fold.c (create_tmp_reg_or_ssa_name): Remove static declaration.
        * gimple-fold.h (create_tmp_reg_or_ssa_name): New prototype.

From-SVN: r247975
2017-05-12 15:22:58 +00:00
Will Schmidt
d6bb7841f2 rs6000.c (rs6000_gimple_fold_builtin): Add handling for early GIMPLE expansion of vector multiplies.
[gcc]

2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>

        * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
        early GIMPLE expansion of vector multiplies.

From-SVN: r247974
2017-05-12 15:17:27 +00:00
Jonathan Wakely
f859f912e4 PR libstdc++/78939 make tuple_size<cv T> depend on tuple_size<T>
PR libstdc++/78939
	* include/std/utility (tuple_size<cv T>): Only define partial
	specializations when tuple_size<T>::value is valid.
	* testsuite/20_util/tuple/78939.cc: New.
	* testsuite/20_util/tuple/cv_tuple_size_neg.cc: New.

From-SVN: r247973
2017-05-12 15:43:11 +01:00
Uros Bizjak
48ac9454fa * gcc.target/i386/pr22152.c: Remove unneeded dg-additional-options.
From-SVN: r247972
2017-05-12 16:35:13 +02:00
Prakhar Bahuguna
82600dfc07 [ARM] Add missing TARGET_32BIT conditional to movsi
2017-05-12  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>

    gcc/
    * config/arm/arm.md (movsi): Add TARGET_32BIT in addition to the
    TARGET_HAVE_MOVT conditional.
    (movt splitter): Likewise.

From-SVN: r247971
2017-05-12 14:16:52 +00:00
Paolo Carlini
9206028e8c re PR c++/49604 (forward-declared enum's elements in class scope gets default access (class vs struct))
2017-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49604
	* g++.dg/cpp0x/forw_enum14.C: New.
	* g++.dg/cpp0x/forw_enum15.C: Likewise.

From-SVN: r247969
2017-05-12 13:20:21 +00:00
Ian Lance Taylor
06ace75d4b runtime: fix build for non-split-stack systems
Change memory allocation accounting for stacks to use stacks_sys,
    since that seems to be what it is for.
    
    Reviewed-on: https://go-review.googlesource.com/43297

From-SVN: r247967
2017-05-12 12:49:34 +00:00
Richard Biener
7af1c0ad98 tree-ssa-sccvn.h (has_VN_INFO): Declare.
2017-05-12  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.h (has_VN_INFO): Declare.
	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
	Fold all stmts not inplace.

	* g++.dg/tree-ssa/ssa-dse-2.C: Adjust.

From-SVN: r247966
2017-05-12 12:04:31 +00:00