public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/58945] New: Improve atomic_compare_and_swap*_doubleword pattern
@ 2013-10-31 19:25 ubizjak at gmail dot com
  2014-09-11  7:52 ` [Bug target/58945] " ubizjak at gmail dot com
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2013-10-31 19:25 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 11362 bytes --]

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58945

            Bug ID: 58945
           Summary: Improve atomic_compare_and_swap*_doubleword pattern
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ubizjak at gmail dot com

Created attachment 31126
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31126&action=edit
Patch to simplify atomic_compare_and_swap<dwi>_doubleword pattern

Currently, gcc generates lots of unnecessary moves for following testcase
(actually gcc.dg/atomic-store-6.c):

--cut here--
__int128_t i;

int main()
{
  __atomic_store_16(&i, -1, 0);
  if (i != -1)
    __builtin_abort();
  return 0;
}
--cut here--

gcc -O2 -mcx16:

        movq    i(%rip), %rsi
        movq    $-1, %rcx
        movq    i+8(%rip), %rdi
.L2:
        movq    %rsi, %rax
        movq    %rdi, %rdx
        movq    %rcx, %rbx
        lock cmpxchg16b i(%rip)
        movq    %rdx, %rdi
        movq    %rax, %rsi
        jne     .L2

I have experimented with sync x86_64 pattern, to see if we can simplify
atomic_compare_and_swap<dwi>_doubleword pattern, so it would work with real
doublemode values and this way remove unnecessary register moves. However, I
have hit an ICE in assing_by_spills that prevents me from using these
simplifications:

gcc -O2 -mcx16

atomic-store-6.c: In function ‘main’:
atomic-store-6.c:13:1: internal compiler error: in assign_by_spills,
at lra-assigns.c:1281
 }
 ^
0x883e7f assign_by_spills
        ../../gcc-svn/trunk/gcc/lra-assigns.c:1281
0x884320 lra_assign()
        ../../gcc-svn/trunk/gcc/lra-assigns.c:1439
Please submit a full bug report,

I believe that the pattern is correct, and LRA is tripping on some
unknown issue.
>From gcc-bugs-return-433209-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Oct 31 19:26:59 2013
Return-Path: <gcc-bugs-return-433209-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 30991 invoked by alias); 31 Oct 2013 19:26:59 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 30961 invoked by uid 48); 31 Oct 2013 19:26:56 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/58945] Improve atomic_compare_and_swap*_doubleword pattern
Date: Thu, 31 Oct 2013 19:26:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: enhancement
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cf_gcctarget bug_status cf_reconfirmed_on cc everconfirmed bug_severity
Message-ID: <bug-58945-4-LsN3jJjh6M@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-58945-4@http.gcc.gnu.org/bugzilla/>
References: <bug-58945-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-10/txt/msg02353.txt.bz2
Content-length: 692

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58945

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-10-31
                 CC|                            |vmakarov at gcc dot gnu.org
     Ever confirmed|0                           |1
           Severity|normal                      |enhancement

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
Confirmed as an enhancement.
>From gcc-bugs-return-433210-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Oct 31 20:25:32 2013
Return-Path: <gcc-bugs-return-433210-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 11719 invoked by alias); 31 Oct 2013 20:25:31 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 11672 invoked by uid 48); 31 Oct 2013 20:25:26 -0000
From: "octoploid at yandex dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/58946] New: [4.9 Regression] internal compiler error: in operator[], at vec.h:722
Date: Thu, 31 Oct 2013 20:25:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: octoploid at yandex dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter
Message-ID: <bug-58946-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-10/txt/msg02354.txt.bz2
Content-length: 2249

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58946

            Bug ID: 58946
           Summary: [4.9 Regression] internal compiler error: in
                    operator[], at vec.h:722
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: octoploid at yandex dot com

Building dev-util/kdevplatform-1.5.2 ICEs.

markus@x4 tmp % cat test.ii
class A {
public:
  A(int p1) : m_index(p1) {
    if (!p1)
      m_index = DummyMask;
  }
  enum {
    DummyMask = 1 << 31
  };
  unsigned m_fn1() const {
    int a;
    a = m_index & DummyMask;
    if (a)
      return 0;
    return m_index;
  }
  unsigned m_index;
};

class B {
public:
  int contains___trans_tmp_4;
  void m_fn1(int &p1) {
    const A &b = p1;
    contains___trans_tmp_4 = b.m_fn1();
  }
};
void fn1(A p1, B &p2) {
  int c;
  c = p1.m_fn1();
  p2.m_fn1(c);
}

markus@x4 tmp % g++ -c -O2 test.ii
test.ii: In function ‘void fn1(A, B&)’:
test.ii:28:6: internal compiler error: in operator[], at vec.h:722
 void fn1(A p1, B &p2) {
      ^
0xc819a7 vec<operand_entry*, va_heap, vl_embed>::operator[](unsigned int)
        ../../gcc/gcc/vec.h:722
0xc84207 vec<operand_entry*, va_heap, vl_embed>::operator[](unsigned int)
        ../../gcc/gcc/tree.h:2806
0xc84207 vec<operand_entry*, va_heap, vl_ptr>::operator[](unsigned int)
        ../../gcc/gcc/vec.h:1152
0xc84207 update_ops
        ../../gcc/gcc/tree-ssa-reassoc.c:2619
0xc8c1fa maybe_optimize_range_tests
        ../../gcc/gcc/tree-ssa-reassoc.c:2907
0xc8c1fa reassociate_bb
        ../../gcc/gcc/tree-ssa-reassoc.c:4325
0xc8b927 reassociate_bb
        ../../gcc/gcc/tree-ssa-reassoc.c:4482
0xc8b927 reassociate_bb
        ../../gcc/gcc/tree-ssa-reassoc.c:4482
0xc8e2db do_reassoc
        ../../gcc/gcc/tree-ssa-reassoc.c:4515
0xc8e2db execute_reassoc
        ../../gcc/gcc/tree-ssa-reassoc.c:4597
0xc8e2db execute
        ../../gcc/gcc/tree-ssa-reassoc.c:4639
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.

Looks related to PR58911.
>From gcc-bugs-return-433211-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Oct 31 20:51:43 2013
Return-Path: <gcc-bugs-return-433211-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 7119 invoked by alias); 31 Oct 2013 20:51:42 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 7055 invoked by uid 48); 31 Oct 2013 20:51:36 -0000
From: "mikpelinux at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c/58943] wrong calculation of indirect structure member arithmetic via function call
Date: Thu, 31 Oct 2013 20:51:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c
X-Bugzilla-Version: 4.8.1
X-Bugzilla-Keywords:
X-Bugzilla-Severity: critical
X-Bugzilla-Who: mikpelinux at gmail dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cc attachments.created
Message-ID: <bug-58943-4-UNIMCEL72k@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-58943-4@http.gcc.gnu.org/bugzilla/>
References: <bug-58943-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-10/txt/msg02355.txt.bz2
Content-length: 962

http://gcc.gnu.org/bugzilla/show_bug.cgi?idX943

Mikael Pettersson <mikpelinux at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mikpelinux at gmail dot com

--- Comment #1 from Mikael Pettersson <mikpelinux at gmail dot com> ---
Created attachment 31127
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id1127&actioníit
reduced test case

I believe this bug is real, and a dup or variation of PR48814, the difference
being that PR48814 had a postfix ++ while here we have a compound assignment
(|=).  According to Joseph's comment in
<http://gcc.gnu.org/bugzilla/show_bug.cgi?idH814#c8> the same interleaving
restrictions apply to ++ and |=.

The bug appears to trigger when the lvalue is a non-scalar.  It doesn't have to
be a struct member, an array element (as in this test case) suffices.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/58945] Improve atomic_compare_and_swap*_doubleword pattern
  2013-10-31 19:25 [Bug target/58945] New: Improve atomic_compare_and_swap*_doubleword pattern ubizjak at gmail dot com
@ 2014-09-11  7:52 ` ubizjak at gmail dot com
  2014-10-15 19:09 ` ubizjak at gmail dot com
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2014-09-11  7:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58945

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #31126|0                           |1
        is obsolete|                            |

--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
Created attachment 33470
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33470&action=edit
Updated patch to simplify atomic_compare_and_swap<dwi>_doubleword pattern

Patched mainline gcc at revision 215151 still fails to compile the testcase.

Updated patch attached.
>From gcc-bugs-return-461564-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Sep 11 07:56:58 2014
Return-Path: <gcc-bugs-return-461564-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 10440 invoked by alias); 11 Sep 2014 07:56:58 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 10418 invoked by uid 48); 11 Sep 2014 07:56:54 -0000
From: "gjl at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/63223] [avr] Make jumptables work with -Wl,--section-start,.textDate: Thu, 11 Sep 2014 07:56:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 4.8.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: enhancement
X-Bugzilla-Who: gjl at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P4
X-Bugzilla-Assigned-To: gjl at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cf_gcctarget priority assigned_to
Message-ID: <bug-63223-4-K8Oza2z9yf@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-63223-4@http.gcc.gnu.org/bugzilla/>
References: <bug-63223-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-09/txt/msg01398.txt.bz2
Content-length: 421

https://gcc.gnu.org/bugzilla/show_bug.cgi?idc223

Georg-Johann Lay <gjl at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |avr
           Priority|P3                          |P4
           Assignee|unassigned at gcc dot gnu.org      |gjl at gcc dot gnu.org


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/58945] Improve atomic_compare_and_swap*_doubleword pattern
  2013-10-31 19:25 [Bug target/58945] New: Improve atomic_compare_and_swap*_doubleword pattern ubizjak at gmail dot com
  2014-09-11  7:52 ` [Bug target/58945] " ubizjak at gmail dot com
