- 05 Oct, 2018 18 commits
-
-
* config/pdp11/pdp11.c (TARGET_CXX_GUARD_TYPE): Define. (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Define. (TARGET_CXX_LIBRARY_RTTI_COMDAT): Define. (pdp11_guard_type): New function. From-SVN: r264883
Paul Koning committed -
Use inline assembly in the implementation of internal_cpu.xgetbv as opposed to a call to the intrinsic _xgetbv(), since non-gcc compilers (e.g. clang) may or may not have support for it. Reviewed-on: https://go-review.googlesource.com/c/140137 From-SVN: r264882
Ian Lance Taylor committed -
* config/pdp11/pdp11.h (FLOAT_TYPE_SIZE): Always 32. * config/pdp11/pdp11.opt (mfloat32): Remove. (mfloat64): Remove. * doc/invoke.texi (pdp11 -mfloat32): Remove: (pdp11 -mfloat64): Remove. From-SVN: r264881
Paul Koning committed -
gcc/testsuite/ChangeLog: * lib/multiline.exp (proc dg-end-multiline-output): Check argument count. If there's a 3rd argument, use dg-process-target on it, bailing out, or recording expected failures as "maybe_x". (proc handle-multiline-outputs): Extract "maybe_x", and use it to convert pass/fail into xpass/xfail. From-SVN: r264880
David Malcolm committed -
* config/i386/i386.md (*cmpxf_i387): Change operand 2 predicate to reg_or_0_operand. Add "C" constraint. (*cmpxf_cc_i387): Ditto. (*cmp<mode>_i387): Change operand 2 predicate to nonimm_or_0_operand. Add "C" constraint. (*cmp<mode>_cc_i387): Ditto. (*cmp<mode>_0_i387): Remove insn pattern. (*cmp<mode>_0_cc_i387): Ditto. From-SVN: r264879
Uros Bizjak committed -
* config/i386/constraints.md ("C"): Do not depend on TARGET_SSE. * config/i386/predicates.md (nonimm_or_0_operand): Rename from vector_move_operand. Update all uses. From-SVN: r264877
Uros Bizjak committed -
PR tree-optimization/87490 - ICE in expand_builtin_strnlen with a constant argument and non-constant bound gcc/ChangeLog: PR tree-optimization/87490 * builtins.c (expand_builtin_strnlen): Handle a null data.decl consistently. gcc/testsuite/ChangeLog: PR tree-optimization/87490 * gcc.dg/pr87490.c: New test. * gcc.dg/warn-strnlen-no-nul-2.c: Same. From-SVN: r264876
Martin Sebor committed -
* include/bits/stl_tree.h (_Rb_tree_iterator<>::operator==): Make inline friend. (_Rb_tree_iterator<>::operator!=): Likewise. (_Rb_tree_const_iterator<>::operator==): Likewise. (_Rb_tree_const_iterator<>::operator!=): Likewise. (operator==(const _Rb_tree_iterator<>&, const _Rb_tree_const_iterator&)): Remove. (operator!=(const _Rb_tree_iterator<>&, const _Rb_tree_const_iterator&)): Remove. (operator==(const _Rb_tree<>&, const _Rb_tree<>&)): Make inline friend. (operator<(const _Rb_tree<>&, const _Rb_tree<>&)): Likewise. (operator!=(const _Rb_tree<>&, const _Rb_tree<>&)): Likewise and deprecate. (operator>(const _Rb_tree<>&, const _Rb_tree<>&)): Likewise. (operator<=(const _Rb_tree<>&, const _Rb_tree<>&)): Likewise. (operator>=(const _Rb_tree<>&, const _Rb_tree<>&)): Likewise. * include/debug/map.h (map<>::erase(const_iterator, const_iterator)): Compare __victim with _Base::cend(). * include/debug/multimap.h (multimap<>::erase(const_iterator, const_iterator)): Likewise. * include/debug/set.h (set<>::erase(const_iterator, const_iterator)): Compare __victim with _Base::cend(). * include/debug/multiset.h (multiset<>::erase(const_iterator, const_iterator)): Likewise. From-SVN: r264875
François Dumont committed -
2018-10-05 Steve Ellcey <sellcey@cavium.com> PR tree-optimization/71625 * /gcc.target/aarch64/vclz.c (test_vclz_s8): Add noinline attribute. (test_vclz_s16): Ditto. (test_vclz_s32): Ditto. (test_vclzq_s8): Ditto. (test_vclzq_s16): Ditto. (test_vclzq_s32): Ditto. (test_vclz_u8): Ditto. (test_vclz_u16): Ditto. (test_vclz_u32): Ditto. (test_vclzq_u8): Ditto. (test_vclzq_u16): Ditto. (test_vclzq_u32): Ditto. * gcc.target/aarch64/vneg_s.c (test_vneg_s8): Ditto. (test_vneg_s16): Ditto. (test_vneg_s32): Ditto. (test_vneg_s64): Ditto. (test_vnegd_s64): Ditto. (test_vnegq_s8): Ditto. (test_vnegq_s16): Ditto. (test_vnegq_s32): Ditto. (test_vnegq_s64): Ditto. From-SVN: r264874
Steve Ellcey committed -
Nothing in libgo calls checkgoarm, and it relies on a variable, goarm, that is not set. Reviewed-on: https://go-review.googlesource.com/c/140057 From-SVN: r264872
Ian Lance Taylor committed -
PR libbacktrace/87529 * backtrace.h: Document that backtrace_create_state should be called only once. From-SVN: r264871
Ian Lance Taylor committed -
2018-10-05 Richard Biener <rguenther@suse.de> PR tree-optimization/63155 * tree-ssa-ccp.c (ccp_propagate::visit_phi): Avoid excess vertical space in dumpfiles. * tree-ssa-propagate.h (ssa_propagation_engine::process_ssa_edge_worklist): Remove. * tree-ssa-propagate.c (cfg_blocks_back): New global. (ssa_edge_worklist_back): Likewise. (curr_order): Likewise. (cfg_blocks_get): Remove abstraction. (cfg_blocks_add): Likewise. (cfg_blocks_empty_p): Likewise. (add_ssa_edge): Add to current or next worklist based on RPO index. (add_control_edge): Likewise. (ssa_propagation_engine::process_ssa_edge_worklist): Fold into ... (ssa_propagation_engine::ssa_propagate): ... here. Unify iteration from CFG and SSA edge worklist so we process everything in RPO order, prioritizing forward progress over iteration. (ssa_prop_init): Allocate new worklists, do not dump immediate uses. (ssa_prop_fini): Free new worklists. From-SVN: r264869
Richard Biener committed -
2018-10-05 Richard Biener <rguenther@suse.de> * tree-core.h (tree_block::abstract_flag): Remove. (tree_block::block_num): Make full 32bits. * tree.def (BLOCK): Remove docs about BLOCK_ABSTRACT. * tree.h (BLOCK_ABSTRACT): Remove. * dwarf2out.c (gen_lexical_block_die): Remove dead code resulting from BLOCK_ABSTRACT being always false. (gen_inlined_subroutine_die): Likewise. (gen_block_die): Likewise. * tree.c (block_ultimate_origin): Likewise. * tree-pretty-print.c (dump_block_node): Remove code dealing with BLOCK_ABSTRACT. * tree-ssa-live.c (dump_scope_block): Likewise. * tree-streamer-in.c (unpack_ts_block_value_fields): Likewise. * tree-streamer-out.c (pack_ts_block_value_fields): Likewise. From-SVN: r264868
Richard Biener committed -
i386.c (ix86_add_stmt_cost): When scalar cost is asked for initialize mode to the component mode of the... 2018-10-05 Richard Biener <rguenther@suse.de> * config/i386/i386.c (ix86_add_stmt_cost): When scalar cost is asked for initialize mode to the component mode of the vector type. From-SVN: r264866
Richard Biener committed -
With gcc -O2 -fPIC -flto -g -c -o a.o a.c gcc -O2 -fPIC -flto -g -mavx -c -o b.o b.c gcc -shared -O2 -fPIC -flto -g -o lib1.so a.o b.o LTO correctly generates AVX for b.o and SSE for a.o. But the GCC driver passes -msse2avx to assembler, which encodes SSE instructions as AVX instructions. We shouldn't pass -msse2avx to assembler for -mavx. PR target/87522 * config/i386/gnu-user.h (ASM_SPEC): Don't pass -msse2avx to assembler for -mavx. * config/i386/gnu-user64.h (ASM_SPEC): Likewise. From-SVN: r264864
H.J. Lu committed -
With these fixes all testcases test clean for me, both on powerpc64-linux {-m32,-m64} and on powerpc64le-linux, with all relevant -mcpu= settings. PR target/87509 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_SET_FPSCR_DRN): Use RS6000_BTM_DFP. * config/rs6000/rs6000.md (rs6000_set_fpscr_rn): Require the operand to be DImode. When using mffscrn, force the operand to a register. gcc/testsuite/ PR target/87509 * gcc.target/powerpc/test_fpscr_drn_builtin.c: Use hard_dfp instead of dfp_hw. Don't include <altivec.h>. * gcc.target/powerpc/test_fpscr_drn_builtin_error.c: Ditto. Require lp64. * gcc.target/powerpc/test_fpscr_rn_builtin.c: Don't include <altivec.h>. * gcc.target/powerpc/test_fpscr_rn_builtin_error.c: Ditto. * gcc.target/powerpc/test_mffsl.c: Ditto. From-SVN: r264863
Segher Boessenkool committed -
re PR testsuite/87487 (New test case gfortran.dg/deferred_character_24.f90 in r264721 fails on big endian) 2018-10-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/87487 * trans-decl.c (gfc_get_symbol_decl): Make sure that deferred character length pointer initializer has the right type to fix problem with deferred_character_24.f90 on big endian. From-SVN: r264862
Paul Thomas committed -
From-SVN: r264860
GCC Administrator committed
-
- 04 Oct, 2018 22 commits
-
-
one can now use verbatim the arguments used by the driver invocation to link e.g. cc1. 2018-10-04 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * unused_functions.py: Handle archive files. From-SVN: r264856
Bernhard Reutner-Fischer committed -
i386.md (*fop_<X87MODEF:mode>_2_i387): Macroize insn from *fop_<MODEF:mode>_2_i387 and *fop_xf_2_i387 using X87MODEF... * config/i386/i386.md (*fop_<X87MODEF:mode>_2_i387): Macroize insn from *fop_<MODEF:mode>_2_i387 and *fop_xf_2_i387 using X87MODEF mode iterator. (*fop_<X87MODEF:mode>_3_i387): Macroize insn from *fop_<MODEF:mode>_3_i387 and *fop_xf_3_i387 using X87MODEF mode iterator. From-SVN: r264855
Uros Bizjak committed -
* doc/invoke.texi (-Wno-prio-ctor-dtor): Document new warning -Wno-prio-ctor-dtor. * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor to generate constructor destructor priority warning. * c.opt (-Wprio-ctor-dtor): New option. * c-c++-common/Wprio-ctor-dtor.c: New test. From-SVN: r264853
Vinay Kumar committed -
This is v3 of the patch; previous versions were: v2: https://gcc.gnu.org/ml/gcc-patches/2018-07/msg00446.html v1: https://gcc.gnu.org/ml/gcc-patches/2018-06/msg01462.html This patch introduces a class opt_problem, along with wrapper classes for bool (opt_result) and for pointers (e.g. opt_loop_vec_info for loop_vec_info). opt_problem instances are created when an optimization problem is encountered, but only if dump_enabled_p. They are manually propagated up the callstack, and are manually reported at the "top level" of an optimization if dumping is enabled, to give the user a concise summary of the problem *after* the failure is reported. In particular, the location of the problematic statement is captured and emitted, rather than just the loop's location. For example: no-vfa-vect-102.c:24:3: missed: couldn't vectorize loop no-vfa-vect-102.c:27:7: missed: statement clobbers memory: __asm__ __volatile__("" : : : "memory"); Changed in v3: * This version bootstraps and passes regression testing (on x86_64-pc-linux-gnu). * added selftests, to exercise the opt_problem machinery * removed the "bool to opt_result" ctor, so that attempts to use e.g. return a bool from an opt_result-returning function will fail at compile time * use formatted printing within opt_problem ctor to replace the various dump_printf_loc calls * dropped i18n * changed the sense of vect_analyze_data_ref_dependence's return value (see the ChangeLog) * add MSG_PRIORITY_REEMITTED, so that -fopt-info can show the messages, without them messing up the counts in scan-tree-dump-times in DejaGnu tests gcc/ChangeLog: * Makefile.in (OBJS): Add opt-problem.o. * dump-context.h: Include "selftest.h. (selftest::temp_dump_context): New forward decl. (class dump_context): Make friend of class selftest::temp_dump_context. (dump_context::dump_loc_immediate): New decl. (class dump_pretty_printer): Move here from dumpfile.c. (class temp_dump_context): Move to namespace selftest. (temp_dump_context::temp_dump_context): Add param "forcibly_enable_dumping". (selftest::verify_dumped_text): (ASSERT_DUMPED_TEXT_EQ): Move here from dumpfile.c. (selftest::verify_item): (ASSERT_IS_TEXT): Move here from dumpfile.c. (ASSERT_IS_TREE): Likewise. (ASSERT_IS_GIMPLE): Likewise. * dumpfile.c (dump_context::dump_loc): Move immediate dumping to... (dump_context::dump_loc_immediate): ...this new function. (class dump_pretty_printer): Move to dump-context.h. (dump_switch_p_1): Don't enable MSG_PRIORITY_REEMITTED. (opt_info_switch_p_1): Enable MSG_PRIORITY_REEMITTED. (temp_dump_context::temp_dump_context): Move to "selftest" namespace. Add param "forcibly_enable_dumping", and use it to conditionalize the use of m_pp; (selftest::verify_dumped_text): Make non-static. (ASSERT_DUMPED_TEXT_EQ): Move to dump-context.h. (selftest::verify_item): Make non-static. (ASSERT_IS_TEXT): Move to dump-context.h. (ASSERT_IS_TREE): Likewise. (ASSERT_IS_GIMPLE): Likewise. (selftest::test_capture_of_dump_calls): Pass "true" for new param of temp_dump_context. * dumpfile.h (enum dump_flag): Add MSG_PRIORITY_REEMITTED, adding it to MSG_ALL_PRIORITIES. Update values of TDF_COMPARE_DEBUG and TDF_COMPARE_DEBUG. * opt-problem.cc: New file. * opt-problem.h: New file. * optinfo-emit-json.cc (selftest::test_building_json_from_dump_calls): Pass "true" for new param of temp_dump_context. * optinfo.cc (optinfo_kind_to_dump_flag): New function. (optinfo::emit_for_opt_problem): New function. (optinfo::emit): Clarity which emit_item is used. * optinfo.h (optinfo::get_dump_location): New accessor. (optinfo::emit_for_opt_problem): New decl. (optinfo::emit): Make const. * selftest-run-tests.c (selftest::run_tests): Call selftest::opt_problem_cc_tests. * selftest.h (selftest::opt_problem_cc_tests): New decl. * tree-data-ref.c (dr_analyze_innermost): Convert return type from bool to opt_result, converting fprintf messages to opt_result::failure_at calls. Add "stmt" param for use by the failure_at calls. (create_data_ref): Pass "stmt" to the dr_analyze_innermost call. (runtime_alias_check_p): Convert return type from bool to opt_result, converting dump_printf calls to opt_result::failure_at, using the statement DDR_A for their location. (find_data_references_in_stmt): Convert return type from bool to opt_result, converting "return false" to opt_result::failure_at with a new message. * tree-data-ref.h: Include "opt-problem.h". (dr_analyze_innermost): Convert return type from bool to opt_result, and add a const gimple * param. (find_data_references_in_stmt): Convert return type from bool to opt_result. (runtime_alias_check_p): Likewise. * tree-predcom.c (find_looparound_phi): Pass "init_stmt" to dr_analyze_innermost. * tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Convert return type from bool to opt_result, adding a message for the PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS zero case. (vect_analyze_data_ref_dependence): Convert return type from bool to opt_result. Change sense of return type from "false" effectively meaning "no problems" to "false" meaning a problem, so that "return false" becomes "return opt_result::success". Convert "return true" calls to opt_result::failure_at, using the location of statement A rather than vect_location. (vect_analyze_data_ref_dependences): Convert return type from bool to opt_result. (verify_data_ref_alignment): Likewise, converting dump_printf_loc calls to opt_result::failure_at, using the stmt location rather than vect_location. (vect_verify_datarefs_alignment): Convert return type from bool to opt_result. (vect_enhance_data_refs_alignment): Likewise. Split local "stat" into multiple more-tightly-scoped copies. (vect_analyze_data_refs_alignment): Convert return type from bool to opt_result. (vect_analyze_data_ref_accesses): Likewise, converting a "return false" to a "return opt_result::failure_at", adding a new message. (vect_prune_runtime_alias_test_list): Convert return type from bool to opt_result, converting dump_printf_loc to opt_result::failure_at. Add a %G to show the pertinent statement, and use the stmt's location rather than vect_location. (vect_find_stmt_data_reference): Convert return type from bool to opt_result, converting dump_printf_loc to opt_result::failure_at, using stmt's location. (vect_analyze_data_refs): Convert return type from bool to opt_result. Convert "return false" to "return opt_result::failure_at", adding messages as needed. * tree-vect-loop.c (vect_determine_vf_for_stmt_1): Convert return type from bool to opt_result. (vect_determine_vf_for_stmt): Likewise. (vect_determine_vectorization_factor): Likewise, converting dump_printf_loc to opt_result::failure_at, using location of phi rather than vect_location. (vect_analyze_loop_form_1): Convert return type from bool to opt_result, converting dump_printf_loc calls, retaining the use of vect_location. (vect_analyze_loop_form): Convert return type from loop_vec_info to opt_loop_vec_info. (vect_analyze_loop_operations): Convert return type from bool to opt_result, converting dump_printf_loc calls, using the location of phi/stmt rather than vect_location where available. Convert various "return false" to "return opt_result::failure_at" with "unsupported phi" messages. (vect_get_datarefs_in_loop): Convert return type from bool to opt_result. Add a message for the PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS failure. (vect_analyze_loop_2): Convert return type from bool to opt_result. Ensure "ok" is set to a opt_result::failure_at before each "goto again;", adding new messages where needed. Add "unsupported grouped {store|load}" messages. (vect_analyze_loop): Convert return type from loop_vec_info to opt_loop_vec_info. * tree-vect-slp.c (vect_analyze_slp): Convert return type from bool to opt_result. * tree-vect-stmts.c (process_use): Likewise, converting dump_printf_loc call and using stmt location, rather than vect_location. (vect_mark_stmts_to_be_vectorized): Likeise. (vect_analyze_stmt): Likewise, adding a %G. (vect_get_vector_types_for_stmt): Convert return type from bool to opt_result, converting dump_printf_loc calls and using stmt location, rather than vect_location. (vect_get_mask_type_for_stmt): Convert return type from tree to opt_tree, converting dump_printf_loc calls and using stmt location. * tree-vectorizer.c: Include "opt-problem.h. (try_vectorize_loop_1): Flag "Analyzing loop at" dump message as MSG_PRIORITY_INTERNALS. Convert local "loop_vinfo" from loop_vec_info to opt_loop_vec_info. If if fails, and dumping is enabled, use it to report at the top level "couldn't vectorize loop" followed by the problem. * tree-vectorizer.h (opt_loop_vec_info): New typedef. (vect_mark_stmts_to_be_vectorized): Convert return type from bool to opt_result. (vect_analyze_stmt): Likewise. (vect_get_vector_types_for_stmt): Likewise. (tree vect_get_mask_type_for_stmt): Likewise. (vect_analyze_data_ref_dependences): Likewise. (vect_enhance_data_refs_alignment): Likewise. (vect_analyze_data_refs_alignment): Likewise. (vect_verify_datarefs_alignment): Likewise. (vect_analyze_data_ref_accesses): Likewise. (vect_prune_runtime_alias_test_list): Likewise. (vect_find_stmt_data_reference): Likewise. (vect_analyze_data_refs): Likewise. (vect_analyze_loop): Convert return type from loop_vec_info to opt_loop_vec_info. (vect_analyze_loop_form): Likewise. (vect_analyze_slp): Convert return type from bool to opt_result. gcc/testsuite/ChangeLog: * gcc.dg/vect/nodump-vect-opt-info-2.c: New test. * gcc.dg/vect/vect-alias-check-4.c: Add "-fopt-info-vec-all" to dg-additional-options. Add dg-message and dg-missed directives to verify that -fopt-info messages are written at the correct locations. From-SVN: r264852
David Malcolm committed -
This patch introduces a verbosity level to dump messages: "user-facing" vs "internals". By default, messages at the top-level dump scope are "user-facing", whereas those that are in nested scopes are implicitly "internals", and are filtered out by -fopt-info unless a new "-internals" sub-option of "-fopt-info" is supplied (intended purely for use by GCC developers). Dumpfiles are unaffected by the change. Given that the vectorizer is the only subsystem using AUTO_DUMP_SCOPE (via DUMP_VECT_SCOPE), this only affects the vectorizer. Filtering out these implementation-detail messages goes a long way towards making -fopt-info-vec-all more accessible to advanced end-users; the follow-up patch restores the most pertinent missing details. gcc/ChangeLog: * doc/invoke.texi (-fopt-info): Document new "internals" sub-option. * dump-context.h (dump_context::apply_dump_filter_p): New decl. * dumpfile.c (dump_options): Update for renaming of MSG_ALL to MSG_ALL_KINDS. (optinfo_verbosity_options): Add "internals". (kind_as_string): Update for renaming of MSG_ALL to MSG_ALL_KINDS. (dump_context::apply_dump_filter_p): New member function. (dump_context::dump_loc): Use apply_dump_filter_p rather than explicitly masking the dump_kind. (dump_context::begin_scope): Increment the scope depth first. Use apply_dump_filter_p rather than explicitly masking the dump_kind. (dump_context::emit_item): Use apply_dump_filter_p rather than explicitly masking the dump_kind. (dump_dec): Likewise. (dump_hex): Likewise. (dump_switch_p_1): Default to MSG_ALL_PRIORITIES. (opt_info_switch_p_1): Default to MSG_PRIORITY_USER_FACING. (opt_info_switch_p): Update handling of default MSG_OPTIMIZED_LOCATIONS to cope with default of MSG_PRIORITY_USER_FACING. (dump_basic_block): Use apply_dump_filter_p rather than explicitly masking the dump_kind. (selftest::test_capture_of_dump_calls): Update test_dump_context instances to use MSG_ALL_KINDS | MSG_PRIORITY_USER_FACING rather than MSG_ALL. Generalize scope test to be run at all four combinations of with/without MSG_PRIORITY_USER_FACING and MSG_PRIORITY_INTERNALS, adding examples of explicit priority for each of the two values. * dumpfile.h (enum dump_flag): Add comment about the MSG_* flags. Rename MSG_ALL to MSG_ALL_KINDS. Add MSG_PRIORITY_USER_FACING, MSG_PRIORITY_INTERNALS, and MSG_ALL_PRIORITIES, updating the values for TDF_COMPARE_DEBUG and TDF_ALL_VALUES. (AUTO_DUMP_SCOPE): Add a note to the comment about the interaction with MSG_PRIORITY_*. * tree-vect-loop-manip.c (vect_loop_versioning): Mark versioning dump messages as MSG_PRIORITY_USER_FACING. * tree-vectorizer.h (DUMP_VECT_SCOPE): Add a note to the comment about the interaction with MSG_PRIORITY_*. gcc/testsuite/ChangeLog: * gcc.dg/plugin/dump-1.c: Update expected output for test_scopes due to "-internals" not being selected. * gcc.dg/plugin/dump-2.c: New test, based on dump-1.c, with "-internals" added to re-enable the output from test_scopes. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add dump-2.c. From-SVN: r264851
David Malcolm committed -
2018-10-04 Bernd Edlinger <bernd.edlinger@hotmail.de> * varasm.c (output_constant): Add new parameter merge_strings. Make strings properly zero terminated in merge string sections. (mergeable_string_section): Don't fail if the last char is non-zero. (assemble_variable_contents): Handle merge string sections. (assemble_variable): Likewise. (assemble_constant_contents): Likewise. (output_constant_def_contents): Likewise. (output_constructor_array_range, output_constructor_regular_field): Adjust call to output_constant. (output_object_block): Adjust call to assemble_constant_contents and assemble_variable_contents. testsuie: 2018-10-04 Bernd Edlinger <bernd.edlinger@hotmail.de> * gnat.dg/string_merge1.adb: New test. * gnat.dg/string_merge2.adb: New test. * gcc.dg/merge-all-constants-1.c: Adjust test. * gcc.dg/merge-all-constants-2.c: New test. From-SVN: r264850
Bernd Edlinger committed -
This reverts commit r264834. 2018-10-04 Thomas Preud'homme <thomas.preudhomme@linaro.org> Revert 2018-10-04 Thomas Preud'homme <thomas.preudhomme@linaro.org> gcc/ * lra-constraints.c (process_address_1): Bail out for all satisfied fixed constraints. From-SVN: r264849
Thomas Preud'homme committed -
* MAINTAINERS: List myself as "libgomp (OpenACC)" and "OpenACC" maintainer. From-SVN: r264848
Thomas Schwinge committed -
r264355 removed some spelling suggestions including for "bool" as used in this test case. Bootstrapped and tested on powerpc64le-unknown-linux-gnu and powerpc64be-unknown-linux-gnu with no regressions. Is this ok for trunk? 2018-10-04 Bill Seurer <seurer@linux.vnet.ibm.com> PR target/87486 * gcc.target/powerpc/undef-bool-2.c: Fix expected error output. Index: gcc/testsuite/gcc.target/powerpc/undef-bool-2.c =================================================================== --- gcc/testsuite/gcc.target/powerpc/undef-bool-2.c (revision 264812) +++ gcc/testsuite/gcc.target/powerpc/undef-bool-2.c (working copy) @@ -9,7 +9,7 @@ #include <xmmintrin.h> -bool foo (int x) /* { dg-error "unknown type name 'bool'; did you mean '_Bool'?" } */ +bool foo (int x) /* { dg-error "unknown type name 'bool'" } */ { return x == 2; } From-SVN: r264847
Bill Seurer committed -
2018-10-04 Martin Liska <mliska@suse.cz> PR c/87483 * cgraphunit.c (process_function_and_variable_attributes): Warn about a function with alias attribute and a body. 2018-10-04 Martin Liska <mliska@suse.cz> PR c/87483 * gcc.dg/pr87483.c: New test. From-SVN: r264846
Martin Liska committed -
2018-10-04 Martin Liska <mliska@suse.cz> PR ipa/82625 * multiple_target.c (redirect_to_specific_clone): New function. (ipa_target_clone): Use it. * tree-inline.c: Fix comment. 2018-10-04 Martin Liska <mliska@suse.cz> PR ipa/82625 * g++.dg/ext/pr82625.C: New test. From-SVN: r264845
Martin Liska committed -
Attempts to dump via -fopt-info from a plugin pass fail, due to the dfi->alt_state for such passes never being set. This is because the -fopt-info options were being set up per-pass during option-parsing (via gcc::dump_manager::opt_info_enable_passes), but this data was not retained or used it for passes created later (for plugins and target-specific passes). This patch fixes the issue by storing the -fopt-info options into gcc::dump_manager, refactoring the dfi-setup code out of opt_info_enable_passes, and reusing it for such passes, fixing the issue. The patch adds a demo plugin to test that dumping from a plugin works. gcc/ChangeLog: * dumpfile.c (gcc::dump_manager::dump_manager): Initialize new fields. (gcc::dump_manager::~dump_manager): Free m_optinfo_filename. (gcc::dump_manager::register_pass): New member function, adapted from loop body in gcc::pass_manager::register_pass, adding a call to update_dfi_for_opt_info. (gcc::dump_manager::opt_info_enable_passes): Store the -fopt-info options into the new fields. Move the loop bodies into... (gcc::dump_manager::update_dfi_for_opt_info): ...this new member function. * dumpfile.h (struct opt_pass): New forward decl. (gcc::dump_manager::register_pass): New decl. (gcc::dump_manager::update_dfi_for_opt_info): New decl. (class gcc::dump_manager): Add fields "m_optgroup_flags", "m_optinfo_flags", and "m_optinfo_filename". * passes.c (gcc::pass_manager::register_pass): Move all of the dump-handling code to gcc::dump_manager::register_pass. gcc/testsuite/ChangeLog: * gcc.dg/plugin/dump-1.c: New test. * gcc.dg/plugin/dump_plugin.c: New test plugin. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above. From-SVN: r264844
David Malcolm committed -
From-SVN: r264843
Peter Bergner committed -
gcc/ PR rtl-optimization/87466 * target.def (setjmp_preserves_nonvolatile_regs_p): New target hook. * doc/tm.texi.in (TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P): New hook. * doc/tm.texi: Regenerate. * ira-lives.c (process_bb_node_lives): Use the new target hook. * lra-lives.c (process_bb_lives): Likewise. * config/rs6000/rs6000.c (TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P): Define. gcc/testsuite/ PR rtl-optimization/87466 * gcc.target/powerpc/pr87466.c: New test. From-SVN: r264842
Peter Bergner committed -
This fixes the superfluous assignment that Coverity reported in add_params, and changes the starting index from 0 to num_params - n in order for it to work properly if add_params is called multiple times. validate_params calls error so it doesn't matter that we don't check the results here. The results is checked in individual parameter updates after front-end initialization. 2018-10-04 Tamar Christina <tamar.christina@arm.com> * params.c (add_params): Fix initialization. From-SVN: r264841
Tamar Christina committed -
2018-10-04 Martin Liska <mliska@suse.cz> PR gcov-profile/84107 * tree-profile.c (init_ic_make_global_vars): Remove ic_void_ptr_var and ic_gcov_type_ptr_var. Come up with new ic_tuple* variables. Emit __gcov_indirect_call{,_topn} variables. (gimple_gen_ic_profiler): Access the variable and emit gimple. (gimple_gen_ic_func_profiler): Access __gcov_indirect_call.callee field. (gimple_init_gcov_profiler): Use ptr_type_node. * value-prof.c (gimple_ic): Use ptr_type_node. 2018-10-04 Martin Liska <mliska@suse.cz> PR gcov-profile/84107 * libgcov-profiler.c (__gcov_indirect_call): Change type to indirect_call_tuple. (struct indirect_call_tuple): New struct. (__gcov_indirect_call_topn_profiler): Change type. (__gcov_indirect_call_profiler_v2): Use the new variables. * libgcov.h (struct indirect_call_tuple): New struct definition. From-SVN: r264840
Martin Liska committed -
https://gcc.gnu.org/ml/gcc-patches/2018-10/msg00248.html * lang-specs.h: Use string contatenation, not line splicing. From-SVN: r264839
Nathan Sidwell committed -
2018-10-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR tree-optimization/85787 * ipa-pure-const.c (malloc_candidate_p_1): Move most of malloc_candidate_p into this function and add support for detecting multiple phis. (DUMP_AND_RETURN): Move from malloc_candidate_p into top-level macro. testsuite/ * gcc.dg/ipa/propmalloc-4.c: New test. From-SVN: r264838
Prathamesh Kulkarni committed -
For a set of object-files, determine symbols that are - public but should be static 2018-10-04 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * unused_functions.py: New file. From-SVN: r264837
Bernhard Reutner-Fischer committed -
2018-10-04 Richard Biener <rguenther@suse.de> * gcc.dg/tree-ssa/cunroll-15.c: Add XFAILs for arm and powerpc. From-SVN: r264836
Richard Biener committed -
2018-10-04 Martin Liska <mliska@suse.cz> PR ipa/87491 * ipa-inline.c (inline_to_all_callers_1): Call ultimate_alias_target for node being inlined. From-SVN: r264835
Martin Liska committed -
The unconditional reload of address operand for recognized instruction in process_address_1 prevent the patch fixing PR85434 from working as expected. The code in that patch attempts to control which registers are used to make PIC access but the reload performed by process_address_1 will use generic PIC access. This patch removes the test for the instruction to be unrecognized to do the reload, thus always avoiding to reload address operand for fixed constraints (such as "X" used in the patch). 2018-10-04 Thomas Preud'homme <thomas.preudhomme@linaro.org> gcc/ * lra-constraints.c (process_address_1): Bail out for all satisfied fixed constraints. From-SVN: r264834
Thomas Preud'homme committed
-