- 15 May, 2017 5 commits
-
-
* gcc-interface/trans.c (Compilation_Unit_to_gnu): Skip subprograms on the inlined list that are not public. * gcc-interface/utils.c (create_subprog_decl): Clear TREE_PUBLIC if there is a pragma Inline_Always on the subprogram. From-SVN: r248051
Eric Botcazou committed -
* 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
Eric Botcazou committed -
* 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
Eric Botcazou committed -
* config/sparc/lb1spc.S [__ELF__ && __linux__]: Emit .note.GNU-stack section for a non-executable stack. From-SVN: r248043
Adhemerval Zanella committed -
From-SVN: r248041
GCC Administrator committed
-
- 14 May, 2017 18 commits
-
-
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 -
* config/i386.i386.c (ix86_cc_modes_compatible): CCNOmode is compatible with CCGOCmode and with CCZmode. From-SVN: r248036
Uros Bizjak committed -
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 -
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 -
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 -
* 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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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
Trevor Saunders committed -
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
Trevor Saunders committed -
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
Trevor Saunders committed -
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
Trevor Saunders committed -
From-SVN: r248016
GCC Administrator committed
-
- 13 May, 2017 7 commits
-
-
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
Nicolas Koenig committed -
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
Uros Bizjak committed -
2017-05-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> * io.c (gfc_resolve_dt): Fix returns to bool type. From-SVN: r248008
Jerry DeLisle committed -
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
Jeff Law committed -
a private array offset. From-SVN: r248006
Pekka Jääskeläinen committed -
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
Jim Wilson committed -
From-SVN: r248003
GCC Administrator committed
-
- 12 May, 2017 10 commits
-
-
From-SVN: r247998
François Dumont committed -
From-SVN: r247996
Joseph Myers committed -
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
Martin Sebor committed -
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
Uros Bizjak committed -
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
Uros Bizjak committed -
[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
Steven Munroe committed -
2017-05-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/60430 * g++.dg/cpp0x/pr60430.C: New. From-SVN: r247986
Paolo Carlini committed -
* 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
Jeff Law committed -
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
Peter Bergner committed -
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
Than McIntosh committed
-