@ 2014-10-15 19:09 ` ubizjak at gmail dot com
  2014-10-17  7:20 ` ubizjak at gmail dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2014-10-15 19:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58945

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #33470|0                           |1
        is obsolete|                            |

--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> ---
Created attachment 33729
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33729&action=edit
Updated patch to simplify atomic_compare_and_swap<dwi>_doubleword pattern

Patched mainline gcc at revision 216266 still fails to compile the testcase.

Updated patch attached.
>From gcc-bugs-return-464171-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Oct 15 19:12:20 2014
Return-Path: <gcc-bugs-return-464171-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 11241 invoked by alias); 15 Oct 2014 19:12:20 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 11191 invoked by uid 48); 15 Oct 2014 19:12:16 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug go/59432] [4.9/5 regression] sync/atomic FAILs on 32bit x86 systems without .cfi directives
Date: Wed, 15 Oct 2014 19:12:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: go
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P5
X-Bugzilla-Assigned-To: ubizjak at gmail dot com
X-Bugzilla-Target-Milestone: 5.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status resolution target_milestone
Message-ID: <bug-59432-4-TphP83RfeJ@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59432-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59432-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-10/txt/msg01192.txt.bz2
Content-length: 491

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59432

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|4.9.2                       |5.0

--- Comment #15 from Uroš Bizjak <ubizjak at gmail dot com> ---
Fixed for 5.0.
>From gcc-bugs-return-464172-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Oct 15 19:58:05 2014
Return-Path: <gcc-bugs-return-464172-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 3342 invoked by alias); 15 Oct 2014 19:58:05 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 2707 invoked by uid 48); 15 Oct 2014 19:58:01 -0000
From: "izamyatin at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/63534] [5 Regression] Bootstrap failure on x86_64/i686-linux
Date: Wed, 15 Oct 2014 19:58:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: ice-on-valid-code, wrong-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: izamyatin at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cc
Message-ID: <bug-63534-4-YVrB8guwy2@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-63534-4@http.gcc.gnu.org/bugzilla/>
References: <bug-63534-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-10/txt/msg01193.txt.bz2
Content-length: 587

