1. 16 Aug, 2019 19 commits
    • tree-sra.c (build_reconstructed_reference): Return NULL_TREE instead of NULL. · d83a4cf1
      	* tree-sra.c (build_reconstructed_reference): Return NULL_TREE instead
      	of NULL.  Add guard for broken VIEW_CONVERT_EXPRs.
      
      From-SVN: r274576
      Eric Botcazou committed
    • tree.def (TYPE_SIZE): Clarify. · dc139eb1
      
      gcc/ChangeLog:
      
      	* tree.def (TYPE_SIZE): Clarify.
      	* tree.h (TYPE_SIZE, TYPE_SIZE_UNIT, DECL_SIZE): Add comments.
      
      From-SVN: r274575
      Martin Sebor committed
    • re PR testsuite/91458 (FAIL: g++.dg/tree-ssa/pr19807.C -std=gnu++98 … · edf2da1e
      re PR testsuite/91458 (FAIL: g++.dg/tree-ssa/pr19807.C  -std=gnu++98  scan-tree-dump-times optimized "&MEM\\\\[\\\\(void .\\\\)&a \\\\+ 8B\\\\]" 3)
      
      PR testsuite/91458
      
      gcc/testsuite/ChangeLog:
      
      	* g++.dg/tree-ssa/pr19807.C: Use the same search pattern
      	unconditionally (correcting r272199, PR middle-end/90676).
      
      From-SVN: r274574
      Martin Sebor committed
    • re PR tree-optimization/91109 ([arm] gcc.c-torture/execute/20040709-1.c fails since r273135) · 23e0f4c3
      2019-08-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR tree-optimization/91109
              * lra-int.h (lra_need_for_scratch_reg_p): Declare.
              * lra.c (lra): Use lra_need_for_scratch_reg_p.
              * lra-spills.c (lra_need_for_scratch_reg_p): New function.
      
      From-SVN: r274573
      Bernd Edlinger committed
    • mmx.md (mmxdoublemode): New mode attribute. · 94538b65
      	* config/i386/mmx.md (mmxdoublemode): New mode attribute.
      	(mmx_uavg<mode>3): Macroize expaner from mmx_uavgv8qi3 and
      	mmx_uavgv4hi3 using MMXMODE12 mode iterator.
      	(uavg<mode>3_ceil): New expander.
      	* config/i386/sse.md (uavg<mode>3_ceil): Use ssedoublemode
      	mode iterator when creating CONST1_RTX.
      	(<sse2_avx2>_uavg<mode>3<mask_name>): Ditto.
      	(*<sse2_avx2>_uavg<mode>3<mask_name>): Use ssedoublemode
      	mode iterator for const1_operand predicate.
      
      From-SVN: r274572
      Uros Bizjak committed
    • tree-scalar-evolution.c (follow_ssa_edge_expr): Declare. · 9ac1403c
      2019-08-16  Richard Biener  <rguenther@suse.de>
      
      	* tree-scalar-evolution.c (follow_ssa_edge_expr): Declare.
      	(follow_ssa_edge_binary): Call follow_ssa_edge_expr instead of
      	follow_ssa_edge.
      	(follow_ssa_edge_in_condition_phi_branch): Likewise.
      	(analyze_evolution_in_loop): Likewise.
      	(follow_ssa_edge, follow_ssa_edge_in_rhs): Inline into ...
      	(follow_ssa_edge_expr): ... here.  Refactor code.
      
      From-SVN: r274571
      Richard Biener committed
    • re PR target/91469 (ICE in extract_insn, at recog.c:2310 since r274481) · 772a1b15
      2019-08-16  Richard Biener  <rguenther@suse.de>
      
      	PR target/91469
      	* config/i386/i386-features.c
      	(general_scalar_chain::replace_with_subreg): Stop at memory operands.
      
      	* gcc.target/i386/pr91469-1.c: New testcase.
      	* gcc.target/i386/pr91469-2.c: Likewise.
      
      From-SVN: r274570
      Richard Biener committed
    • baseline_symbols.txt: Update. · 4305b26e
      	* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
      
      From-SVN: r274569
      Uros Bizjak committed
    • Allow automatics in equivalences · b323be61
      If a variable with an automatic attribute appears in an
      equivalence statement the storage should be allocated on the
      stack.
      
      Note: most of this patch was provided by Jeff Law  <law@redhat.com>.
      
      From-SVN: r274565
      Mark Eggleston committed
    • [gensupport] PR 91255: Do not error out immediately on set_attr_alternative with define_subst · 12f78d8b
      I'm trying to add a define_subst use in the arm backend but am getting many build errors complaining about:
      `set_attr_alternative' is unsupported by `define_subst'
      
      Looking at the gensupport.c code it iterates over all define_insns and errors if any of them have set_attr_alternative.
      
      The usecase I'm targetting doesn't involve patterns with set_attr_alternative, so I would like to make the define_subst handling
      more robust to only error out if the define_subst is actually attempted on a set_attr_alternative.
      
      This patch produces the error only if the set_attr_alternative attr matches the subst name.
      This allows a build of the arm backend with a define_subst usage to succeed.
      
      	PR other/91255
      	* gensupport.c (has_subst_attribute): Error out on set_attr_alternative
      	only if subst_name matches curr_attr string.
      
      From-SVN: r274564
      Kyrylo Tkachov committed
    • tree-ssa-forwprop.c (simplify_builtin_call): Do not remove stmt at gsi_p,… · cc19f80c
      tree-ssa-forwprop.c (simplify_builtin_call): Do not remove stmt at gsi_p, instead replace it with a NOP removed later.
      
      2019-08-16  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-forwprop.c (simplify_builtin_call): Do not remove
      	stmt at gsi_p, instead replace it with a NOP removed later.
      	(pass_forwprop::execute): Fully propagate lattice, DCE stmts
      	that became dead because of that.
      
      	fortran/
      	* trans-intrinsic.c (gfc_conv_intrinsic_findloc): Initialize
      	forward_branch to avoid bogus uninitialized warning.
      
      	* gcc.dg/tree-ssa/forwprop-31.c: Adjust.
      
      From-SVN: r274563
      Richard Biener committed
    • Add missed to a opt-info dump. · 4f4af789
      2019-08-16  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/91447
      	* g++.dg/ipa/ipa-icf-4.C: Add -missed for target that
      	don't have aliases.
      
      From-SVN: r274562
      Martin Liska committed
    • Add type to VR_VARYING. · 97ecc8d5
      From-SVN: r274561
      Aldy Hernandez committed
    • require trampolines for pr85044 · e3cfbeaf
      Testcases that require support for trampolines should be marked as
      such; gcc.target/i386/pr85044.c was missing it.  Fixed.
      
      
      for  gcc/testsuite/ChangeLog
      
      	* gcc.target/i386/pr85044.c: Require support for trampolines.
      
      From-SVN: r274560
      Alexandre Oliva committed
    • i386/asm-4 test: use amd64's natural addressing mode on all OSs · 967a322e
      gcc.target/i386/asm-4.c uses amd64's natural PC-relative addressing
      mode on a single platform, using the 32-bit absolute addressing mode
      elsewhere.  There's no point in giving up amd64's natural addressing
      mode and insisting on the 32-bit one when we're targeting amd64, and
      having to make explicit exceptions for systems where that's found not
      to work for whatever reason.  If we just use the best-suited way to
      take the address of a function behind the compiler's back on each
      target variant, we're less likely to hit unexpected failures.
      
      
      for  gcc/testsuite/ChangeLog
      
      	* gcc.target/i386/asm-4.c: Use amd64 natural addressing mode
      	on all __LP64__ targets.
      
      From-SVN: r274559
      Alexandre Oliva committed
    • use __builtin_alloca, drop non-standard alloca.h · 1ce521ec
      Since alloca.h is not ISO C, most of our alloca-using tests seem to
      rely on __builtin_alloca instead of including the header and calling
      alloca.  This patch extends this practice to some of the exceptions I
      found in gcc.target, marking them as requiring a functional alloca
      while at that.
      
      
      for  gcc/testsuite/ChangeLog
      
      	* gcc.target/arc/interrupt-6.c: Use __builtin_alloca, require
      	effective target support for alloca, drop include of alloca.h.
      	* gcc.target/i386/pr80969-3.c: Likewise.
      	* gcc.target/sparc/setjmp-1.c: Likewise.
      	* gcc.target/x86_64/abi/ms-sysv/gen.cc: Likewise.
      	* gcc.target/x86_64/abi/ms-sysv/ms-sysv.c: Likewise.
      
      From-SVN: r274558
      Alexandre Oliva committed
    • Match ld besides collect2 in gcov test · 2bfd0045
      The regexp that checks that -lgcov is linked in when --coverage is
      passed to the compiler driver requires the command line to match
      '/collect2'.  Some of our targets don't match that, but they match /ld
      or ${target_alias}-ld depending on the testing scenario, so I'd like
      to tweak the test to match those as well.
      
      
      for  gcc/testsuite/ChangeLog
      
      	* gcc.misc-tests/options.exp: Match /ld and -ld besides
      	/collect2.
      
      From-SVN: r274557
      Alexandre Oliva committed
    • address change · 3b5864f4
      Oops, I forgot to update the MAINTAINERS file a couple of months ago,
      when the address there stopped working.
      
      Honestly, I haven't really had much involvement with the frv, mn10300
      or sh ports for almost 15 years, so I wouldn't mind if someone else
      stepped up and took over, but until someone does, I don't mind
      reviewing the occasional patch, so it's best if it can reach me ;-)
      
      
      for  ChangeLog
      
      	* MAINTAINERS: aoliva from @redhat.com to @gcc.gnu.org.
      
      From-SVN: r274556
      Alexandre Oliva committed
    • Daily bump. · 09b0f5bf
      From-SVN: r274555
      GCC Administrator committed
  2. 15 Aug, 2019 21 commits
    • re PR fortran/91443 (-Wargument-mismatch does not catch mismatch for global procedure) · fb078366
      2019-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/91443
      	* frontend-passes.c (check_externals_expr): New function.
      	(check_externals_code): New function.
      	(gfc_check_externals): New function.
      	* gfortran.h (debug): Add prototypes for gfc_symbol * and
      	gfc_expr *.
      	(gfc_check_externals): Add prototype.
      	* interface.c (compare_actual_formal): Do not complain about
      	alternate returns if the formal argument is optional.
      	(gfc_procedure_use): Handle cases when an error has been issued
      	previously.  Break long line.
      	* parse.c (gfc_parse_file): Call gfc_check_externals for all
      	external procedures.
      	* resolve.c (resolve_global_procedure): Remove checking of
      	argument list.
      
      2019-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/91443
      	* gfortran.dg/argument_checking_19.f90: New test.
      	* gfortran.dg/altreturn_10.f90: Change dg-warning to dg-error.
      	* gfortran.dg/dec_union_11.f90: Add -std=legacy.
      	* gfortran.dg/hollerith8.f90: Likewise. Remove warning for
      	Hollerith constant.
      	* gfortran.dg/integer_exponentiation_2.f90: New subroutine gee_i8;
      	use it to avoid type mismatches.
      	* gfortran.dg/pr41011.f: Add -std=legacy.
      	* gfortran.dg/whole_file_1.f90: Change warnings to errors.
      	* gfortran.dg/whole_file_2.f90: Likewise.
      
      From-SVN: r274551
      Thomas Koenig committed
    • PR c++/90393 - ICE with thow in ?: · 7148dede
      My previous patch for 64372 was incomplete: it only stopped making the
      non-throw argument into an rvalue, lvalue_kind still considered the ?:
      expression to be an rvalue, leaving us worse than before.
      
      	PR c++/64372, DR 1560 - Gratuitous lvalue-to-rvalue conversion in ?:
      	* tree.c (lvalue_kind): Handle throw in one arm.
      	* typeck.c (rationalize_conditional_expr): Likewise.
      	(cp_build_modify_expr): Likewise.
      
      From-SVN: r274550
      Jason Merrill committed
    • i386: Separate costs of pseudo registers from hard registers · d321551c
      processor_costs has costs of RTL expressions with pseudo registers and
      and costs of hard register moves:
      
      1. Costs of RTL expressions are used to generate the most efficient RTL
      operations with pseudo registers.
      
      2. Costs of hard register moves are used by register allocator to
      decide how to allocate and move hard registers.
      
      Since relative costs of pseudo register load and store versus pseudo
      register moves in RTL expressions can be different from relative costs
      of hard registers, we should separate costs of RTL expressions with
      pseudo registers from costs of hard registers so that register allocator
      and RTL expressions can be improved independently.
      
      This patch moves costs of hard register moves to the new hard_register
      field and duplicates costs of moves which are also used for costs of RTL
      expressions.
      
      	PR target/90878
      	* config/i386/i386.c (inline_memory_move_cost): Use hard_register
      	for costs of hard register moves.
      	(ix86_register_move_cost): Likewise.
      	* config/i386/i386.h (processor_costs): Move costs of hard
      	register moves to hard_register.  Add int_load, int_store,
      	xmm_move, ymm_move, zmm_move, sse_to_integer, integer_to_sse,
      	sse_load, sse_store, sse_unaligned_load and sse_unaligned_store
      	for costs of RTL expressions.
      	* config/i386/x86-tune-costs.h: Move costs of hard register
      	moves to hard_register.  Duplicate int_load, int_store,
      	xmm_move, ymm_move, zmm_move, sse_to_integer, integer_to_sse,
      	sse_load, sse_store for costs of RTL expressions.
      
      From-SVN: r274543
      H.J. Lu committed
    • PR libstdc++/91456 make INVOKE<R> work with uncopyable prvalues · d91f618d
      In C++17 a function can return a prvalue of a type that cannot be moved
      or copied. The current implementation of std::is_invocable_r uses
      std::is_convertible to test the conversion to R required by INVOKE<R>.
      That fails for non-copyable prvalues, because std::is_convertible is
      defined in terms of std::declval which uses std::add_rvalue_reference.
      In C++17 conversion from R to R involves no copies and so is not the
      same as conversion from R&& to R.
      
      This commit changes std::is_invocable_r to check the conversion without
      using std::is_convertible.
      
      std::function also contains a similar check using std::is_convertible,
      which can be fixed by simply reusing std::is_invocable_r (but because
      std::is_invocable_r is not defined for C++11 it uses the underlying
      std::__is_invocable_impl trait directly).
      
      	PR libstdc++/91456
      	* include/bits/std_function.h (__check_func_return_type): Remove.
      	(function::_Callable): Use std::__is_invocable_impl instead of
      	__check_func_return_type.
      	* include/std/type_traits (__is_invocable_impl): Add another defaulted
      	template parameter. Define a separate partial specialization for
      	INVOKE and INVOKE<void>. For INVOKE<R> replace is_convertible check
      	with a check that models delayed temporary materialization.
      	* testsuite/20_util/function/91456.cc: New test.
      	* testsuite/20_util/is_invocable/91456.cc: New test.
      
      From-SVN: r274542
      Jonathan Wakely committed
    • Add r274540 to LOCAL_PATCHES. · b3595983
      2019-08-15  Martin Liska  <mliska@suse.cz>
      
      	* LOCAL_PATCHES: Add r274540
      
      From-SVN: r274541
      Martin Liska committed
    • Reapply missing patch for libsanitizer. · 71e895b1
      2019-08-15  Martin Liska  <mliska@suse.cz>
      
      	* tsan/tsan_rtl_ppc64.S: Reapply.
      
      From-SVN: r274540
      Martin Liska committed
    • Remove TARGET_SETUP_INCOMING_VARARG_BOUNDS · 06b5889c
      TARGET_SETUP_INCOMING_VARARG_BOUNDS seems to be an unused vestige of the
      MPX support.
      
      2019-08-15  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* target.def (setup_incoming_vararg_bounds): Remove.
      	* doc/tm.texi.in (TARGET_SETUP_INCOMING_VARARG_BOUNDS): Remove.
      	* doc/tm.texi: Regenerate.
      	* targhooks.c (default_setup_incoming_vararg_bounds): Delete.
      	* targhooks.h (default_setup_incoming_vararg_bounds): Likewise.
      	* config/i386/i386.c (ix86_setup_incoming_vararg_bounds): Likewise.
      	(TARGET_SETUP_INCOMING_VARARG_BOUNDS): Likewise.
      
      From-SVN: r274539
      Richard Sandiford committed
    • [libsanitizer] Fix PR bootstrap/91455 · 8bc1fac7
      If a target does not support libbacktrace, it might still the include
      for $(top_srcdir).
      
      Regenerate the built files using automake-1.15.1
      
      libsanitizer/
      
      2019-08-15  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR bootstrap/91455
      	* Makefile.in: Regenerated.
      	* aclocal.m4: Likewise.
      	* asan/Makefile.in: Likewise.
      	* configure: Likewise.
      	* interception/Makefile.in: Likewise.
      	* libbacktrace/Makefile.in: Likewise.
      	* lsan/Makefile.in: Likewise.
      	* sanitizer_common/Makefile.am: Include top_srcdir unconditionally.
      	* sanitizer_common/Makefile.in: Regenerated.
      	* tsan/Makefile.in: Likewise.
      	* ubsan/Makefile.in: Likewise.
      
      From-SVN: r274538
      Iain Sandoe committed
    • MSP430: Fix lines over 80 characters long in config/msp430/*.{c,h} files · 43bfd4e8
      2019-08-15  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	MSP430: Fix lines over 80 characters long in
      	config/msp430/*.{c,h} files
      
      	* config/msp430/driver-msp430.c (msp430_select_cpu): Fix format
      	specifier in string.
      	(msp430_select_hwmult_lib): Split line more than 80 characters long.
      	* config/msp430/msp430-devices.c (msp430_extract_mcu_data): Remove
      	redundant old comment.
      	* config/msp430/msp430-protos.h (msp430_output_aligned_decl_common):
      	Split line more than 80 characters long.
      	* config/msp430/msp430.c (msp430_option_override): Likewise.
      	(msp430_return_in_memory): Likewise.
      	(msp430_gimplify_va_arg_expr): Likewise.
      	(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Likewise.
      	(msp430_legitimate_constant): Likewise.
      	(TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Likewise.
      	(msp430_attr): Likewise.
      	(msp430_data_attr): Likewise.
      	(msp430_start_function): Likewise.
      	(gen_prefix): Likewise.
      	(msp430_init_sections): Likewise.
      	(msp430_select_section): Likewise.
      	(msp430_function_section): Likewise.
      	(msp430_unique_section): Likewise.
      	(msp430_output_aligned_decl_common): Likewise.
      	(msp430_do_not_relax_short_jumps): Likewise.
      	(msp430_init_builtins): Likewise.
      	(msp430_expand_delay_cycles): Likewise.
      	(msp430_expand_prologue): Likewise.
      	(msp430_expand_epilogue): Likewise.
      	(msp430_expand_helper): Likewise.
      	(msp430_split_movsi): Likewise.
      	(msp430_print_operand): Likewise.
      	(msp430_return_addr_rtx): Likewise.
      	(msp430x_extendhisi): Likewise.
      	* config/msp430/msp430.h (STARTFILE_SPEC): Likewise.
      	(ASM_SPEC): Likewise.
      	Remove very obvious comments.
      	(LIB_SPEC): Split line more than 80 characters long.
      	(EH_RETURN_HANDLER_RTX): Likewise.
      	(HARD_REGNO_CALLER_SAVE_MODE): Likewise.
      
      From-SVN: r274537
      Jozef Lawrynowicz committed
    • MSP430: Fix whitespace errors and incorrect indentation in config/msp430/*.{c,h} files · 81a8845c
      2019-08-15  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	MSP430: Fix whitespace errors and incorrect indentation in
      	config/msp430/*.{c,h} files
      
      	* config/msp430/driver-msp430.c (msp430_select_cpu): Fix indentation.
      	(msp430_select_hwmult_lib): Likewise.
      	* config/msp430/msp430-devices.c (parse_devices_csv_1): Likewise.
      	(msp430_extract_mcu_data): Likewise.
      	(struct t_msp430_mcu_data): Likewise.
      	* config/msp430/msp430.c (struct machine_function): Remove whitespace
      	before left square bracket.
      	(msp430_option_override): Fix indentation.
      	(msp430_hard_regno_nregs_with_padding): Likewise.
      	(msp430_initial_elimination_offset): Likewise.
      	(msp430_special_register_convention_p): Remove whitespace before left
      	square bracket and after exclamation mark.
      	(msp430_evaluate_arg): Likewise.
      	(msp430_callee_copies): Fix indentation.
      	(msp430_gimplify_va_arg_expr): Likewise.
      	(msp430_function_arg_advance): Remove whitespace before left square
      	bracket.
      	(reg_ok_for_addr): Likewise.
      	(msp430_preserve_reg_p): Likewise.
      	(msp430_compute_frame_info): Likewise.
      	(msp430_asm_output_addr_const_extra): Add space between function name
      	and open parenthesis.
      	(has_section_name): Fix indentation.
      	(msp430_attr): Remove trailing whitespace.
      	(msp430_section_attr): Likewise.
      	(msp430_data_attr): Likewise.
      	(struct msp430_attribute_table): Fix comment and whitespace.
      	(msp430_start_function): Remove whitespace before left square bracket.
      	Add space between function name and open parenthesis.
      	(msp430_select_section): Remove trailing whitespace.
      	(msp430_section_type_flags): Remove trailing whitespace.
      	(msp430_unique_section): Remove space before closing parenthesis.
      	(msp430_output_aligned_decl_common): Change 8 spaces to a tab.
      	(msp430_builtins): Remove whitespace before left square bracket.
      	(msp430_init_builtins):	Fix indentation.
      	(msp430_expand_prologue): Remove whitespace before left square bracket.
      	Remove space before closing parenthesis.
      	(msp430_expand_epilogue): Remove whitespace before left square bracket.
      	(msp430_split_movsi): Remove space before closing parenthesis.
      	(helper_function_name_mappings): Fix indentation.
      	(msp430_use_f5_series_hwmult): Fix whitespace.
      	(use_32bit_hwmult): Likewise.
      	(msp430_no_hwmult): Likewise.
      	(msp430_output_labelref): Remove whitespace before left square bracket.
      	(msp430_print_operand_raw): Likewise.
      	(msp430_print_operand_addr): Likewise.
      	(msp430_print_operand): Add two spaces after '.' in comment.
      	Fix trailing whitespace.
      	(msp430x_extendhisi): Fix indentation.
      	* config/msp430/msp430.h (TARGET_CPU_CPP_BUILTINS): Change 8 spaces to
      	tab.
      	(PC_REGNUM): Likewise.
      	(STACK_POINTER_REGNUM): Likewise.
      	(CC_REGNUM): Likewise.
      
      From-SVN: r274536
      Jozef Lawrynowicz committed
    • re PR target/91454 (ICE in get_attr_avx_partial_xmm_update, at… · 8ed1d2fa
      re PR target/91454 (ICE in get_attr_avx_partial_xmm_update, at config/i386/i386.md:1804 since r274481)
      
      2019-08-15  Richard Biener  <rguenther@suse.de>
      
      	PR target/91454
      	* config/i386/i386-features.c (gen_gpr_to_xmm_move_src): New
      	helper.
      	(general_scalar_chain::make_vector_copies): Use it.
      
      From-SVN: r274535
      Richard Biener committed
    • Implement P0848R3, Conditionally Trivial Special Member Functions. · c735f8f1
      With Concepts, overloads of special member functions can differ in
      constraints, and this paper clarifies how that affects class properties: if
      a class has a more constrained trivial copy constructor and a less
      constrained non-trivial copy constructor, it is still trivially copyable.
      
      	* tree.c (special_memfn_p): New.
      	* class.c (add_method): When overloading, hide ineligible special
      	member fns.
      	(check_methods): Set TYPE_HAS_COMPLEX_* here.
      	* decl.c (grok_special_member_properties): Not here.
      	* name-lookup.c (push_class_level_binding_1): Move overloaded
      	functions case down, accept FUNCTION_DECL as target_decl.
      
      From-SVN: r274534
      Jason Merrill committed
    • re PR tree-optimization/91445 (After memset, logical && operator produces false… · 84cc60bf
      re PR tree-optimization/91445 (After memset, logical && operator produces false result, optimization level >=O1)
      
      2019-08-15  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/91445
      	* gcc.dg/torture/pr91445.c: New testcase.
      
      From-SVN: r274533
      Richard Biener committed
    • function.c (assign_parm_setup_reg): Handle misaligned stack arguments. · 83403245
      2019-08-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * function.c (assign_parm_setup_reg): Handle misaligned stack arguments.
      
      From-SVN: r274531
      Bernd Edlinger committed
    • Clean up dead condition for operators in DCE. · bbedc1ae
      2019-08-15  Martin Liska  <mliska@suse.cz>
      
      	* tree-ssa-dce.c (propagate_necessity): We can't reach now
      	operators with no arguments.
      	(eliminate_unnecessary_stmts): Likewise here.
      
      From-SVN: r274529
      Martin Liska committed
    • c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is enabled, define __SIZETYPE__. · 21c1e205
      2019-08-15  Richard Biener  <rguenther@suse.de>
      
      	c-family/
      	* c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
      	enabled, define __SIZETYPE__.
      
      	* gcc.dg/pr80170.c: Adjust to use __SIZETYPE__.
      
      From-SVN: r274528
      Richard Biener committed
    • i386-features.c (general_scalar_chain::convert_insn): Revert 2019-08-14 change. · c839844a
      	* config/i386/i386-features.c (general_scalar_chain::convert_insn)
      	<case COMPARE>: Revert 2019-08-14 change.
      	(convertible_comparison_p): Revert 2019-08-14 change.  Return false
      	for (TARGET_64BIT || mode != DImode).
      
      From-SVN: r274526
      Uros Bizjak committed
    • Enforce canonicalization in value_range. · c7cf3a9b
      From-SVN: r274525
      Aldy Hernandez committed
    • Add missing check for BUILT_IN_MD (PR 91444) · eb2211e3
      In this PR we were passing an ordinary non-built-in function to
      targetm.vectorize.builtin_md_vectorized_function, which is only
      supposed to handle BUILT_IN_MD.
      
      2019-08-15  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	PR middle-end/91444
      	* tree-vect-stmts.c (vectorizable_call): Check that the function
      	is a BUILT_IN_MD function before passing it to
      	targetm.vectorize.builtin_md_vectorized_function.
      
      From-SVN: r274524
      Richard Sandiford committed
    • [AArch64] Add a aarch64_sve_mode_p query · 5c38705d
      This patch adds an exported function for testing whether a mode is
      an SVE mode.  The ACLE will make more use of it, but there's already
      one place that can benefit.
      
      2019-08-15  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-protos.h (aarch64_sve_mode_p): Declare.
      	* config/aarch64/aarch64.c (aarch64_sve_mode_p): New function.
      	(aarch64_select_early_remat_modes): Use it.
      
      From-SVN: r274523
      Richard Sandiford committed