1. 16 May, 2017 4 commits
  2. 15 May, 2017 23 commits
  3. 14 May, 2017 13 commits
    • PR target/80600 - hidden symbol '__cpu_model' is referenced by DSO · eac8c9f2
      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
      Krister Walfridsson committed
    • i386.i386.c (ix86_cc_modes_compatible): CCNOmode is compatible with CCGOCmode and with CCZmode. · 9430f7b8
      	* config/i386.i386.c (ix86_cc_modes_compatible): CCNOmode is
      	compatible with CCGOCmode and with CCZmode.
      
      From-SVN: r248036
      Uros Bizjak committed
    • PR middle-end/77671 - missing -Wformat-overflow warning on sprintf overflow with %s · a104bd88
      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
      Martin Sebor committed
    • PR middle-end/80669 - Bad -Wstringop-overflow warnings for stpncpy · c6c02519
      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
      Martin Sebor committed
    • i386.opt: Add option -mcall-ms2sysv-xlogues. · d6d4d770
      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
      Daniel Santos committed
    • i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type. · b9bdd60b
      	* 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
      Julia Koval committed
    • make inverted_post_order_compute() operate on a vec · 6fa95e09
      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
      Trevor Saunders committed
    • make depth_first_search_ds a class · 35bfaf4d
      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
      Trevor Saunders committed
    • make more vars auto_sbitmaps · 8f48c622
      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
      Trevor Saunders committed
    • make a member an auto_sbitmap · 0236bb04
      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
      Trevor Saunders committed
    • use auto_bitmap more with alternate obstacks · d648b5ff
      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
      Trevor Saunders committed
    • move several bitmaps from gc memory to the default obstack and use auto_bitmap · 8f9b31f7
      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
      Trevor Saunders committed
    • use auto_bitmap more · 0e3de1d4
      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
      Trevor Saunders committed