https://gcc.gnu.org/bugzilla/show_bug.cgi?idc534

Igor Zamyatin <izamyatin at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |izamyatin at gmail dot com

--- Comment #14 from Igor Zamyatin <izamyatin at gmail dot com> ---
Thanks!

That's define_insn_and_split "nonlocal_goto_receiver" where the issue comes
from.
Seems now we need to handle this split somewhat similar to the second approach
in solving of the profiling issue


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/58945] Improve atomic_compare_and_swap*_doubleword pattern
  2013-10-31 19:25 [Bug target/58945] New: Improve atomic_compare_and_swap*_doubleword pattern ubizjak at gmail dot com
  2014-09-11  7:52 ` [Bug target/58945] " ubizjak at gmail dot com
  2014-10-15 19:09 ` ubizjak at gmail dot com
@ 2014-10-17  7:20 ` ubizjak at gmail dot com
  2014-10-17  7:33 ` ubizjak at gmail dot com
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2014-10-17  7:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58945

--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> ---
Created attachment 33744
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33744&action=edit
Simplified patch

Somehow simplified patch for mainline. Still fails with -O2 -mcx16:

atomic-store-6.c: In function ‘main’:
atomic-store-6.c:13:1: error: unable to find a register to spill
 }
 ^
atomic-store-6.c:13:1: error: this is the insn:
(insn 9 48 47 3 (parallel [
            (set (reg:TI 101 [86])
                (unspec_volatile:TI [
                        (mem/v:TI (symbol_ref:DI ("i")  <var_decl
0x2adae9631c60 i>) [-1  S16 A128])
                        (reg:TI 101 [86])
                        (reg:DI 102 [99])
                        (reg:DI 99)
                        (const_int 5 [0x5])
                    ] UNSPECV_CMPXCHG))
            (set (mem/v:TI (symbol_ref:DI ("i")  <var_decl 0x2adae9631c60 i>)
[-1  S16 A128])
                (unspec_volatile:TI [
                        (const_int 0 [0])
                    ] UNSPECV_CMPXCHG))
            (set (reg:CCZ 17 flags)
                (unspec_volatile:CCZ [
                        (const_int 0 [0])
                    ] UNSPECV_CMPXCHG))
        ]) atomic-store-6.c:9 4876 {atomic_compare_and_swapti_doubleword}
     (expr_list:REG_DEAD (reg:DI 102 [99])
        (nil)))
