1. 11 Feb, 2019 5 commits
    • Construct ipa_reduced_postorder always for overwritable (PR ipa/89009). · 45272fd2
      2019-02-11  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/89009
      	* ipa-cp.c (build_toporder_info): Remove usage of a param.
      	* ipa-inline.c (inline_small_functions): Likewise.
      	* ipa-pure-const.c (propagate_pure_const): Likewise.
      	(propagate_nothrow): Likewise.
      	* ipa-reference.c (propagate): Likewise.
      	* ipa-utils.c (struct searchc_env): Remove unused field.
      	(searchc): Always search across AVAIL_INTERPOSABLE.
      	(ipa_reduced_postorder): Always allow AVAIL_INTERPOSABLE as
      	the only called IPA pure const can properly not propagate
      	across interposable boundary.
      	* ipa-utils.h (ipa_reduced_postorder): Remove param.
      2019-02-11  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/89009
      	* g++.dg/ipa/pr89009.C: New test.
      
      From-SVN: r268762
      Martin Liska committed
    • [NDS32] Add memory mode in call pattern. · d29cce74
      gcc/
      	* config/nds32/nds32.md (call_internal, call_value_internal,
      	sibcall_internal, sibcall_value_internal): Use SImode for mem rtx.
      
      From-SVN: r268761
      Chung-Ju Wu committed
    • cris.c (cris_preferred_minimum_alignment): Fix name typo. · bfb31c3d
      	* config/cris/cris.c (cris_preferred_minimum_alignment): Fix name
      	typo.
      
      From-SVN: r268760
      Hans-Peter Nilsson committed
    • i386: Fix a typo in comments for for "Yd" · 8d75ab4d
      config/i386/constraints.md has
      
      (define_register_constraint "Yd"
       "TARGET_AVX512DQ ? ALL_SSE_REGS : TARGET_SSE4_1 ? SSE_REGS : NO_REGS"
       "@internal Any EVEX encodable SSE register (@code{%xmm0-%xmm31}) for AVX512DQ target or any SSE register for SSE4_1 target.")
      
      Comments for "Yd" should mention AVX512DQ, not AVX512BW.
      
      	* config/i386/constraints.md (Yd): Replace AVX512BW with AVX512DQ
      	in comments
      
      From-SVN: r268759
      H.J. Lu committed
    • Daily bump. · 05eca511
      From-SVN: r268758
      GCC Administrator committed
  2. 10 Feb, 2019 16 commits
  3. 09 Feb, 2019 11 commits
  4. 08 Feb, 2019 8 commits
    • [RS6000] Correct save_reg_p · 9b747072
      Fixes lack of r30 save/restore on
      
      // -m32 -fpic -ftls-model=initial-exec
      __thread char* p;
      char** f1 (void) { return &p; }
      
      and
      
      // -m32 -fpic -msecure-plt
      extern int foo (int);
      int f1 (int x) { return foo (x); }
      
      These are both caused by save_reg_p returning false when the pic
      offset table reg (r30 for ABI_V4) was used, due to the logic not
      exactly matching that in rs6000_emit_prologue to set up r30.
      
      I also noticed that save_reg_p isn't following the comment regarding
      calls_eh_return (since svn 267049, git 0edf78b1b2a0), and the comment
      needs tweaking too.  For why the revised comment is correct, grep for
      saves_all_registers in lra.c, and yes, we do want to save the pic
      offset table reg for eh_return.
      
      	PR target/88343
      	* config/rs6000/rs6000.c (save_reg_p): Correct calls_eh_return
      	case.  Match logic in rs6000_emit_prologue emitting pic_offset_table
      	setup.
      
      From-SVN: r268708
      Alan Modra committed
    • re PR tree-optimization/88739 (Big-endian union bug) · ddf32191
      	PR tree-optimization/88739
      	* gcc.c-torture/execute/pr88739.c: New test.
      
      From-SVN: r268706
      Jakub Jelinek committed
    • re PR middle-end/88560 (armv8_2-fp16-move-1.c and related regressions after r266385) · 82396b8c
      2019-02-08  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR middle-end/88560
      	* lra-constraints.c (process_alt_operands): Don't increase reject
      	for memory when offset memory is required.
      
      From-SVN: r268705
      Vladimir Makarov committed
    • re PR testsuite/89258 (verify_gimple failed in gimple test pr80887 for 16-bit target) · b74ab8eb
      2019-02-08  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	PR testsuite/89258
      	* gcc.dg/tree-ssa/pr80887.c: Require int32plus.
      
      From-SVN: r268704
      Jozef Lawrynowicz committed
    • S/390: Implement vector copysign. · 062468db
      This patch implements the vector copysign operation using vector select and a
      signbit mask.
      
      gcc/ChangeLog:
      
      2019-02-08  Robin Dapp  <rdapp@linux.ibm.com>
      
      	* config/s390/vector.md: Implement vector copysign.
      
      gcc/testsuite/ChangeLog:
      
      2019-02-08  Robin Dapp  <rdapp@linux.ibm.com>
      
      	* gcc.target/s390/vector/vec-copysign-execute.c: New test.
      	* gcc.target/s390/vector/vec-copysign.c: New test.
      
      From-SVN: r268697
      Robin Dapp committed
    • expr.c: Correct indentations in expand_constructor · 94e35e0b
      	* expr.c (expand_constructor): Correct indentations.
      
      From-SVN: r268696
      H.J. Lu committed
    • re PR tree-optimization/89247 (ICE in expand_LOOP_VECTORIZED, at internal-fn.c:2409) · a2d0c3bf
      2019-02-08  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/89247
      	* tree-if-conv.c: Include tree-cfgcleanup.h.
      	(version_loop_for_if_conversion): Record LOOP_VECTORIZED call.
      	(tree_if_conversion): Pass through predicate vector.
      	(pass_if_conversion::execute): Do CFG cleanup and SSA update
      	inline, see if any if-converted loops we refrece in
      	LOOP_VECTORIZED calls vanished and fixup.
      	* tree-if-conv.h (tree_if_conversion): Adjust prototype.
      
      	* gcc.dg/torture/pr89247.c: New testcase.
      
      From-SVN: r268689
      Richard Biener committed
    • S/390: Introduce jdd constraint · 11719d14
      Implementation of section anchors in S/390 back-end added in r266741
      broke jump labels in S/390 Linux kernel [1].  Currently jump labels
      pass global variable addresses to .quad directive in inline assembly
      using "X" constraint.  In the past this used to produce regular symbol
      references, however, after r266741 we sometimes get values like
      (plus (reg) (const_int)), where (reg) points to a section anchor.
      Strictly speaking, this is still correct, since "X" accepts anything.
      Thus, now we need another way to support jump labels.
      
      The existing "i" constraint cannot be used, since with -fPIC it must
      not accept non-local symbols, however, jump labels do require that,
      e.g. __tracepoint_xdp_exception from kernel proper might be referenced
      from kernel modules.
      
      The existing "ZL" constraint cannot be used for the same reason.
      
      The existing "b" constraint cannot be used because of the way
      expand_asm_stmt works.  It deduces whether the constraint allows
      regs, subregs or mems, and processes asm operands differently based on
      that.  "b" is supposed to accept values like (mem (symbol_ref)), and
      there appears to be no way to explain to expand_asm_stmt that for "b"
      mem's address must not be in a register.
      
      This patch introduces the new machine-specific constraint named "jdd" -
      "j" prefix is already used for constants, and "d" stands for "data".
      It accepts anything that fits into the data section, whether or not
      this might require a relocation, that is, anything that passes
      CONSTANT_P check.
      
      [1] https://lkml.org/lkml/2019/1/23/346
      
      gcc/ChangeLog:
      
      2019-02-08  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	* config/s390/constraints.md (jdd): New constraint.
      
      gcc/testsuite/ChangeLog:
      
      2019-02-08  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	* gcc.target/s390/jump-label.c: New test.
      
      From-SVN: r268688
      Ilya Leoshkevich committed