public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90)
@ 2015-01-20 12:34 trippels at gcc dot gnu.org
  2015-01-20 16:50 ` [Bug target/64688] [5 Regression] " jakub at gcc dot gnu.org
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-01-20 12:34 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 64688
           Summary: internal compiler error: Max. number of generated
                    reload insns per insn is achieved (90)
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org
              Host: x86_64-unknown-linux-gnu
            Target: x86_64-unknown-linux-gnu
             Build: x86_64-unknown-linux-gnu

Running the Boost testsuite on gcc20 gives:

trippels@gcc20 more % cat performance.ii
template <typename T> struct A { typedef typename T::next type; };
template <typename> struct B;
template <typename T> struct N : T {};
template <int N> struct C {
  static const int value = N;
  typedef C<N + 1> next;
};
template <typename Sequence>
struct R : N<typename B<typename Sequence::tag>::template P<Sequence>> {};
template <typename Base> struct O : Base {
  typedef typename A<typename Base::size>::type size;
};
template <typename = int> struct D {
  typedef int tag;
  typedef C<0> size;
};
template <> struct B<int> {
  template <typename> struct P : O<O<O<D<>>>>::size {};
};
template <typename> struct F;
template <typename> struct G;
template <typename, typename, int> struct H;
template <typename Element, typename Layout> struct H<Element, Layout, 3> {};
template <int, typename E, typename L, int N> unsigned char at_c(H<E, L, N>) {}
template <typename> class I;
template <typename> class J;
template <typename> class K;
template <typename, typename> struct Q;
struct L {
  typedef Q<unsigned char, F<O<O<O<D<>>>>>> *type;
};
template <typename XIterator> struct M { typedef K<J<I<XIterator>>> view_t; };
template <typename, typename>
struct Q : H<unsigned, F<int>, R<O<O<O<D<>>>>>::value> {};
template <typename Iterator> struct G<I<Iterator>> { typedef Iterator type; };
template <typename> class J {
public:
  typedef G<I<Q<unsigned, int> *>>::type x_iterator;
};
template <typename> class K {
public:
  J<int>::x_iterator row_begin(int);
};
template <typename Op> void measure_time(Op p1) { p1(); }
template <typename, typename> struct fill_nongil_t;
template <typename T, typename P>
struct fill_nongil_t<K<J<I<Q<T, F<O<O<O<D<>>>>>> *>>>, P> {
  typedef K<J<I<Q<T, F<O<O<O<D<>>>>>> *>>> View;
  View _v;
  P _p;
  fill_nongil_t(View, P);
  void operator()() {
    T *first = (T *)_v.row_begin(0);
    T last;
    while (first != &last) {
      first[0] = first[1] = at_c<1>(_p);
      first[2] = at_c<2>(_p);
      first += 3;
    }
  }
};
template <typename, typename> void test_fill(int) {
  M<L::type>::view_t __trans_tmp_1;
  measure_time(fill_nongil_t<K<J<I<Q<unsigned char, F<O<O<O<D<>>>>>> *>>>,
                             Q<unsigned char, F<O<O<O<D<>>>>>>>(
      __trans_tmp_1, Q<unsigned char, F<O<O<O<D<>>>>>>()));
}
void performance_testtest_method() { test_fill<K<int>, Q<unsigned, int>>(0); }

trippels@gcc20 more % g++ -c -O3 -std=c++11 -march=westmere performance.ii
performance.ii: In function ‘void performance_testtest_method()’:
performance.ii:68:78: internal compiler error: Max. number of generated reload
insns per insn is achieved (90)

 void performance_testtest_method() { test_fill<K<int>, Q<unsigned, int>>(0); }
                                                                              ^
0xb8eb70 lra_constraints(bool)
        ../../gcc/gcc/lra-constraints.c:4335
0xb7b3a1 lra(_IO_FILE*)
        ../../gcc/gcc/lra.c:2292
0xb39809 do_reload
        ../../gcc/gcc/ira.c:5418
0xb39809 execute
        ../../gcc/gcc/ira.c:5589
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug re
>From gcc-bugs-return-474042-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jan 20 12:43:20 2015
Return-Path: <gcc-bugs-return-474042-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 26047 invoked by alias); 20 Jan 2015 12:43:19 -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 25989 invoked by uid 48); 20 Jan 2015 12:43:14 -0000
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
Date: Tue, 20 Jan 2015 12:43: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:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jakub 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: 5.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: priority bug_status cf_reconfirmed_on cc target_milestone short_desc everconfirmed
Message-ID: <bug-64688-4-lAE5kHdCvd@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64688-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64688-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-01/txt/msg02036.txt.bz2
Content-length: 1045

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-01-20
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |vmakarov at gcc dot gnu.org
   Target Milestone|---                         |5.0
            Summary|internal compiler error:    |[5 Regression] internal
                   |Max. number of generated    |compiler error: Max. number
                   |reload insns per insn is    |of generated reload insns
                   |achieved (90)               |per insn is achieved (90)
     Ever confirmed|0                           |1

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r210824.


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

* [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
@ 2015-01-20 16:50 ` jakub at gcc dot gnu.org
  2015-01-21 20:52 ` vmakarov at gcc dot gnu.org
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-20 16:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
This is while reloading
(define_insn "vec_set<mode>_0"
  [(set (match_operand:VI4F_128 0 "nonimmediate_operand"
          "=Yr,*v,v,v ,x,x,v,Yr ,*x ,x  ,m ,m   ,m")
        (vec_merge:VI4F_128
          (vec_duplicate:VI4F_128
            (match_operand:<ssescalarmode> 2 "general_operand"
          " Yr,*v,m,*r,m,x,v,*rm,*rm,*rm,!x,!*re,!*fF"))
          (match_operand:VI4F_128 1 "vector_move_operand"
          " C , C,C,C ,C,0,v,0  ,0  ,x  ,0 ,0   ,0")
          (const_int 1)))]
instruction I think.


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

* [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
  2015-01-20 16:50 ` [Bug target/64688] [5 Regression] " jakub at gcc dot gnu.org