atomic-store-6.c:13:1: internal compiler error: in assign_by_spills, at
lra-assigns.c:1363
>From gcc-bugs-return-464315-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Oct 17 07:25:02 2014
Return-Path: <gcc-bugs-return-464315-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 22800 invoked by alias); 17 Oct 2014 07:25:02 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 22375 invoked by uid 48); 17 Oct 2014 07:24:57 -0000
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ipa/63566] [5 Regression] i686 bootstrap fails: ICE RTL flag check: INSN_UID used with unexpected rtx code 'set' in INSN_UID, at rtl.h:1326
Date: Fri, 17 Oct 2014 07:25:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: ipa
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jakub at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: target_milestone
Message-ID: <bug-63566-4-w2IkHUANWU@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-63566-4@http.gcc.gnu.org/bugzilla/>
References: <bug-63566-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-10/txt/msg01336.txt.bz2
Content-length: 3579

https://gcc.gnu.org/bugzilla/show_bug.cgi?idc566

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |5.0

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Self-contained testcase (-m32 -O2 to reproduce):
#define A \
  x += y * z; \
  y = (y << ((z & 2) + 1)) \
      ^ (y >> (__SIZEOF_INT__ * __CHAR_BIT__ - (z & 2) - 1)); \
  z *= 7;
#define B A A A A A A A A A A
#define C B B B B B B B B B B

static unsigned int
f1 (unsigned int x, unsigned int y, unsigned int z)
{
  C
  return x + y + z;
}

static unsigned int
f2 (unsigned int x, unsigned int y, unsigned int z)
{
  C
  return x + y + z;
}

__attribute__((noinline, noclone)) unsigned int
f3 (unsigned int x, unsigned int y, unsigned int z)
{
  return f1 (x, z, y) + 6;
}

__attribute__((noinline, noclone)) unsigned int
f4 (unsigned int x, unsigned int y, unsigned int z)
{
  return f2 (y, x, z) + 7;
}

__attribute__((noinline, noclone, used)) unsigned int
f5 (unsigned int x, unsigned int y, unsigned int z)
{
  return f1 (2 * x, z / 2, y + 3) - 6;
}

__attribute__((noinline, noclone, used)) unsigned int
f6 (unsigned int x, unsigned int y, unsigned int z)
{
  return f2 (y + 2, x | 1, z / 73) + 1;
}

