- 10 May, 2017 9 commits
-
-
2017-05-10 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR tree-optimization/77644 * match.pd (sqrt(x) cmp sqrt(y) -> x cmp y): New pattern. testsuite/ * gcc.dg/tree-ssa/pr77644.c: New test-case. From-SVN: r247835
Prathamesh Kulkarni committed -
gcc/cp/ * cp-tree.h (add_method, clone_function_decl): Change last arg to bool. * class.c (add_method): Change third arg to bool. Adjust. (one_inheriting_sig, one_inherited_ctor): Adjust. (clone_function_decl): Change 2nd arg to bool. Adjust. (clone_constructors_and_destructors): Adjust. * lambda.c (maybe_add_lambda_conv_op): Adjust. * method.c (lazily_declare_fn): Adjust. * pt.c (tsubst_decl, instantiate_template_1): Adjust. * semantics.c (finish_member_declaration): Adjust. libcc1/ * libcp1plugin.cc (plugin_build_decl): Adjust add_method call. From-SVN: r247834
Nathan Sidwell committed -
* dumpfile.h (TDI_lang_all): New. (TDF_KIND): New. Renumber others (TDF_LANG, TDF_TREE, TDF_RTL, TDF_IPA): Enumerate value, rather than bits. * dumpfile.c (dump_files): Mark language dumps as TDF_LANG. add lang-all. (get_dump_file_name): Adjust suffix generation. (dump_enable_all): Use TDF_KIND. * doc/invoke.texi (-fdump-lang-all): Document. From-SVN: r247833
Nathan Sidwell committed -
From-SVN: r247832
Nathan Sidwell committed -
gcc/ PR target/80671 * config/aarch64/cortex-a57-fma-steering.c (merge_forest): Move member access before delete. From-SVN: r247831
Wilco Dijkstra committed -
We used to split the inlined-into block at (= after) the call, and then remove the call from the first block to insert it in the second. The removal may cause unnecessary and unrecoverable resetting of debug insns: we do not generate debug temps for calls. Avoid the remove-and-reinsert dance by splitting the block before the call. for gcc/ChangeLog * tree-inline.c (expand_call_inline): Split block at stmt before the call. for gcc/testsuite/ChangeLog * gcc.dg/guality/inline-params-2.c: New. From-SVN: r247830
Alexandre Oliva committed -
/cp 2017-05-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80145 * decl.c (finish_function): To improve error recovery, change the logic for calling apply_deduced_return_type. /testsuite 2017-05-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80145 * g++.dg/cpp1y/auto-fn37.C: New. * g++.dg/cpp1y/auto-fn38.C: Likewise. From-SVN: r247828
Paolo Carlini committed -
From-SVN: r247825
GCC Administrator committed -
From-SVN: r247821
Kaz Kojima committed
-
- 09 May, 2017 31 commits
-
-
[gcc] 2017-05-09 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/68163 * config/rs6000/rs6000.md (f32_lr): Delete mode attributes that are now unused after splitting mov{sf,sd}_hardfloat. (f32_lr2): Likewise. (f32_lm): Likewise. (f32_lm2): Likewise. (f32_li): Likewise. (f32_li2): Likewise. (f32_lv): Likewise. (f32_sr): Likewise. (f32_sr2): Likewise. (f32_sm): Likewise. (f32_sm2): Likewise. (f32_si): Likewise. (f32_si2): Likewise. (f32_sv): Likewise. (f32_dm): Likewise. (f32_vsx): Likewise. (f32_av): Likewise. (mov<mode>_hardfloat): Split into separate movsf and movsd pieces. For movsf, order stores so the VSX stores occur before the GPR store which encourages the register allocator to use a traditional FPR instead of a GPR. For movsd, order the stores so that the GPR store comes before the VSX stores to allow the power6 to work. This is due to the power6 not having a 32-bit integer store instruction from a FPR. (movsf_hardfloat): Likewise. (movsd_hardfloat): Likewise. [gcc/testsuite] 2017-05-09 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/68163 * gcc.target/powerpc/pr68163.c: New test. From-SVN: r247819
Michael Meissner committed -
2017-05-09 Janus Weil <janus@gcc.gnu.org> PR fortran/79311 * resolve.c (gfc_resolve_finalizers): Ensure that derived-type components have a their finalizers resolved, also if the superordinate type itself has a finalizer. 2017-05-09 Janus Weil <janus@gcc.gnu.org> PR fortran/79311 * gfortran.dg/finalize_32.f90: New test. From-SVN: r247818
Janus Weil committed -
From-SVN: r247816
Jason Merrill committed -
From-SVN: r247815
Jason Merrill committed -
* class.c (finalize_literal_type_property): Handle closures specifically. (explain_non_literal_class): Likewise. From-SVN: r247814
Jason Merrill committed -
* constexpr.c (is_valid_constexpr_fn): Only complain about non-literal enclosing class in C++11. * class.c (finalize_literal_type_property): Likewise. From-SVN: r247813
Jason Merrill committed -
2017-05-09 Andreas Tobler <andreast@gcc.gnu.org> * config.host: Use the generic FreeBSD t-slibgcc-elf-ver for arm*-*-freebsd* instead of the t-slibgcc-libgcc. From-SVN: r247812
Andreas Tobler committed -
PR c/35441 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR, MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR. (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR. (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR, RDIV_EXPR. (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR. * gcc.dg/pr35441.c: New test. From-SVN: r247810
Volker Reichelt 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 * c-c++-common/Wsizeof-pointer-memaccess2.c: Prune -Wformat-overflow output. From-SVN: r247808
Martin Sebor committed -
/cp 2017-05-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80186 * pt.c (tsubst_decl): Early return error_mark_node if grok_ctor_properties returns false. /testsuite 2017-05-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80186 * g++.dg/template/crash126.C: New. From-SVN: r247807
Paolo Carlini committed -
* gcc.target/i386/avx512f-vaddsd-2.c: Test fixed. * gcc.target/i386/avx512f-vaddss-2.c: Ditto. * gcc.target/i386/avx512f-vsubsd-2.c: Ditto. * gcc.target/i386/avx512f-vsubss-2.c: Ditto. From-SVN: r247806
Sebastian Peryt committed -
From-SVN: r247805
Dominique d'Humieres committed -
gcc/ChangeLog: PR translation/80280 * config/sol2-c.c (cmn_err_flag_specs): Initialize new data member added in r247778. From-SVN: r247804
Martin Sebor committed -
2017-05-09 Dominique d'Humieres <dominiq@lps.ens.fr> * gfortran.dg/coarray_lock_7.f90: Fix dg-final regexps. From-SVN: r247803
Dominique d'Humieres committed -
gcc/ChangeLog: PR translation/80280 * config/i386/msformat-c.c (ms_printf_flag_specs): Initialize new data member added in r247778. (ms_scanf_flag_specs, ms_strftime_flag_specs): Same. From-SVN: r247801
Martin Sebor committed -
From-SVN: r247800
Nathan Sidwell committed -
From-SVN: r247799
Jason Merrill committed -
gcc/ 2017-05-09 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_conditional_register_usage): Handle ACCL, ACCH registers. * config/arc/arc.md (mulsidi3): Use advanced mpy instructions when available. (umulsidi3): Likewise. (mulsidi3_700): Disable this pattern when we have advanced mpy instructions. (umulsidi3_700): Likewise. (maddsidi4): New pattern. (macd, mac, mac_r, umaddsidi4, macdu, macu, macu_r): Likewise. (mpyd_arcv2hs, mpyd_imm_arcv2hs, mpydu_arcv2hs): Likewise. (mpydu_imm_arcv2hs): Likewise. * config/arc/predicates.md (accl_operand): New predicate. From-SVN: r247797
Claudiu Zissulescu committed -
When a processor enters a fast interrupts handler, and duplicate register banks are configured, the processor saves the user context by saving the registers in the main register bank to these additional registers in the duplicate register bank. In this fast interrupt context, when you specify the rgf_banked_regs option,the compiler does not save the registers duplicated in the additional register bank are not saved. gcc/ 2017-05-09 Claudiu Zissulescu <claziss@synopsys.com> Andrew Burgess <andrew.burgess@embecosm.com> * config/arc/arc.c (ARC_AUTOBLINK_IRQ_P): Consider fast interrupts case also. (ARC_AUTOFP_IRQ_P): Likewise. (ARC_AUTO_IRQ_P): Likewise. (rgf_banked_register_count): New variable. (parse_mrgf_banked_regs_option): New function. (arc_override_options): Handle rgf_banked_regs option. (arc_handle_interrupt_attribute): Add firq option. (arc_compute_function_type): Return fast irq type when required. (arc_must_save_register): Handle fast interrupts. (arc_expand_prologue): Do not emit dwarf info for fast interrupts. (arc_return_address_regs): Update. * config/arc/arc.h (arc_return_address_regs): Update. (arc_function_type): Add fast interrupt type. (ARC_INTERRUPT_P): Update. (RC_FAST_INTERRUPT_P): Define. * config/arc/arc.md (simple_return): Update for fast interrupts. (p_return_i): Likewise. * config/arc/arc.opt (mrgf-banked-regs): New option. * doc/invoke.texi (mrgf-banked-regs): Document. testsuite/ 2017-05-09 Claudiu Zissulescu <claziss@synopsys.com> Andrew Burgess <andrew.burgess@embecosm.com> * gcc.target/arc/firq-1.c: New file. * gcc.target/arc/firq-2.c: Likewise. * gcc.target/arc/firq-3.c: Likewise. * gcc.target/arc/firq-4.c: Likewise. * gcc.target/arc/firq-5.c: Likewise. * gcc.target/arc/firq-6.c: Likewise. Co-Authored-By: Andrew Burgess <andrew.burgess@embecosm.com> From-SVN: r247796
Claudiu Zissulescu committed -
The AUX_IRQ_CTRL register controls the behavior of automated register save and restore or prologue and epilogue sequences during a non-fast interrupt entry and exit, and context save and restore instructions. A user passes to the compiler the configuration of the AUX_IRQ_CTRL register via mirq-ctrl-saved option. This option, specifies gneral-purposes registers that the processor saves/restores on interrupt entry and exit, and it is only valid for ARC EM and ARC HS cores. gcc/ 2017-05-09 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (irq_ctrl_saved): New variable. (ARC_AUTOBLINK_IRQ_P): Define. (ARC_AUTOFP_IRQ_P): Likewise. (ARC_AUTO_IRQ_P): Likewise. (irq_range): New function. (arc_must_save_register): Likewise. (arc_must_save_return_addr): Likewise. (arc_dwarf_emit_irq_save_regs): Likewise. (arc_override_options): Handle deferred options. (MUST_SAVE_REGISTER): Deleted, replaced by arc_must_save_register. (MUST_SAVE_RETURN_ADDR): Deleted, replaced by arc_must_save_return_addr. (arc_compute_frame_size): Handle automated save and restore of registers. (arc_expand_prologue): Likewise. (arc_expand_epilogue): Likewise. * config/arc/arc.md (stack_irq_dwarf): New unspec instruction. * config/arc/arc.opt (mirq-ctrl-saved): New option. * doc/invoke.texi (mirq-ctrl-saved): Document option. testsuite/ 2017-05-09 Claudiu Zissulescu <claziss@synopsys.com> * gcc.target/arc/interrupt-5.c: Newfile. * gcc.target/arc/interrupt-6.c: Likewise. * gcc.target/arc/interrupt-7.c: Likewise. * gcc.target/arc/interrupt-8.c: Likewise. * gcc.target/arc/interrupt-9.c: Likewise. From-SVN: r247795
Claudiu Zissulescu committed -
2017-05-09 Richard Biener <rguenther@suse.de> * gcc.dg/vect/vect-44.c: Add --param vect-max-peeling-for-alignment=0 and adjust. * gcc.dg/vect/vect-50.c: Likewise. From-SVN: r247794
Richard Biener committed -
* cp-tree.h (CONSTRUCTOR_C99_COMPOUND_LITERAL): New. (enum fcl_t): New. * semantics.c (finish_compound_literal): Add fcl_context parameter. Only make a static variable for C99 syntax. * parser.c (cp_parser_postfix_expression): Pass it. * pt.c (tsubst_copy_and_build): Likewise. * call.c (extend_ref_init_temps): Set DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P. From-SVN: r247793
Jason Merrill committed -
* ipa-devirt.c (default_hash_traits<type_pair>): Skip struct-scope typedefs. From-SVN: r247791
Nathan Sidwell committed -
PR c/80525 * c-warn.c (unwrap_c_maybe_const): New. (warn_logical_operator): Call it. * c-c++-common/Wlogical-op-1.c: Don't use -fwrapv anymore. * c-c++-common/Wlogical-op-2.c: New test. From-SVN: r247786
Marek Polacek committed -
gcc/c/ * c-tree.h (pushdecl): Declare. gcc/cp/ * cp-lang.c (get_global_decls, cxx_pushdecl): New. (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Override. * name-lookup.h (pushdecl_top_level): Declare. gcc/c-family/ * c-common.c (c_register_builtin_type): Use pushdecl lang_hook. * c-common.h (pushdecl_top_level, pushdecl): Don't declare here. gcc/objc/ * objc-gnu-runtime-abi-01.c (objc_add_static_instance): Use pushdecl lang_hook. From-SVN: r247785
Nathan Sidwell committed -
From-SVN: r247784
Marek Polacek committed -
2017-05-09 Richard Biener <rguenther@suse.de> * tree-vrp.c (vrp_val_is_max): Adjust comment. (vrp_val_is_min): Likewise. (set_value_range_to_value): Likewise. (set_value_range_to_nonnegative): Likewise. (gimple_assign_nonzero_p): Likewise. (gimple_stmt_nonzero_p): Likewise. (vrp_int_const_binop): Likewise. Remove unreachable case. (adjust_range_with_scev): Adjust comments. (compare_range_with_value): Likewise. (extract_range_from_phi_node): Likewise. (test_for_singularity): Likewise. From-SVN: r247783
Richard Biener committed -
The test reports bogus failures because the loop variable i is declared as int, and the constant expected in the dump doesn't fit in an int for avr. Fixed by explicitly using __INT32_TYPE__ for targets with __SIZEOF_INT__ < 4. gcc/testsuite/ 2017-05-09 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> * gcc.dg/tree-ssa/cunroll-13.c: Use __INT32_TYPE__ for for targets with __SIZEOF_INT__ < 4. From-SVN: r247782
Senthil Kumar Selvaraj committed -
tree-vrp.c (get_single_symbol): Add assert that we don't get overflowed constants as invariant part. 2017-05-09 Richard Biener <rguenther@suse.de> * tree-vrp.c (get_single_symbol): Add assert that we don't get overflowed constants as invariant part. (compare_values_warnv): Add comment before the TREE_NO_WARNING checks. Use wi::cmp instead of recursing for integer constants. (compare_values): Just ignore whether we assumed undefined overflow instead of failing the compare. (extract_range_for_var_from_comparison_expr): Add comment before the TREE_NO_WARNING sets. (test_for_singularity): Likewise. (extract_range_from_comparison): Do not disable optimization when we assumed undefined overflow. (extract_range_basic): Remove init of unused var. From-SVN: r247781
Richard Biener committed -
2017-05-09 Richard Biener <rguenther@suse.de> * gcc.dg/vect/vect-50.c: Revert last change. * gcc.dg/vect/vect-44.c: Likewise. From-SVN: r247780
Richard Biener committed -
2017-05-09 Richard Biener <rguenther@suse.de> * tree-vrp.c (vrp_int_const_binop): Use wide-ints and simplify. (extract_range_from_multiplicative_op_1): Adjust. (extract_range_from_binary_expr_1): Use int_const_binop. From-SVN: r247779
Richard Biener committed
-