- 02 Nov, 2016 33 commits
-
-
* Makefile.in (LIB2_DIVMOD_FUNCS): Add _divmoddi4. * libgcc2.c (__divmoddi4): New function. * libgcc2.h (__divmoddi4): Declare. * libgcc-std.ver.in (GCC_7.0.0): New. Add __PFX_divmoddi4 and __PFX_divmodti4. From-SVN: r241804
Uros Bizjak committed -
gcc/ * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): Set to zero. libgomp/ * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes to determine default geometry. * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang dimension. Co-Authored-By: Nathan Sidwell <nathan@acm.org> From-SVN: r241803
Cesar Philippidis committed -
With jump trampolines implemented in binutils since 2.25 and enabled by default this test no longer fails on xtensa. 2016-11-02 Max Filippov <jcmvbkbc@gmail.com> gcc/testsuite/ * gcc.c-torture/compile/20001226-1.c: Don't xfail on xtensa. From-SVN: r241801
Max Filippov committed -
xtensa gcc gets ICE on pr59037.c test because its xtensa_output_literal function cannot handle integer literals of sizes other than 4 and 8, whereas the test uses 16-byte int vector. Split integer literal formatting into the recursive function xtensa_output_integer_literal_parts capable of handling literals of any power of 2 size not less than 4. 2016-11-02 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/xtensa.c (xtensa_output_integer_literal_parts): New function. (xtensa_output_literal): Use xtensa_output_integer_literal_parts to format MODE_INT and MODE_PARTIAL_INT literals. From-SVN: r241800
Max Filippov committed -
With the SPE ABI, if we wrap GPRs we need to handle the upper half of the extended 64-bit registers as well, which we cannot easily do. So, this patch disables separate shrink-wrapping for the SPE ABI. PR target/78168 * config/r6000/rs6000.c (rs6000_get_separate_components): Return NULL if TARGET_SPE_ABI. From-SVN: r241799
Segher Boessenkool committed -
* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Don't forget to clear padding bits even when they're less than a byte. From-SVN: r241798
Kyrylo Tkachov committed -
* gcc.target/arm/simd/vmaxnm_f32_1.c (dg-require-effective-target): Check for arm_v8_neon_hw. * gcc.target/arm/simd/vmaxnmq_f32_1.c (dg-require-effective-target): Likewise. * gcc.target/arm/simd/vminnm_f32_1.c (dg-require-effective-target): Likewise. * gcc.target/arm/simd/vminnmq_f32_1.c(dg-require-effective-target): Likewise. From-SVN: r241797
Tamar Christina committed -
2016-11-02 Richard Biener <rguenther@suse.de> * gimple-ssa-store-merging.c: Include gimplify-me.h. (imm_store_chain_info::output_merged_stores): Force base_addr to be proper GIMPLE for a MEM_REF address. (pass_store_merging::execute): Restrict negative bitpos handling to non-MEM_REF bases. Remove TREE_THIS_VOLATILE check. Take into account non-NULL_TREE offset if the base is already addressable. * gcc.dg/store_merging_8.c: New testcase. From-SVN: r241796
Richard Biener committed -
gcc/fortran/ * lang.opt, invoke.texi: New argument -Wargument-mismatch. * interface.c (compare_parameter, compare_actual_formal, gfc_check_typebound_override, argument_rank_mismatch): Control argument mismatch warnings with -Wargument-mismatch. * resolve.c (resolve_structure_cons, resolve_global_procedure): Ditto. gcc/testsuite/gfortran.dg/ * warn_argument_mismatch_1.f90: New test. From-SVN: r241795
Fritz O. Reese committed -
gcc/fortran/ * gfortran.h (gfc_error): New declaration for gfc_error with 'opt'. * error.c (gfc_error): Add optional 'opt' argument. * error.c (gfc_notify_std): Call fully-qualified gfc_error. From-SVN: r241794
Fritz Reese committed -
Add LE/BE SHA1H patterns with a V2SI input. This avoids unnecessary DUPs when using intrinsics like vsha1h_u32 (vgetq_lane_u32 (x, 0)). gcc/ * config/aarch64/aarch64-simd.md (aarch64_crypto_sha1hv4si): New pattern. (aarch64_be_crypto_sha1hv4si): New pattern. From-SVN: r241791
Wilco Dijkstra committed -
The add expander still contains some expansion code that was required for the previous prolog/epilog code... The add expander still contains some expansion code that was required for the previous prolog/epilog code, but which is no longer needed. I also noticed that the current version splits off immediates from frame addressing instructions, which doesn't seem a good idea. Avoiding this resulted in small codesize improvements. gcc/ * config/aarch64/aarch64.md (add<mode>3): Remove redundant code. Don't split frame based additions. From-SVN: r241790
Wilco Dijkstra committed -
2016-11-02 Richard Biener <rguenther@suse.de> * gimple-ssa-store-merging.c (struct store_immediate_info): Remove redundant val and dest members. (store_immediate_info::store_immediate_info): Adjust. (merged_store_group::merged_store_group): Adjust. (merged_store_group::apply_stores): Likewise. (struct imm_store_chain_info): Add base_addr field. (imm_store_chain_info::imm_store_chain_info): New constructor. (imm_store_chain_info::terminate_and_process_chain): Do not pass base. (imm_store_chain_info::output_merged_store): Likewise. Use addr_base which is already the address. (imm_store_chain_info::output_merged_stores): Likewise. (pass_tree_store_merging::terminate_all_aliasing_chains): Take imm_store_chain_info instead of base. Fix alias check. (pass_tree_store_merging::terminate_and_release_chain): Likewise. (imm_store_chain_info::coalesce_immediate_stores): Adjust. (pass_store_merging::execute): Refuse to operate on TARGET_MEM_REF. use the address of the base and adjust for other changes. From-SVN: r241789
Richard Biener committed -
* gcc.dg/debug/dwarf2/prod-options.c: XFAIL AIX. * gcc.dg/debug/dwarf2/pr71855.c: XFAIL AIX. * gcc.dg/addr_equal_1.c: XFAIL AIX. * gcc.dg/pr65779.c: XFAIL AIX. * gcc.dg/pr70405.c: XFAIL AIX. From-SVN: r241787
David Edelsohn committed -
* g++.dg/debug/dwarf2/inline-var-1.C: XFAIL AIX. * g++.dg/debug/dwarf2/ref-2.C: XFAIL AIX. * g++.dg/debug/dwarf2/constexpr-var-1.C: XFAIL AIX. From-SVN: r241786
David Edelsohn committed -
* lib/target-supports.exp (check_gc_sections_available): Use -print-prog-name=ld to determine linker used. From-SVN: r241783
Rainer Orth committed -
* fold-const-call.c (host_size_t_cst_p): Test whether t is convertible to size_t. * gcc.dg/tree-ssa/builtins-folding-gimple-ub.c (main): Add test case. From-SVN: r241780
Martin Liska committed -
PR tree-optimization/78170 * gimple-ssa-store-merging.c (encode_tree_to_bitpos): Truncate padding introduced by native_encode_expr on little-endian as well. * gcc.c-torture/execute/pr78170.c: New test. From-SVN: r241779
Kyrylo Tkachov committed -
PR tree-optimization/78162 * gimple-ssa-store-merging.c (execute): Mark stores with bitpos < 0 as invalid. * gcc.c-torture/compile/pr78162.c: New test. From-SVN: r241778
Kyrylo Tkachov committed -
* config/aarch64/aarch64.c (aarch64_register_saved_on_entry): Add function comment. (aarch64_next_callee_save): Likewise. (aarch64_pushwb_single_reg): Likewise. (aarch64_gen_storewb_pair): Likewise. (aarch64_push_regs): Likewise. (aarch64_gen_loadwb_pair): Likewise. (aarch64_pop_regs): Likewise. (aarch64_gen_store_pair): Likewise. (aarch64_gen_load_pair): Likewise. (aarch64_save_callee_saves): Likewise. (aarch64_restore_callee_saves): Likewise. From-SVN: r241777
Kyrylo Tkachov committed -
2016-11-02 Richard Biener <rguenther@suse.de> PR tree-optimization/78035 PR tree-optimization/77964 * gimple-pretty-print.c (pp_points_to_solution): Print vars_contains_interposable. * tree-ssa-alias.c: Include varasm.h. (ptrs_compare_unequal): Check vars_contains_interposable and decl_binds_to_current_def_p. (dump_points_to_solution): Dump vars_contains_interposable. * tree-ssa-alias.h (struct pt_solution): Add vars_contains_interposable flag. * tree-ssa-structalias.c: Include varasm.h. (set_uids_in_ptset): Record whether vars contains a not decl_binds_to_current_def_p variable in vars_contains_interposable. (ipa_escaped_pt): Update initializer. * gcc.target/i386/pr78035.c: New testcase. From-SVN: r241776
Richard Biener committed -
2016-11-02 Richard Biener <rguenther@suse.de> PR tree-optimization/78047 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize fake field at offset zero conservatively regarding to may_have_pointers. From-SVN: r241775
Richard Biener committed -
tree-vrp.c (evrp_dom_walker::before_dom_children): Call infer_value_range on stmt ops and update value-ranges. 2016-11-02 Richard Biener <rguenther@suse.de> * tree-vrp.c (evrp_dom_walker::before_dom_children): Call infer_value_range on stmt ops and update value-ranges. Dump visited stmts and blocks. (evrp_dom_walker::push_value_range): Dump changes. (evrp_dom_walker::pop_value_range): Likewise. (evrp_dom_walker::try_find_new_range): Avoid noop changes. * gcc.dg/tree-ssa/vrp111.c: New testcase. * gcc.dg/tree-ssa/pr20702.c: Disable EVRP. * gcc.dg/tree-ssa/pr21086.c: Likewise. * gcc.dg/tree-ssa/pr58480.c: Likewise. * gcc.dg/tree-ssa/vrp08.c: Likewise. From-SVN: r241774
Richard Biener committed -
gcc/ChangeLog: 2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * emit-rtl.c (prev_nonnote_insn_bb): Change argument type to rtx_insn *. * rtl.h (prev_nonnote_insn_bb): Adjust prototype. From-SVN: r241773
Trevor Saunders committed -
gcc/ChangeLog: 2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * cfgrtl.c (delete_insn_chain): Change argument type to rtx_insn * and adjust for that. * cfgrtl.h (delete_insn_chain): Adjust prototype. From-SVN: r241772
Trevor Saunders committed -
gcc/ChangeLog: 2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config/rl78/rl78.c (gen-and_emit_move): Change argument type to rtx_insn *. (transcode_memory_rtx): Likewise. (move_to_acc): Likewise. (move_from_acc): Likewise. (move_acc_to_reg): Likewise. (move_to_x): Likewise. (move_to_hl): Likewise. (move_to_de): Likewise. * config/rs6000/rs6000.c (emit_frame_save): Likewise. (rs6000_emit_savres_rtx): Likewise. (rs6000_emit_prologue): Likewise. * reorg.c (update_reg_unused_notes): Likewise. * rtl.h (remove_note): Adjust prototype. * rtlanal.c (remove_note): Make argument type rtx_insn *. From-SVN: r241771
Trevor Saunders committed -
gcc/ChangeLog: 2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config/alpha/alpha.c (alpha_legitimize_address_1): Split up variables so some can be rtx_insn *. (alpha_emit_xfloating_libcall): Likewise. * config/mips/mips.c (mips_call_tls_get_addr): Likewise. (mips_legitimize_tls_address): Likewise. * optabs.c (expand_binop): Likewise. * reload1.c (gen_reload): Likewise. From-SVN: r241770
Trevor Saunders committed -
gcc/ChangeLog: 2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * reorg.c (relax_delay_slots): Split up the trial variable. From-SVN: r241769
Trevor Saunders committed -
gcc/ChangeLog: 2016-11-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config/arc/arc.c (arc_emit_call_tls_get_addr): Make the type of variables rtx_insn *. * config/arm/arm.c (arm_call_tls_get_addr): Likewise. (legitimize_tls_address): Likewise. * config/bfin/bfin.c (hwloop_optimize): Likewise. (bfin_gen_bundles): Likewise. * config/c6x/c6x.c (reorg_split_calls): Likewise. (c6x_reorg): Likewise. * config/frv/frv.c (frv_reorder_packet): Likewise. * config/i386/i386.c (ix86_split_idivmod): Likewise. * config/ia64/ia64.c (ia64_expand_compare): Likewise. * config/m32c/m32c.c (m32c_prepare_shift): Likewise. * config/mn10300/mn10300.c: Likewise. * config/rl78/rl78.c: Likewise. * config/s390/s390.c (s390_fix_long_loop_prediction): Likewise. * config/sh/sh-mem.cc (sh_expand_cmpstr): Likewise. (sh_expand_cmpnstr): Likewise. (sh_expand_strlen): Likewise. (sh_expand_setmem): Likewise. * config/sh/sh.md: Likewise. * emit-rtl.c (emit_pattern_before): Likewise. * except.c: Likewise. * final.c: Likewise. * jump.c: Likewise. From-SVN: r241768
Trevor Saunders committed -
2016-11-01 Josh Conner <joshconner@google.com> * MAINTAINERS (Write After Approval): Update email address, From-SVN: r241767
Josh Conner committed -
* c-cppbuiltin.c (c_cpp_builtins): Update __cpp_inheriting_constructors. From-SVN: r241766
Jason Merrill committed -
gcc/c-family/ * c.opt (-fnew-inheriting-ctors): New. * c-opts.c: Default to on for ABI 11+. gcc/cp/ * call.c (enum rejection_reason_code): Add rr_inherited_ctor. (inherited_ctor_rejection): New. (add_function_candidate): Reject inherited ctors for copying. (enforce_access): Use strip_inheriting_ctors. (print_z_candidate): Likewise. Handle rr_inherited_ctor. (convert_like_real): Avoid copying inheriting ctor parameters. (build_over_call): Likewise. A base ctor inheriting from vbase has no parms. Sorry about varargs. (joust): A local constructor beats inherited with the same convs. * class.c (add_method): Handle hiding inheriting ctors. (one_inherited_ctor): Handle new semantics. (add_implicitly_declared_members): Pass using_decl down. (build_clone): A base ctor inheriting from vbase has no parms. * cp-tree.h (DECL_INHERITED_CTOR): Store this instead of the base. (SET_DECL_INHERITED_CTOR): Likewise. (DECL_INHERITED_CTOR_BASE): Adjust. * constexpr.c: Adjust. * error.c (dump_function_decl): Decorate inheriting ctors. * init.c (emit_mem_initializers): Suppress access control in inheriting ctor. * mangle.c (write_special_name_constructor): Handle new inheriting ctor mangling. * method.c (strip_inheriting_ctors, inherited_ctor_binfo) (ctor_omit_inherited_parms, binfo_inherited_from): New. (synthesized_method_walk): Use binfo_inherited_from. Suppress access control in inheriting ctor. (deduce_inheriting_ctor): Deleted if ambiguous ctor inheritance. (maybe_explain_implicit_delete): Explain ambigous ctor inheritance. (add_one_base_init, do_build_copy_constructor): Adjust. (locate_fn_flags, explain_implicit_non_constexpr): Adjust. (implicitly_declare_fn): Adjust. (get_inherited_ctor): Remove. * name-lookup.c (do_class_using_decl): Check for indirect ctor inheritance. * optimize.c (cdtor_comdat_group): Adjust for new mangling. (maybe_clone_body): Handle omitted parms in base clone. (maybe_thunk_body): Don't thunk if base clone omits parms. * pt.c (tsubst_decl): Adjust. (instantiate_template_1): Suppress access control in inheriting ctor. (fn_type_unification): Do deduction with inherited ctor. * tree.c (special_function_p): Adjust. gcc/ * tree-inline.c (copy_tree_body_r): Only copy the taken branch of a COND_EXPR with constant condition. libiberty/ * cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor. From-SVN: r241765
Jason Merrill committed -
From-SVN: r241764
GCC Administrator committed
-
- 01 Nov, 2016 7 commits
-
-
From-SVN: r241761
David Edelsohn committed -
When a symbol cannot be demangled in ada_demangle a new demangled VEC will be allocated without deleting the demangled VEC already in use. Running testsuite/test-demangle under valgrind will show the leak for this entry in testsuite/demangle-expected: # Elaborated flag (not demangled) --format=gnat x_E <x_E> 11 bytes in 1 blocks are definitely lost in loss record 1 of 1 at 0x4C27BE3: malloc (vg_replace_malloc.c:299) by 0x413FE7: xmalloc (xmalloc.c:148) by 0x4025EC: ada_demangle (cplus-dem.c:930) by 0x402C59: cplus_demangle (cplus-dem.c:892) by 0x400FEC: main (test-demangle.c:317) libiberty/ChangeLog: * cplus-dem.c (ada_demangle): Initialize demangled to NULL and XDELETEVEC demangled when unknown. From-SVN: r241760
Mark Wielaard committed -
* dwarf2out.c (gen_variable_die): Remove again origin_die variable and its initialization. From-SVN: r241759
Jakub Jelinek committed -
* dwarf2out.c (output_rnglists): Wrap basebuf, len in HAVE_AS_LEB128. From-SVN: r241758
Rainer Orth committed -
From Andreas Schwab. Reviewed-on: https://go-review.googlesource.com/32537 From-SVN: r241757
Ian Lance Taylor committed -
2016-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78178 * match.c (match_simple_where): Fill in locus for assigment in simple WHERE statement. 2016-11-01 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/69544 * gfortran.dg/where_6.f90: New test. From-SVN: r241756
Thomas Koenig committed -
dwarf2out.c (add_name_and_src_coords_attributes): Add NO_LINKAGE_NAME argument, don't call add_linkage_name if it is true. * dwarf2out.c (add_name_and_src_coords_attributes): Add NO_LINKAGE_NAME argument, don't call add_linkage_name if it is true. (gen_variable_die): For C++ inline static data members, consider the initial call when old_die is NULL to be declaration and call add_name_and_src_coords_attributes in that case with true as NO_LINKAGE_NAME. Add DW_AT_inline attribute if needed. (gen_member_die): For C++ inline static data members, emit a definition DIE right away in DW_TAG_compile_unit context. cp/ * cp-objcp-common.c (cp_decl_dwarf_attribute): Handle DW_AT_inline. testsuite/ * g++.dg/debug/dwarf2/inline-var-1.C: New test. From-SVN: r241753
Jakub Jelinek committed
-