int
main ()
{
  unsigned int x = f3 (0x173214, 0x182172, 0x9314);
  unsigned int y = f4 (0x173214, 0x182172, 0x9314);
#if __SIZEOF_INT__ * __CHAR_BIT__ == 32
  if (x != 0xd8e56f78U || y != 0x494c6699U)
    __builtin_abort ();
#endif
  return 0;
}

BTW, this testcase also shows that the debug info state of ICF is not really
solved:

grep '\.set' h.s; grep -A2 'DIE.*\(DW_TAG_subprogram\|DW_TAG_GNU_call_site)\)'
h.s
    .set    f1,f2
    .uleb128 0x3    # (DIE (0x2f) DW_TAG_subprogram)
    .ascii "f2\0"    # DW_AT_name
    .byte    0x1    # DW_AT_decl_file (/tmp/h.c)
--
    .uleb128 0x5    # (DIE (0x6f) DW_TAG_subprogram)
            # DW_AT_external
    .ascii "f3\0"    # DW_AT_name
--
    .uleb128 0x7    # (DIE (0xab) DW_TAG_GNU_call_site)
    .long    .LVL559    # DW_AT_low_pc
    .byte    0    # end of children of DIE 0x6f
    .uleb128 0x5    # (DIE (0xb1) DW_TAG_subprogram)
            # DW_AT_external
    .ascii "f4\0"    # DW_AT_name
--
    .uleb128 0x8    # (DIE (0xed) DW_TAG_GNU_call_site)
    .long    .LVL561    # DW_AT_low_pc
    .long    0x2f    # DW_AT_abstract_origin
--
    .uleb128 0x5    # (DIE (0x10d) DW_TAG_subprogram)
            # DW_AT_external
    .ascii "f5\0"    # DW_AT_name
--
    .uleb128 0x7    # (DIE (0x149) DW_TAG_GNU_call_site)
    .long    .LVL563    # DW_AT_low_pc
    .byte    0    # end of children of DIE 0x10d
    .uleb128 0x5    # (DIE (0x14f) DW_TAG_subprogram)
            # DW_AT_external
    .ascii "f6\0"    # DW_AT_name
--
    .uleb128 0x8    # (DIE (0x18b) DW_TAG_GNU_call_site)
    .long    .LVL565    # DW_AT_low_pc
    .long    0x2f    # DW_AT_abstract_origin
--

shows that
1) there is no DW_TAG_subprogram for f1 emitted (what exactly should be the
content of it is up to the discussions with GDB folks I guess, either pretty
much a copy of DW_TAG_subprogram for f2 with adjusted real type if needed,
perhaps different names of arguments etc., or some way to refer to f2
subprogram DIE and telling it is ICF merged)
2) probably because of that DW_TAG_GNU_call_site in f3 and f5 don't have
DW_AT_abstract_origin, meaning that even if the debugger had right code to
handle ICF, it could not, because we are not telling it that we were calling f1
there


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/58945] Improve atomic_compare_and_swap*_doubleword pattern
  2013-10-31 19:25 [Bug target/58945] New: Improve atomic_compare_and_swap*_doubleword pattern ubizjak at gmail dot com
                   ` (2 preceding siblings ...)
  2014-10-17  7:20 ` ubizjak at gmail dot com
@ 2014-10-17  7:33 ` ubizjak at gmail dot com
  2015-02-13 10:07 ` ubizjak at gmail dot com
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2014-10-17  7:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58945