@ 2015-01-21 20:52 ` vmakarov at gcc dot gnu.org
  2015-01-22  8:09 ` ubizjak at gmail dot com
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: vmakarov at gcc dot gnu.org @ 2015-01-21 20:52 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #2)
> This is while reloading
> (define_insn "vec_set<mode>_0"
>   [(set (match_operand:VI4F_128 0 "nonimmediate_operand"
>           "=Yr,*v,v,v ,x,x,v,Yr ,*x ,x  ,m ,m   ,m")
>         (vec_merge:VI4F_128
>           (vec_duplicate:VI4F_128
>             (match_operand:<ssescalarmode> 2 "general_operand"
>           " Yr,*v,m,*r,m,x,v,*rm,*rm,*rm,!x,!*re,!*fF"))
>           (match_operand:VI4F_128 1 "vector_move_operand"
>           " C , C,C,C ,C,0,v,0  ,0  ,x  ,0 ,0   ,0")
>           (const_int 1)))]
> instruction I think.

The problem is related to

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

The solution proposed there solves this problem too.  Changing '*r' to 'r"
resulting in constraint

" Yr,*v,m,r,m,x,v,*rm,*rm,*rm,!x,!*re,!*fF"

will solve the PR.  So the change will solve 2 PRs (this one and 64477).

I believe it is up to x86 maintainers to do this change.


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

* [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
  2015-01-20 16:50 ` [Bug target/64688] [5 Regression] " jakub at gcc dot gnu.org
  2015-01-21 20:52 ` vmakarov at gcc dot gnu.org
@ 2015-01-22  8:09 ` ubizjak at gmail dot com
  2015-01-22 14:45 ` uros at gcc dot gnu.org
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ubizjak at gmail dot com @ 2015-01-22  8:09 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|vmakarov at redhat dot com         |ubizjak at gmail dot com

--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Vladimir Makarov from comment #3)
> will solve the PR.  So the change will solve 2 PRs (this one and 64477).
> 
> I believe it is up to x86 maintainers to do this change.

True. The proposed patch in PR 64477 also solves this PR.
>From gcc-bugs-return-474331-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jan 22 08:09:24 2015
Return-Path: <gcc-bugs-return-474331-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 31805 invoked by alias); 22 Jan 2015 08:09:22 -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 31681 invoked by uid 48); 22 Jan 2015 08:09:11 -0000
From: "bernd.edlinger at hotmail dot de" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/57748] [4.8 Regression] ICE when expanding assignment to unaligned zero-sized array
Date: Thu, 22 Jan 2015 08:09:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: middle-end
X-Bugzilla-Version: 4.8.0
X-Bugzilla-Keywords: ice-on-valid-code, wrong-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: bernd.edlinger at hotmail dot de
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P2
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.8.5
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-57748-4-zYFybhJ789@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-57748-4@http.gcc.gnu.org/bugzilla/>
References: <bug-57748-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-01/txt/msg02325.txt.bz2
Content-length: 581

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

