- 29 Aug, 2017 3 commits
-
-
* tree-ssa-dom.c (edge_info::record_simple_equiv): Call 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. From-SVN: r251397
Jeff Law committed -
* tree-ssa-dom.c (class edge_info): Changed from a struct 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. From-SVN: r251396
Jeff Law committed -
From-SVN: r251395
GCC Administrator committed
-
- 28 Aug, 2017 11 commits
-
-
2017-08-28 Janus Weil <janus@gcc.gnu.org> 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. From-SVN: r251390
Janus Weil committed -
2017-08-25 Steve Ellcey <sellcey@cavium.com> * 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. From-SVN: r251389
Steve Ellcey committed -
* cp-tree.h (lang_type): Replace sorted_fields vector with 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. From-SVN: r251388
Nathan Sidwell committed -
* cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields): 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. From-SVN: r251387
Nathan Sidwell committed -
* gcc.c (execute): Fold SIGPIPE handling into switch statement. Adjust internal error message. From-SVN: r251385
Nathan Sidwell committed -
2017-08-28 Richard Biener <rguenther@suse.de> 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. From-SVN: r251384
Richard Biener committed -
2017-08-28 Richard Biener <rguenther@suse.de> PR debug/81993 * dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): Do nothing for removed DIEs. From-SVN: r251382
Richard Biener committed -
2017-08-28 Richard Biener <rguenther@suse.de> PR tree-optimization/81977 * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through memcpy. * g++.dg/torture/pr81977.C: New testcase. From-SVN: r251378
Richard Biener committed -
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. From-SVN: r251377
Alexander Monakov committed -
2017-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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: From-SVN: r251374
Jerry DeLisle committed -
From-SVN: r251373
GCC Administrator committed
-
- 27 Aug, 2017 3 commits
-
-
PR target/81995 * 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. From-SVN: r251369
Uros Bizjak committed -
2017-08-27 Thomas Koenig <tkoenig@gcc.gnu.org> 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. From-SVN: r251368
Thomas Koenig committed -
From-SVN: r251367
GCC Administrator committed
-
- 26 Aug, 2017 1 commit
-
-
From-SVN: r251362
GCC Administrator committed
-
- 25 Aug, 2017 10 commits
-
-
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. From-SVN: r251357
Steven Munroe committed -
Part 2/3 for contributing PPC64LE support for X86 SSE instrisics. This patch includes the new (for PPC) xmmintrin.h, changes x86intrin.h to include xmmintrin.h and associated config.gcc changes. From-SVN: r251356
Steven Munroe committed -
2017-08-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/81504 * config/rs6000/rs6000-p8swap.c (find_alignment_op): Add reference parameter and_insn and return it. (recombine_lvx_pattern): Insert a copy to ensure availability of the base register of the copied masking operation at the point of the instruction replacement. (recombine_stvx_pattern): Likewise. From-SVN: r251355
William Schmidt committed -
[gcc] 2017-08-24 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.opt (-mpower9-dform-scalar): Delete undocumented switches. (-mpower9-dform-vector): Likewise. (-mpower9-dform): Likewise. * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Update comments to delete references to -mpower9-dform* switches. * config/rs6000/predicates.md (vsx_quad_dform_memory_operand): Delete reference to -mpower9-dform* switches, test for -mpower9-vector instead. * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Likewise. (OTHER_P9_VECTOR_MASKS): Likewise. (POWERPC_MASKS): Likewise. * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Change tests against -mpower9-dform* to -mpower9-vector. Delete code that checked for -mpower9-dform* consistancy with other options. Add test for -mpower9-misc to enable other power9 switches. (rs6000_init_hard_regno_mode_ok): Likewise. (rs6000_option_override_internal): Likewise. (rs6000_emit_prologue): Likewise. (rs6000_emit_epilogue): Likewise. (rs6000_opt_masks): Delete -mpower9-dform-{scalar,vector}. (rs6000_disable_incompatiable_switches): Delete -mpower9-dform. (emit_fusion_p9_load): Change tests for -mpower9-dform-scalar -mpower9-vector. (emit_fusion_p9_store): Likewise. * config/rs6000/rs6000.h (TARGET_P9_DFORM_SCALAR): Delete resetting these macros if the assembler does not support ISA 3.0 instructions. (TARGET_P9_DFORM_VECTOR): Likewise. * config/rs6000/rs6000.md (peepholes to optimize altivec memory): Change to use -mpower9-vector instead of -mpower9-dform-scalar. [gcc/testsuite] 2017-08-24 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/dform-1.c: Delete -mpower9-dform* options. * gcc.target/powerpc/dform-2.c: Likewise. * gcc.target/powerpc/dform-3.c: Likewise. * gcc.target/powerpc/pr71656-1.c: Likewise. * gcc.target/powerpc/pr71656-2.c: Likewise. * gcc.target/powerpc/pr80103-1.c: Likewise. * gcc.target/powerpc/pr80098-1.c: Likewise. From-SVN: r251352
Michael Meissner committed -
Retabify 2017-08-24 Richard Biener <rguenther@suse.de> PR target/81921 From-SVN: r251351
Nathan Sidwell committed -
* class.c (method_name_cmp, resort_method_name_cmp): Method names can never be NULL. From-SVN: r251350
Nathan Sidwell committed -
PR rtl-optimization/81747 * cse.c (cse_extended_basic_block): Don't attempt to record equivalences for degenerate conditional branches that branch to their fall-through. From-SVN: r251349
Alan Modra committed -
Conversion operators have a special name * cp-tree.h (CPTI_CONV_OP_MARKER, CPTI_CONV_OP_IDENTIFIER): New. (conv_op_marker, conv_op_identifier): New. (CLASSTYPE_FIRST_CONVERSION_SLOT): Delete. * decl.c (initialize_predefined_identifiers): Add conv_op_identifier. (cxx_init_decl_processing): Create conv_op_marker. * decl2.c (check_classfn): Lookup conv-ops by name. * class.c (add_method): Use conv_op_identifier & conv_op_marker. (resort_type_method_vec): Don't skip conv-ops. (finish_struct_methods, warn_hidden): Likewise. * name-lookup.h (lookup_all_conversions): Delete. * name-lookup.c (lookup_conversion_operator): Replace with ... (extract_conversion_operator): ... this. (lookup_fnfields_slot_nolazy): Find conv-ops by name. (lookup_all_conversions): Delete. * pt.c (check_explicit_specialization): Find conv-ops by name. * search.c (lookup_conversions_r): Likewise. From-SVN: r251348
Nathan Sidwell committed -
gcc/ChangeLog: PR middle-end/81908 * gimple-fold.c (size_must_be_zero_p): New function. (gimple_fold_builtin_memory_op): Call it. gcc/testsuite/ChangeLog: PR middle-end/81908 * gcc.dg/tree-ssa/builtins-folding-gimple-2.c: New test. * gcc.dg/tree-ssa/builtins-folding-gimple-3.c: New test. * gcc.dg/tree-ssa/pr81908.c: New test. From-SVN: r251347
Martin Sebor committed -
From-SVN: r251346
GCC Administrator committed
-
- 24 Aug, 2017 12 commits
-
-
2017-08-24 François Dumont <fdumont@gcc.gnu.org> * include/bits/stl_list.h [!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove. (_List_impl(_Node_alloc_type&&, _List_impl&&)): New. (_List_base(_Node_alloc_type&&, _List_base&&)): New, use latter. [!_GLIBCXX_INLINE_VERSION](_List_base(_Node_alloc_type&&,_List_base&&)): Remove. (_List_base(_Node_alloc_type&&)): New. [!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_distance): Remove. [!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_node_count): Remove. (list<>::_M_node_count): New. (list<>::size()): Adapt to call latter. (list<>::_S_distance(const_iterator, const_iterator)): New. (list<>::splice(iterator, list&, const_iterator, const_iterator)): Adapt to call latter. (list(list&&, const allocator_type&, true_type)): New. (list(list&&, const allocator_type&, false_type)): New. (list(list&&, const allocator_type&)): Adapt to call latters. From-SVN: r251342
François Dumont committed -
[gcc] 2017-08-24 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.opt (-mpower9-dform-scalar): Delete undocumented switches. (-mpower9-dform-vector): Likewise. (-mpower9-dform): Likewise. * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Update comments to delete references to -mpower9-dform* switches. * config/rs6000/predicates.md (vsx_quad_dform_memory_operand): Delete reference to -mpower9-dform* switches, test for -mpower9-vector instead. * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Likewise. (OTHER_P9_VECTOR_MASKS): Likewise. (POWERPC_MASKS): Likewise. * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Change tests against -mpower9-dform* to -mpower9-vector. Delete code that checked for -mpower9-dform* consistancy with other options. Add test for -mpower9-misc to enable other power9 switches. (rs6000_init_hard_regno_mode_ok): Likewise. (rs6000_option_override_internal): Likewise. (rs6000_emit_prologue): Likewise. (rs6000_emit_epilogue): Likewise. (rs6000_opt_masks): Delete -mpower9-dform-{scalar,vector}. (rs6000_disable_incompatiable_switches): Delete -mpower9-dform. (emit_fusion_p9_load): Change tests for -mpower9-dform-scalar -mpower9-vector. (emit_fusion_p9_store): Likewise. * config/rs6000/rs6000.h (TARGET_P9_DFORM_SCALAR): Delete resetting these macros if the assembler does not support ISA 3.0 instructions. (TARGET_P9_DFORM_VECTOR): Likewise. * config/rs6000/rs6000.md (peepholes to optimize altivec memory): Change to use -mpower9-vector instead of -mpower9-dform-scalar. [gcc/testsuite] 2017-08-24 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/dform-1.c: Delete -mpower9-dform* options. * gcc.target/powerpc/dform-2.c: Likewise. * gcc.target/powerpc/dform-3.c: Likewise. * gcc.target/powerpc/pr71656-1.c: Likewise. * gcc.target/powerpc/pr71656-2.c: Likewise. * gcc.target/powerpc/pr80103-1.c: Likewise. * gcc.target/powerpc/pr80098-1.c: Likewise. From-SVN: r251341
Michael Meissner committed -
Conversion operators kept on single overload set * class.c (add_method): Keep all conv-ops on one slot. * name-lookup.c (lookup_conversion_operator): Pull the desired conv op out of overload set. * search.c (lookup_conversions_r): Lose template/non-template distinction. (lookup_conversions): Likewise. From-SVN: r251340
Nathan Sidwell committed -
Adds the powerpc equivalent mm_malloc.h header which is needed by xmmintrin.h and cleans up some noisy warnings from the previous MMX commit. From-SVN: r251339
Steven Munroe committed -
* lib/target-supports.exp: Group together target-dependant checks. From-SVN: r251338
Uros Bizjak committed -
PR tree-optimization/81913 * tree-ssa-loop-niter.c (number_of_iterations_cond): Skip niter analysis when either IVs in condition can wrap. gcc/testsuite * gcc.c-torture/execute/pr81913.c: New test. * gcc.dg/tree-ssa/loop-niter-1.c: New test. * gcc.dg/tree-ssa/loop-niter-2.c: New test. From-SVN: r251337
Bin Cheng committed -
In r251239 I added a c_expr::get_location method for use by c_parser_expr_list for building the vec<location_t> for an expression list, rather than using the location of the first token. When determining whether to use the location within the tree node, or fall back to the range in the c_expr, I used EXPR_CAN_HAVE_LOCATION, rather than EXPR_HAS_LOCATION. This meant that any tree nodes of kinds that *can* have a location but which erroneously had EXPR_LOCATION (value) == UNKNOWN_LOCATION had that value added to the vec<location_t>, leading to missing location information when reporting on the issue (seen with gcc.dg/Wtraditional-conversion-2.c for m68k). This patch addresses this in two ways: (a) it fixes the specific issue in this failing test case, by setting up the location properly on the EXCESS_PRECISION_EXPR. (b) updating c_expr::get_location by only using the EXPR_LOCATION if it's sane. Arguably this is papering over bugs, but they are pre-existing ones exposed by r251239, and I'd rather have this fix in place than play whack-a-mole on any other such "missing location" bugs that are lurking in the codebase. gcc/c/ChangeLog: * c-tree.h (c_expr::get_location) Use EXPR_HAS_LOCATION rather than CAN_HAVE_LOCATION_P when determining whether to use the location_t value within "value". gcc/c-family/ChangeLog: * c-lex.c (interpret_float): Use token location when building an EXCESS_PRECISION_EXPR. From-SVN: r251335
David Malcolm committed -
* dwarf2out.c (MAX_ARTIFICIAL_LABEL_BYTES): Increase to 40. * dwarf2cfi.c (MAX_ARTIFICIAL_LABEL_BYTES): Remove. From-SVN: r251334
Uros Bizjak committed -
2017-08-23 Richard Biener <rguenther@suse.de> PR target/81921 * targhooks.c (default_target_can_inline_p): Properly use target_option_default_node when no DECL_FUNCTION_SPECIFIC_TARGET is present and always compare. * config/i386/i386.c (ix86_valid_target_attribute_tree): Do not imply -mfpmath=sse from TARGET_SSE_P. (ix86_can_inline_p): Properly use target_option_default_node when no DECL_FUNCTION_SPECIFIC_TARGET is present and always compare. * gcc.target/i386/pr81921.c: New testcase. From-SVN: r251333
Richard Biener committed -
2017-08-24 Richard Biener <rguenther@suse.de> PR debug/81936 * dwarf2out.c (output_die): Handle flag_generate_offload like flag_generate_lto. (output_comp_unit): Likewise. (gen_array_type_die): Likewise. (dwarf2out_early_finish): Likewise. (note_variable_value_in_expr): Likewise. (dwarf2out_finish): Likewise. Adjust assert. * cgraphunit.c (symbol_table::compile): Move setting of flag_generate_offload earlier ... (symbol_table::finalize_compilation_unit): ... here, before early debug finalization. From-SVN: r251332
Richard Biener committed -
2017-08-24 Richard Biener <rguenther@suse.de> * config/i386/i386.c: Include symbol-summary.h, ipa-prop.h and ipa-fnsummary.h. (ix86_can_inline_p): When ix86_fpmath flags do not match check whether the callee uses FP math at all. From-SVN: r251330
Richard Biener committed -
PR middle-end/81931 * tree-ssanames.c (get_nonzero_bits): Use element_precision instead of TYPE_PRECISION. From-SVN: r251328
Aldy Hernandez committed
-