--- Comment #6 from Uroš Bizjak <ubizjak at gmail dot com> ---
Hm, starting from:

                (unspec_volatile:TI [
                        (mem/v:TI (symbol_ref:DI ("i")  <var_decl
0x2adae9631c60 i>) [-1  S16 A128])
                        (reg:TI 85)
                        (reg:DI 97)
                        (reg:DI 98 [+8 ])
                        (const_int 5 [0x5])


fwprop creates:

                (unspec_volatile:TI [
                        (mem/v:TI (symbol_ref:DI ("i")  <var_decl
0x2adae9631c60 i>) [-1  S16 A128])
                        (reg:TI 86)
                        (reg:DI 97)
                        (reg:DI 97)
                        (const_int 5 [0x5])

Register allocators can't allocate reg 97 to "b" and "c" constraint:

        (unspec_volatile:<DWI>
          [(match_operand:<DWI> 1 "memory_operand" "+m")
           (match_operand:<DWI> 2 "register_operand" "0")
           (match_operand:DWIH 3 "register_operand" "b")
           (match_operand:DWIH 4 "register_operand" "c")
           (match_operand:SI 5 "const_int_operand")]
          UNSPECV_CMPXCHG))

So, a fwprop bug?
>From gcc-bugs-return-464317-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Oct 17 07:54:55 2014
Return-Path: <gcc-bugs-return-464317-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 15934 invoked by alias); 17 Oct 2014 07:54:54 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 15903 invoked by uid 48); 17 Oct 2014 07:54:50 -0000
From: "vries at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/61605] Potential optimization: Keep unclobbered argument registers live across function calls
Date: Fri, 17 Oct 2014 07:54:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: missed-optimization, patch
X-Bugzilla-Severity: normal
X-Bugzilla-Who: vries at gcc dot gnu.org
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: vries at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: keywords bug_status resolution
Message-ID: <bug-61605-4-RfTTGuK35I@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-61605-4@http.gcc.gnu.org/bugzilla/>
References: <bug-61605-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-10/txt/msg01338.txt.bz2
Content-length: 511

https://gcc.gnu.org/bugzilla/show_bug.cgi?ida605

vries at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #11 from vries at gcc dot gnu.org ---
Patches committed, test-case updated. Resolving as fixed.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/58945] Improve atomic_compare_and_swap*_doubleword pattern
  2013-10-31 19:25 [Bug target/58945] New: Improve atomic_compare_and_swap*_doubleword pattern ubizjak at gmail dot com
                   ` (3 preceding siblings ...)
  2014-10-17  7:33 ` ubizjak at gmail dot com
@ 2015-02-13 10:07 ` ubizjak at gmail dot com
  2015-03-31  9:30 ` ubizjak at gmail dot com
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2015-02-13 10:07 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 3048 bytes --]

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58945

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Uroš Bizjak from comment #6)

> Register allocators can't allocate reg 97 to "b" and "c" constraint:
>
> So, a fwprop bug?

Adding an expert to CC.
>From gcc-bugs-return-477126-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Feb 13 10:09:18 2015
Return-Path: <gcc-bugs-return-477126-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 30709 invoked by alias); 13 Feb 2015 10:09:17 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 30679 invoked by uid 48); 13 Feb 2015 10:09:14 -0000
From: "enkovich.gnu at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/65044] ICE: SIGSEGV in contains_struct_check with -fsanitize­dress -fcheck-pointer-bounds
Date: Fri, 13 Feb 2015 10:09:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: ice-on-valid-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: enkovich.gnu at gmail dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-65044-4-vOdM8HvxUc@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-65044-4@http.gcc.gnu.org/bugzilla/>
References: <bug-65044-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-02/txt/msg01459.txt.bz2
Content-length: 659

https://gcc.gnu.org/bugzilla/show_bug.cgi?ide044

--- Comment #1 from Ilya Enkovich <enkovich.gnu at gmail dot com> ---
ICE occurs due to NULL field attached to a constructor element used for
initialization of internal asan structure.

Overall I don't think we should allow simultaneous usage of Pointer Bounds
Checker and Address Sanitizer.  It was never investigated how they may
conflict.  There should be at least a problem with static objects where each
instrumentation creates static objects to describe existing ones, newly created
objects are then also described by each other etc.

I will prepare a patch to prevent checker usage with sanitizers.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/58945] Improve atomic_compare_and_swap*_doubleword pattern
  2013-10-31 19:25 [Bug target/58945] New: Improve atomic_compare_and_swap*_doubleword pattern ubizjak at gmail dot com
                   ` (4 preceding siblings ...)
  2015-02-13 10:07 ` ubizjak at gmail dot com