--- Comment #61 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
(In reply to Mikael Pettersson from comment #60)
> FWIW I've been including backports of r202778 and r206437 (which I think are
> the two relevant fixes) in my 4.8-based GCCs on x86_64, sparc64, powerpc64,
> m68k, armv5, and armv7 for a year now, without regressions.


Well Mikael,


if you already have used/tested that patch on 4.8 for such a long time,
I would appreciate it very much if you post it on the gcc-patches mailing list.


Thanks
Bernd.


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

* [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2015-01-22  8:09 ` ubizjak at gmail dot com
@ 2015-01-22 14:45 ` uros at gcc dot gnu.org
  2015-01-22 20:26 ` uros at gcc dot gnu.org
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: uros at gcc dot gnu.org @ 2015-01-22 14:45 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from uros at gcc dot gnu.org ---
Author: uros
Date: Thu Jan 22 14:43:55 2015
New Revision: 220000

URL: https://gcc.gnu.org/viewcvs?rev=220000&root=gcc&view=rev
Log:
    PR target/64688
    PR target/64477
    * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
    for alternative 3.

testsuite/ChangeLog:

    PR target/64688
    * g++.dg/pr64688.C: New test.


Added:
    trunk/gcc/testsuite/g++.dg/pr64688.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/sse.md
    trunk/gcc/testsuite/ChangeLog


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

* [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2015-01-22 14:45 ` uros at gcc dot gnu.org
@ 2015-01-22 20:26 ` uros at gcc dot gnu.org
  2015-01-23 23:05 ` jakub at gcc dot gnu.org
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: uros at gcc dot gnu.org @ 2015-01-22 20:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from uros at gcc dot gnu.org ---
Author: uros
Date: Thu Jan 22 20:25:23 2015
New Revision: 220012

URL: https://gcc.gnu.org/viewcvs?rev=220012&root=gcc&view=rev
Log:
2015-22-01  Uros Bizjak  <ubizjak@gmail.com>

    PR target/64688
    PR target/64477
    (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.


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


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

* [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2015-01-22 20:26 ` uros at gcc dot gnu.org
@ 2015-01-23 23:05 ` jakub at gcc dot gnu.org
  2015-01-24 10:31 ` trippels at gcc dot gnu.org
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-23 23:05 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed then.


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

* [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2015-01-23 23:05 ` jakub at gcc dot gnu.org
@ 2015-01-24 10:31 ` trippels at gcc dot gnu.org
  2015-01-24 10:40 ` trippels at gcc dot gnu.org
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-01-24 10:31 UTC (permalink / raw)
  To: gcc-bugs

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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #8 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #7)
> Fixed then.

Unfortunately not. The boost testsuite still shows the same issue
on the same file.

Reducing again.


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

* [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2015-01-24 10:31 ` trippels at gcc dot gnu.org
@ 2015-01-24 10:40 ` trippels at gcc dot gnu.org
  2015-01-24 10:42 ` ubizjak at gmail dot com
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-01-24 10:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Created attachment 34563
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34563&action=edit
unreduced testcase


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

* [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2015-01-24 10:40 ` trippels at gcc dot gnu.org
@ 2015-01-24 10:42 ` ubizjak at gmail dot com
  2015-01-24 14:40 ` trippels at gcc dot gnu.org
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ubizjak at gmail dot com @ 2015-01-24 10:42 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Markus Trippelsdorf from comment #8)

> Unfortunately not. The boost testsuite still shows the same issue
> on the same file.

The fix depends on the ability of IRA to push the register to memory and reload
it through memory constraint.
>From gcc-bugs-return-474689-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sat Jan 24 10:42:56 2015
Return-Path: <gcc-bugs-return-474689-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 32660 invoked by alias); 24 Jan 2015 10:42:55 -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 32599 invoked by uid 48); 24 Jan 2015 10:42:49 -0000
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/64766] [4.8/4.9/5 Regression] internal compiler error: tree check: expected block, have error_mark in lower_function_body, at gimple-low.c:122
Date: Sat, 24 Jan 2015 10:42:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: middle-end
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: ice-on-invalid-code
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: 4.8.5
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status cf_reconfirmed_on cc target_milestone short_desc everconfirmed
Message-ID: <bug-64766-4-aGwJPNUCpX@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64766-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64766-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-01/txt/msg02683.txt.bz2
Content-length: 1047

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-01-24
                 CC|                            |jakub at gcc dot gnu.org
   Target Milestone|---                         |4.8.5
            Summary|internal compiler error:    |[4.8/4.9/5 Regression]
                   |tree check: expected block, |internal compiler error:
                   |have error_mark in          |tree check: expected block,
                   |lower_function_body, at     |have error_mark in
                   |gimple-low.c:122            |lower_function_body, at
                   |                            |gimple-low.c:122
     Ever confirmed|0                           |1

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r149750.


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

* [Bug target/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2015-01-24 10:42 ` ubizjak at gmail dot com
@ 2015-01-24 14:40 ` trippels at gcc dot gnu.org
  2015-01-25 16:00 ` [Bug rtl-optimization/64688] " ubizjak at gmail dot com
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-01-24 14:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Created attachment 34566
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34566&action=edit
reduced testcase

trippels@gcc20 % g++ -c -O3 -std=c++11 -march=westmere performance.ii
performance.ii: In function ‘void performance_testtest_method()’:
performance.ii:133:1: internal compiler error: Max. number of generated reload
insns per insn is achieved (90)

 }
 ^
0xb6e6e0 lra_constraints(bool)
        ../../gcc/gcc/lra-constraints.c:4335
0xb5b041 lra(_IO_FILE*)
        ../../gcc/gcc/lra.c:2292
0xb18da9 do_reload
        ../../gcc/gcc/ira.c:5418
0xb18da9 execute
        ../../gcc/gcc/ira.c:5589
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
>From gcc-bugs-return-474720-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sat Jan 24 14:47:38 2015
Return-Path: <gcc-bugs-return-474720-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 15567 invoked by alias); 24 Jan 2015 14:47:38 -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 15512 invoked by uid 48); 24 Jan 2015 14:47:34 -0000
From: "burnus at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/64771] ICE(segfault) when passing coarrays around; ICE in gfc_zero_size_array in arith.c:1637
Date: Sat, 24 Jan 2015 14:47:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: ice-on-valid-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: burnus at gcc dot gnu.org
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: keywords cc short_desc
Message-ID: <bug-64771-4-8R6N84qP34@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-64771-4@http.gcc.gnu.org/bugzilla/>
References: <bug-64771-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-01/txt/msg02714.txt.bz2
Content-length: 1431

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

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ice-on-invalid-code         |ice-on-valid-code
                 CC|                            |fanfarillo.gcc at gmail dot com,
                   |                            |tkoenig at gcc dot gnu.org
            Summary|ICE on invalid around       |ICE(segfault) when passing
                   |check_dummy_characteristics |coarrays around; ICE in
                   |/ gfc_zero_size_array       |gfc_zero_size_array in
                   |                            |arith.c:1637

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Fails here the same way, and should be the same reason:
https://gcc.gnu.org/ml/fortran/2015-01/msg00145.html - besides, the test case
is shorter and valid:

      program cg
      implicit none
      integer            reduce_recv_starts(2)[0:*]
      interface
      subroutine conj_grad (reduce_recv_starts)
      integer   reduce_recv_starts(2)[0:*]
      end subroutine
      end interface
         call conj_grad (reduce_recv_starts)
      end
      subroutine conj_grad (reduce_recv_starts)
      implicit none
      integer   reduce_recv_starts(2)[0:*]
      end                       ! end of routine conj_grad


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

* [Bug rtl-optimization/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2015-01-24 14:40 ` trippels at gcc dot gnu.org
@ 2015-01-25 16:00 ` ubizjak at gmail dot com
  2015-01-30 22:23 ` [Bug rtl-optimization/64688] [4.9/5 " vmakarov at gcc dot gnu.org
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: ubizjak at gmail dot com @ 2015-01-25 16:00 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ra
             Status|REOPENED                    |NEW
          Component|target                      |rtl-optimization

--- Comment #12 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Markus Trippelsdorf from comment #11)
> Created attachment 34566 [details]
> reduced testcase
> 
> trippels@gcc20 % g++ -c -O3 -std=c++11 -march=westmere performance.ii
> performance.ii: In function ‘void performance_testtest_method()’:
> performance.ii:133:1: internal compiler error: Max. number of generated
> reload insns per insn is achieved (90)

Happens when trying to reload for:

(insn 73 72 393 2 (set (reg:V4SI 304)
        (vec_merge:V4SI (vec_duplicate:V4SI (subreg:SI (reg:QI 103 [ SR.27 ])
0))
            (const_vector:V4SI [
                    (const_int 0 [0])
                    (const_int 0 [0])
                    (const_int 0 [0])
                    (const_int 0 [0])
                ])
            (const_int 1 [0x1]))) 2460 {vec_setv4si_0}
     (nil))

Reload goes into infinite loop here.

Changing pseudo 103 in operand 2 of insn 73 on equiv 0
      Creating newreg=359, assigning class ALL_REGS to subreg reg r359
   73: r304:V4SI=vec_merge(vec_duplicate(r359:QI#0),const_vector,0x1)
    Inserting subreg reload before:
  502: r359:QI=0

            2 Non pseudo reload: reject++
          alt=0,overall=1,losers=0,rld_nregs=0
     Choosing alt 0 in insn 73:  (0) =Yr  (1) C  (2) Yr {vec_setv4si_0}
      Change to class NO_REX_SSE_REGS for r359
            0 Non input pseudo reload: reject++
            1 Non-pseudo reload: reject+=2
            1 Non input pseudo reload: reject++
          alt=0,overall=16,losers=2,rld_nregs=2
            0 Non input pseudo reload: reject++
          alt=1,overall=7,losers=1,rld_nregs=1
            0 Non input pseudo reload: reject++
            1 Non-pseudo reload: reject+=2
            1 Non input pseudo reload: reject++
            alt=2,overall=16,losers=2 -- refuse
            0 Non input pseudo reload: reject++
            1 Non-pseudo reload: reject+=2
            1 Non input pseudo reload: reject++
            alt=3,overall=16,losers=2 -- refuse
            0 Non input pseudo reload: reject++
          alt=4,overall=7,losers=1,rld_nregs=1
            Staticly defined alt reject+=6
            0 Non input pseudo reload: reject++
            alt=5,overall=13,losers=1 -- refuse
            0 Non input pseudo reload: reject++
          alt=6,overall=7,losers=1,rld_nregs=0
            alt=7: Bad operand -- refuse
            alt=8: Bad operand -- refuse
            0 Non input pseudo reload: reject++
            alt=9: Bad operand -- refuse
     Choosing alt 6 in insn 502:  (0) m  (1) qn {*movqi_internal}
      Creating newreg=360 from oldreg=359, assigning class NO_REGS to r360
  502: r360:QI=0
    Inserting insn reload after:
  503: r359:QI=r360:QI

            0 Non input pseudo reload: reject++
          alt=0,overall=13,losers=2,rld_nregs=2
            0 Non input pseudo reload: reject++
          alt=1,overall=13,losers=2,rld_nregs=2
            0 Non input pseudo reload: reject++
            1 Non pseudo reload: reject++
          alt=2,overall=8,losers=1,rld_nregs=1
            0 Non input pseudo reload: reject++
            alt=3,overall=13,losers=2 -- refuse
            0 Non input pseudo reload: reject++
            alt=4,overall=13,losers=2 -- refuse
            Staticly defined alt reject+=6
            0 Non input pseudo reload: reject++
            alt=5,overall=13,losers=1 -- refuse
            0 Non input pseudo reload: reject++
            alt=6,overall=13,losers=2 -- refuse
            alt=7: Bad operand -- refuse
            alt=8: Bad operand -- refuse
            0 Non input pseudo reload: reject++
            alt=9: Bad operand -- refuse
     Choosing alt 2 in insn 503:  (0) q  (1) qm {*movqi_internal}
      Creating newreg=361 from oldreg=359, assigning class GENERAL_REGS to r361
  503: r361:QI=r360:QI
    Inserting insn reload after:
  504: r359:QI=r361:QI

            0 Non input pseudo reload: reject++
            1 Non pseudo reload: reject++
          alt=0,overall=608,losers=1,rld_nregs=1
            0 Non input pseudo reload: reject++
            1 Non pseudo reload: reject++
          alt=1,overall=608,losers=1,rld_nregs=1
            0 Non input pseudo reload: reject++
            1 Non pseudo reload: reject++
          alt=2,overall=608,losers=1,rld_nregs=1
            0 Non input pseudo reload: reject++
            1 Non pseudo reload: reject++
          alt=3,overall=608,losers=1,rld_nregs=1
            0 Non input pseudo reload: reject++
            1 Non pseudo reload: reject++
          alt=4,overall=608,losers=1,rld_nregs=1
            Staticly defined alt reject+=6
            0 Non input pseudo reload: reject++
            1 Non pseudo reload: reject++
          alt=5,overall=614,losers=1,rld_nregs=1
            0 Non input pseudo reload: reject++
            1 Non pseudo reload: reject++
          alt=6,overall=8,losers=1,rld_nregs=0
            alt=7: Bad operand -- refuse
            alt=8: Bad operand -- refuse
            0 Non input pseudo reload: reject++
            alt=9: Bad operand -- refuse
     Choosing alt 6 in insn 504:  (0) m  (1) qn {*movqi_internal}
      Creating newreg=362 from oldreg=359, assigning class NO_REGS to r362
...


This is a new problem and does not look like target problem to me.

Recategorizing back to RA problem.
>From gcc-bugs-return-474784-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sun Jan 25 16:37:40 2015
Return-Path: <gcc-bugs-return-474784-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 10521 invoked by alias); 25 Jan 2015 16:37:32 -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 9480 invoked by uid 48); 25 Jan 2015 16:36:59 -0000
From: "antony at cosmologist dot info" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/64787] New: Invalid code on sourced allocation of class(*) character string
Date: Sun, 25 Jan 2015 16:37:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: antony at cosmologist dot info
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-64787-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-01/txt/msg02778.txt.bz2
Content-length: 937

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

            Bug ID: 64787
           Summary: Invalid code on sourced allocation of class(*)
                    character string
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: antony at cosmologist dot info

On trunk

 module X
 contains

    subroutine AddCopy(C)
    class(*), intent(in) :: C
    class(*), pointer :: P
    allocate(P, source=C)
    end subroutine

 end module X

 program test
 use X

 call AddCopy('test string')

 end program test


compiles, but when compiled with -O3 this always gives me a Seg Fault when run
(and probably invalid code more generally).

It may be related to
https://gcc.gnu.org/bugzilla/show_bug.cgi?idd692
https://gcc.gnu.org/bugzilla/show_bug.cgi?idD672


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

* [Bug rtl-optimization/64688] [4.9/5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2015-01-25 16:00 ` [Bug rtl-optimization/64688] " ubizjak at gmail dot com
@ 2015-01-30 22:23 ` vmakarov at gcc dot gnu.org
  2015-01-31  2:48 ` law at redhat dot com
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: vmakarov at gcc dot gnu.org @ 2015-01-30 22:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
Author: vmakarov
Date: Fri Jan 30 22:22:58 2015
New Revision: 220297

URL: https://gcc.gnu.org/viewcvs?rev=220297&root=gcc&view=rev
Log:
2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>

    PR target/64688
    * lra-constraints.c (original_subreg_reg_mode): New.
    (simplify_operand_subreg): Try to simplify subreg of const.  Use
    original_subreg_reg_mode for it.
    (swap_operands): Update original_subreg_reg_mode.
    (curr_insn_transform): Set up original_subreg_reg_mode.

2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>

    PR target/64688
    * g++.dg/pr64688-2.C: New.


Added:
    trunk/gcc/testsuite/g++.dg/pr64688-2.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/lra-constraints.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug rtl-optimization/64688] [4.9/5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2015-01-30 22:23 ` [Bug rtl-optimization/64688] [4.9/5 " vmakarov at gcc dot gnu.org
@ 2015-01-31  2:48 ` law at redhat dot com
  2015-01-31  7:18 ` trippels at gcc dot gnu.org
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: law at redhat dot com @ 2015-01-31  2:48 UTC (permalink / raw)
  To: gcc-bugs

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

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #14 from Jeffrey A. Law <law at redhat dot com> ---
Should be fixed by Vlad's trunk checkin.


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

* [Bug rtl-optimization/64688] [4.9/5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2015-01-31  2:48 ` law at redhat dot com
@ 2015-01-31  7:18 ` trippels at gcc dot gnu.org
  2015-01-31  8:53 ` [Bug rtl-optimization/64688] [4.9 " jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-01-31  7:18 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #15 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Please note that 4.9.2 is also affected, so a backport would be appreciated.


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

* [Bug rtl-optimization/64688] [4.9 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2015-01-31  7:18 ` trippels at gcc dot gnu.org
@ 2015-01-31  8:53 ` jakub at gcc dot gnu.org
  2015-02-03 16:31 ` law at redhat dot com
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-31  8:53 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
      Known to work|                            |5.0
         Resolution|FIXED                       |---
            Summary|[4.9/5 Regression] internal |[4.9 Regression] internal
                   |compiler error: Max. number |compiler error: Max. number
                   |of generated reload insns   |of generated reload insns
                   |per insn is achieved (90)   |per insn is achieved (90)
      Known to fail|5.0                         |

--- Comment #16 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Sure.  On the other side, RA changes are better backported with some delay, so
that they get more testing on the trunk.


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

* [Bug rtl-optimization/64688] [4.9 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2015-01-31  8:53 ` [Bug rtl-optimization/64688] [4.9 " jakub at gcc dot gnu.org
@ 2015-02-03 16:31 ` law at redhat dot com
  2015-02-04 18:26 ` vmakarov at gcc dot gnu.org
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: law at redhat dot com @ 2015-02-03 16:31 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from Jeffrey A. Law <law at redhat dot com> ---
Sorry, I should have just changed the regression marker on this rather than
closing.  Sorry for making more work for folks.

Vlad & Jakub are in the best position to decide if this ought to be backported.


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

* [Bug rtl-optimization/64688] [4.9 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (15 preceding siblings ...)
  2015-02-03 16:31 ` law at redhat dot com
@ 2015-02-04 18:26 ` vmakarov at gcc dot gnu.org
  2015-03-27 20:13 ` vmakarov at gcc dot gnu.org
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: vmakarov at gcc dot gnu.org @ 2015-02-04 18:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #18 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #17)
> 
> Vlad & Jakub are in the best position to decide if this ought to be
> backported.

I am agree with Jakub.  I'd wait for 2 weeks.  Frequently a fix in this part of
LRA results in other bugs.


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

* [Bug rtl-optimization/64688] [4.9 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (16 preceding siblings ...)
  2015-02-04 18:26 ` vmakarov at gcc dot gnu.org
@ 2015-03-27 20:13 ` vmakarov at gcc dot gnu.org
  2015-04-22 12:02 ` jakub at gcc dot gnu.org
  2015-04-22 12:22 ` ubizjak at gmail dot com
  19 siblings, 0 replies; 21+ messages in thread
From: vmakarov at gcc dot gnu.org @ 2015-03-27 20:13 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #19 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
Author: vmakarov
Date: Fri Mar 27 19:23:15 2015
New Revision: 221743

URL: https://gcc.gnu.org/viewcvs?rev=221743&root=gcc&view=rev
Log:
2015-03-27  Vladimir Makarov  <vmakarov@redhat.com>

    Backport from mainline
    2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>

    PR target/64688
    * lra-constraints.c (original_subreg_reg_mode): New.
    (simplify_operand_subreg): Try to simplify subreg of const.  Use
    original_subreg_reg_mode for it.
    (swap_operands): Update original_subreg_reg_mode.
    (curr_insn_transform): Set up original_subreg_reg_mode.

2015-03-27  Vladimir Makarov  <vmakarov@redhat.com>

    Backport from mainline
    2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>

    PR target/64688
    * g++.dg/pr64688-2.C: New.


Added:
    branches/gcc-4_9-branch/gcc/testsuite/g++.dg/pr64688-2.C
Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/lra-constraints.c
    branches/gcc-4_9-branch/gcc/testsuite/ChangeLog


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

* [Bug rtl-optimization/64688] [4.9 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (17 preceding siblings ...)
  2015-03-27 20:13 ` vmakarov at gcc dot gnu.org
@ 2015-04-22 12:02 ` jakub at gcc dot gnu.org
  2015-04-22 12:22 ` ubizjak at gmail dot com
  19 siblings, 0 replies; 21+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-04-22 12:02 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #20 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 5.1 has been released.


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

* [Bug rtl-optimization/64688] [4.9 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
  2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
                   ` (18 preceding siblings ...)
  2015-04-22 12:02 ` jakub at gcc dot gnu.org
@ 2015-04-22 12:22 ` ubizjak at gmail dot com
  19 siblings, 0 replies; 21+ messages in thread
From: ubizjak at gmail dot com @ 2015-04-22 12:22 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|5.2                         |4.9.3

--- Comment #21 from Uroš Bizjak <ubizjak at gmail dot com> ---
Backport was committed some time ago.
>From gcc-bugs-return-484345-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Apr 22 12:35:48 2015
Return-Path: <gcc-bugs-return-484345-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 87145 invoked by alias); 22 Apr 2015 12:35:48 -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 87097 invoked by uid 48); 22 Apr 2015 12:35:42 -0000
From: "laszlo.bodor at citi dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/65845] New: typeid doesn't work consistently on pure virtual classes
Date: Wed, 22 Apr 2015 12:35:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: 4.9.2
X-Bugzilla-Keywords:
X-Bugzilla-Severity: major
X-Bugzilla-Who: laszlo.bodor at citi 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-65845-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-04/txt/msg01897.txt.bz2
Content-length: 2210

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

            Bug ID: 65845
           Summary: typeid doesn't work consistently on pure virtual
                    classes
           Product: gcc
           Version: 4.9.2
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: laszlo.bodor at citi dot com

#include <typeinfo>

class Interface {
public:
  virtual int size() const = 0;
};

template <class T>
class Vector {
public:
  void resize(unsigned n, T val = T()); //C++03 style resize
//  void resize(unsigned n, const T& val); //C++11 style resize
private:
  T* data;
};

int main()
{
  typeid(Interface).name();
  typeid(Interface()).name(); //GCC 4.9.2 and VS2013: doesn't compile

  typedef Interface* PtrInterf;
  PtrInterf p1 = 0;
  typeid(PtrInterf).name();
  typeid(PtrInterf()).name();
  typeid(p1).name();

  //typeid(Vector<Interface>).name(); //GCC 4.9.2 and icc 13.0.1: doesn't
compile
  typeid(Vector<Interface>()).name();

  typedef Vector<Interface>* PtrVecInterf;
  PtrVecInterf p2 = 0;
  typeid(PtrVecInterf).name(); //GCC 4.9.2: doesn't compile
  typeid(PtrVecInterf()).name();
  typeid(p2).name(); //GCC 4.9.2: doesn't compile

  return 0;
}

Compiler version:

Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.9.2/configure --disable-nls --prefix=/home/gcc4.9
--with-gnu-as --with-gnu-ld --enable-languages=c,c++,fortran --disable-multilib
--with-system-zlib --enable-checking=release --enable-__cxa_atexit
Thread model: posix
gcc version 4.9.2 (GCC)

and

Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-src/configure --disable-nls --prefix=/home/gcc5-trunk
--with-gnu-as --with-gnu-ld --enable-languages=c,c++,fortran --disable-multilib
--with-system-zlib --enable-checking=release --enable-__cxa_atexit
Thread model: posix
gcc version 6.0.0 20150421 (experimental) (GCC)


Description:
The above code compiles on GCC 4.7.3, but it doesn't compile on GCC 4.9.2 and
on a recent GCC trunk. Clang 3.7 compiles the code.
The standard doesn't seem to be very clear on this issue but we would prefer if
typeid work as many cases as possible.


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

end of thread, other threads:[~2015-04-22 12:22 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-20 12:34 [Bug target/64688] New: internal compiler error: Max. number of generated reload insns per insn is achieved (90) trippels at gcc dot gnu.org
2015-01-20 16:50 ` [Bug target/64688] [5 Regression] " jakub at gcc dot gnu.org
2015-01-21 20:52 ` vmakarov at gcc dot gnu.org
2015-01-22  8:09 ` ubizjak at gmail dot com
2015-01-22 14:45 ` uros at gcc dot gnu.org
2015-01-22 20:26 ` uros at gcc dot gnu.org
2015-01-23 23:05 ` jakub at gcc dot gnu.org
2015-01-24 10:31 ` trippels at gcc dot gnu.org
2015-01-24 10:40 ` trippels at gcc dot gnu.org
2015-01-24 10:42 ` ubizjak at gmail dot com
2015-01-24 14:40 ` trippels at gcc dot gnu.org
2015-01-25 16:00 ` [Bug rtl-optimization/64688] " ubizjak at gmail dot com
2015-01-30 22:23 ` [Bug rtl-optimization/64688] [4.9/5 " vmakarov at gcc dot gnu.org
2015-01-31  2:48 ` law at redhat dot com
2015-01-31  7:18 ` trippels at gcc dot gnu.org
2015-01-31  8:53 ` [Bug rtl-optimization/64688] [4.9 " jakub at gcc dot gnu.org
2015-02-03 16:31 ` law at redhat dot com
2015-02-04 18:26 ` vmakarov at gcc dot gnu.org
2015-03-27 20:13 ` vmakarov at gcc dot gnu.org
2015-04-22 12:02 ` jakub at gcc dot gnu.org
2015-04-22 12:22 ` 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).