@ 2015-03-31  9:30 ` ubizjak at gmail dot com
  2015-03-31 17:33 ` uros at gcc dot gnu.org
  2015-03-31 17:37 ` ubizjak at gmail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2015-03-31  9:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58945

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #33729|0                           |1
        is obsolete|                            |
  Attachment #33744|0                           |1
        is obsolete|                            |
           Assignee|steven at gcc dot gnu.org          |ubizjak at gmail dot com

--- Comment #8 from Uroš Bizjak <ubizjak at gmail dot com> ---
Created attachment 35190
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35190&action=edit
Patch to simplify atomic_compare_and_swap<dwi>_doubleword pattern

At the end of the day ... the problem was in the patch itself, the
infrastructure is OK.  We have to use "A" constraint for doubleword eax/edx
register pair.  Where did I put my brown paperbag?

The resulting code for the testcase from the Comment #0 is considerably better:

        movq    i(%rip), %rax
        movq    $-1, %rcx
        movq    i+8(%rip), %rdx
.L2:
        movq    %rcx, %rbx
        lock; cmpxchg16b        i(%rip)
        jne     .L2
>From gcc-bugs-return-482324-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Mar 31 08:37:56 2015
Return-Path: <gcc-bugs-return-482324-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 40031 invoked by alias); 31 Mar 2015 08:37:56 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 39978 invoked by uid 48); 31 Mar 2015 08:37:52 -0000
From: "vries at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ada/65490] terminals.c:1266:21: warning:=?UTF-8?Q? argument to ‘sizeof’ in ‘bzero’ call is the same expression as the destination?Date: Tue, 31 Mar 2015 09:30:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: ada
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: patch
X-Bugzilla-Severity: normal
X-Bugzilla-Who: vries at gcc dot gnu.org
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: vries at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status resolution assigned_to
Message-ID: <bug-65490-4-KC8eWhxww9@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-65490-4@http.gcc.gnu.org/bugzilla/>
References: <bug-65490-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-03/txt/msg03468.txt.bz2
Content-length: 505

https://gcc.gnu.org/bugzilla/show_bug.cgi?ide490

vries at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED
           Assignee|unassigned at gcc dot gnu.org      |vries at gcc dot gnu.org

--- Comment #3 from vries at gcc dot gnu.org ---
Committed patch, marking resolved fixed.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/58945] Improve atomic_compare_and_swap*_doubleword pattern
  2013-10-31 19:25 [Bug target/58945] New: Improve atomic_compare_and_swap*_doubleword pattern ubizjak at gmail dot com
                   ` (5 preceding siblings ...)
  2015-03-31  9:30 ` ubizjak at gmail dot com
@ 2015-03-31 17:33 ` uros at gcc dot gnu.org
  2015-03-31 17:37 ` ubizjak at gmail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: uros at gcc dot gnu.org @ 2015-03-31 17:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58945

--- Comment #9 from uros at gcc dot gnu.org ---
Author: uros
Date: Tue Mar 31 17:06:37 2015
New Revision: 221798

URL: https://gcc.gnu.org/viewcvs?rev=221798&root=gcc&view=rev
Log:
    PR target/58945
    * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
    Do not split operands 0 and operands 2 to halfmode.
    (atomic_compare_and_swap<mode>): Update for
    atomic_compare_and_swap<dwi>_doubleword changes.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/sync.md


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/58945] Improve atomic_compare_and_swap*_doubleword pattern
  2013-10-31 19:25 [Bug target/58945] New: Improve atomic_compare_and_swap*_doubleword pattern ubizjak at gmail dot com
                   ` (6 preceding siblings ...)
  2015-03-31 17:33 ` uros at gcc dot gnu.org
@ 2015-03-31 17:37 ` ubizjak at gmail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: ubizjak at gmail dot com @ 2015-03-31 17:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58945

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|---                         |5.0

--- Comment #10 from Uroš Bizjak <ubizjak at gmail dot com> ---
Fixed by [1].

[1] https://gcc.gnu.org/ml/gcc-patches/2015-03/msg01684.html
>From gcc-bugs-return-482427-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Mar 31 17:25:45 2015
Return-Path: <gcc-bugs-return-482427-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 10900 invoked by alias); 31 Mar 2015 17:25:45 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 9032 invoked by uid 48); 31 Mar 2015 17:25:40 -0000
From: "hubicka at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ipa/64190] [4.9 Regression] FAIL: gcc.dg/ipa/pr63551.c (test for excess errors)
Date: Tue, 31 Mar 2015 17:43:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: ipa
X-Bugzilla-Version: 4.9.3
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: hubicka at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P1
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.9.4
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cc
Message-ID: <bug-64190-4-H2288pR99S@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64190-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64190-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-03/txt/msg03571.txt.bz2
Content-length: 3411

https://gcc.gnu.org/bugzilla/show_bug.cgi?idd190

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org

--- Comment #5 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Sorry, accidental message.

It is 69->80.5s between 141127.61083 and 150113.26056 (tester was down)
      66->69s between 141123.15275 and 141124.01653
      60->64 between 140807.80282 and 140808.66762

Now the other tester shows
      59->50 between 150112.41636 and 150113.13858
      51->53 between 141124.14999 and 141123.43031
      45->48 between 140807.01584 and 140808.72560

Can we, please, restart the frescobaldi tester? It is down sine 23rd.

There is an inline change
2015-01-12  Jan Hubicka  <hubicka@ucw.cz>

        PR ipa/63967
        PR ipa/64425
        * ipa-inline.c (compute_uninlined_call_time,
        compute_inlined_call_time): Use counts for extra precision when
        needed possible.
        (big_speedup_p): Fix formating.
        (RELATIVE_TIME_BENEFIT_RANGE): Remove.
        (relative_time_benefit): Remove.
        (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
        merge guessed and read profile paths.
        (inline_small_functions): Count only !optimize_size functions into
        initial size; be more lax about sanity check when profile is used;
        be sure to update inlined function profile when profile is read.

2015-01-12  Jan Hubicka  <hubicka@ucw.cz>

        PR ipa/63470
        * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
        cost when edge becomes direct.
        * ipa-prop.c (make_edge_direct): Do not adjust when speculation
        is resolved or when introducing new speculation.

2014-11-22  Jan Hubicka  <hubicka@ucw.cz>

        PR ipa/63671
        * ipa-inline-transform.c (can_remove_node_now_p_1): Handle alises
        and -fno-devirtualize more carefully.
        (can_remove_node_now_p): Update.

(it really is 24th)

2014-08-07  Jan Hubicka  <hubicka@ucw.cz>

        * ipa-devirt.c: Include gimple-pretty-print.h
        (referenced_from_vtable_p): Exclude DECL_EXTERNAL from
        further tests.
        (decl_maybe_in_construction_p): Fix conditional on cdtor check
        (get_polymorphic_call_info): Fix return value
        (type_change_info): New sturcture based on ipa-prop
        variant.
        (noncall_stmt_may_be_vtbl_ptr_store): New predicate
        based on ipa-prop variant.
        (extr_type_from_vtbl_ptr_store): New function
        based on ipa-prop variant.
        (record_known_type): New function.
        (check_stmt_for_type_change): New function.
        (get_dynamic_type): New function.
        * ipa-prop.c (ipa_analyze_call_uses): Use get_dynamic_type.
        * tree-ssa-pre.c: ipa-utils.h
        (eliminate_dom_walker::before_dom_children): Use ipa-devirt
        machinery; sanity check with ipa-prop devirtualization.
        * trans-mem.c (ipa_tm_insert_gettmclone_call): Clear
        polymorphic flag.

Last one is ipa-cp change or perhaps get_dynamic_type is expensive (it has some
chance for that). I will add timevar for it.

The first two changes are not what I would expect. Perhaps checking these is a
good idea.  It may be something else comitted the same day.


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-03-31 17:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-31 19:25 [Bug target/58945] New: Improve atomic_compare_and_swap*_doubleword pattern ubizjak at gmail dot com
2014-09-11  7:52 ` [Bug target/58945] " ubizjak at gmail dot com
2014-10-15 19:09 ` ubizjak at gmail dot com
2014-10-17  7:20 ` ubizjak at gmail dot com
2014-10-17  7:33 ` ubizjak at gmail dot com
2015-02-13 10:07 ` ubizjak at gmail dot com
2015-03-31  9:30 ` ubizjak at gmail dot com
2015-03-31 17:33 ` uros at gcc dot gnu.org
2015-03-31 17:37 ` ubizjak at gmail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).