public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/63761] New: [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block
@ 2014-11-06 11:56 trippels at gcc dot gnu.org
  2014-11-06 19:08 ` [Bug middle-end/63761] " rguenth at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-11-06 11:56 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 63761
           Summary: [5 Regression] error: gimple_bb (stmt) is set to a
                    wrong basic block
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org

On ppc64 I get the following binutils build failure:

trippels@gcc2-power8 gold % cat dynobj.ii
template <typename> struct A;
template <typename _Tp> struct A<_Tp *>
{
  typedef _Tp reference;
};
template <typename _Iterator> class B
{
public:
  typename A<_Iterator>::reference operator*();
};
template <typename _Tp> class C
{
  typedef _Tp *const_pointer;
};
template <typename _Tp, typename _Alloc = C<_Tp> > class D
{
public:
  typedef B<typename _Alloc::const_pointer> const_iterator;
};
struct F
{
  static int
  convert_host (int p1)
  {
    return (
        {
          p1 >> 8 & 255 | (p1 & 255) << 8;
        });
  }
};
struct G
{
  static int
  convert_host (int p1)
  {
    return F::convert_host (p1);
  }
};
struct H
{
  int vd_ndx;
};
class I
{
public:
  I (int);
  short set_vd_flags_a;
  void
  set_vd_flags (int)
  {
    unsigned short v;
    set_vd_flags_a = (
        {
          v >> 8 | v << 8;
        });
  }
  void
  set_vd_ndx (int p1)
  {
    p_->vd_ndx = G::convert_host (p1);
  }
  H *p_;
};
typedef int Stringpool;
class J
{
public:
  template <int, bool>
  unsigned char *write (const Stringpool *, bool, unsigned char *) const;
  int index_;
};
class Versions
{
  template <int, bool>
  void def_section_contents (const Stringpool *, unsigned char **, unsigned *,
                             unsigned *) const;
};
template <int size, bool big_endian>
void
Versions::def_section_contents (const Stringpool *, unsigned char **,
                                unsigned *, unsigned *) const
{
  D<J *>::const_iterator p;
  (*p)->write<size, big_endian> (0, 0, 0);
}
template void Versions::def_section_contents<32, false> (const Stringpool *,
                                                         unsigned char **,
                                                         unsigned *,
                                                         unsigned *) const;
void fn1 (int, int, int) __attribute__ ((__noreturn__));
template <int, bool>
unsigned char *
J::write (const Stringpool *, bool, unsigned char *) const
{
  I c (0);
  c.set_vd_flags (0);
  !index_ ? fn1 (0, 0, 0), 0 : 0;
  c.set_vd_ndx (index_);
}

trippels@gcc2-power8 gold % /home/trippels/gcc_test/usr/local/bin/g++ -c -O2
dynobj.ii
dynobj.ii: In member function ‘void Versions::def_section_contents(const
Stringpool*, unsigned char**, unsigned int*, unsigned int*) const [with int
<anonymous> = 32; bool <anonymous> = false; Stringpool = int]’:
dynobj.ii:80:1: error: gimple_bb (stmt) is set to a wrong basic block
 Versions::def_section_contents (const Stringpool *, unsigned char **,
 ^
_7 = v_6(D) r>> 8;
dynobj.ii:80:1: internal compiler error: verify_gimple failed
0x109c04df verify_gimple_in_cfg(function*, bool)
        ../../gcc/gcc/tree-cfg.c:5039
0x108830b7 execute_function_todo
        ../../gcc/gcc/passes.c:1868
0x10883fb3 do_per_function
        ../../gcc/gcc/passes.c:1595
0x10884287 execute_todo
        ../../gcc/gcc/passes.c:1925
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-465885-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Nov 06 12:25:34 2014
Return-Path: <gcc-bugs-return-465885-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 23242 invoked by alias); 6 Nov 2014 12:25:34 -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 23125 invoked by uid 48); 6 Nov 2014 12:25:30 -0000
From: "ebotcazou at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ada/63725] Scalar_Storage_Order and nested string subtypes
Date: Thu, 06 Nov 2014 12:25: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:
X-Bugzilla-Severity: enhancement
X-Bugzilla-Who: ebotcazou 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: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-63725-4-z6TyPXdYzY@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-63725-4@http.gcc.gnu.org/bugzilla/>
References: <bug-63725-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-11/txt/msg00357.txt.bz2
Content-length: 310

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

--- Comment #3 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> That seems to work, but in a non trivial case doesn't that make string_type
> non inter operable with other string types?

Interoperability should be preserved modulo minor adjustments.


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

* [Bug middle-end/63761] [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block
  2014-11-06 11:56 [Bug middle-end/63761] New: [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block trippels at gcc dot gnu.org
@ 2014-11-06 19:08 ` rguenth at gcc dot gnu.org
  2014-11-06 21:10 ` trippels at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-11-06 19:08 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

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


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

* [Bug middle-end/63761] [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block
  2014-11-06 11:56 [Bug middle-end/63761] New: [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block trippels at gcc dot gnu.org
  2014-11-06 19:08 ` [Bug middle-end/63761] " rguenth at gcc dot gnu.org
@ 2014-11-06 21:10 ` trippels at gcc dot gnu.org
  2014-11-07  9:45 ` thopre01 at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-11-06 21:10 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-11-06
                 CC|                            |thomas.preudhomme at arm dot com
     Ever confirmed|0                           |1

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Started with r216971.


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

* [Bug middle-end/63761] [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block
  2014-11-06 11:56 [Bug middle-end/63761] New: [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block trippels at gcc dot gnu.org
  2014-11-06 19:08 ` [Bug middle-end/63761] " rguenth at gcc dot gnu.org
  2014-11-06 21:10 ` trippels at gcc dot gnu.org
@ 2014-11-07  9:45 ` thopre01 at gcc dot gnu.org
  2014-11-07  9:46 ` thopre01 at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: thopre01 at gcc dot gnu.org @ 2014-11-07  9:45 UTC (permalink / raw)
  To: gcc-bugs

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

thopre01 at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED


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

* [Bug middle-end/63761] [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block
  2014-11-06 11:56 [Bug middle-end/63761] New: [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block trippels at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2014-11-07  9:45 ` thopre01 at gcc dot gnu.org
@ 2014-11-07  9:46 ` thopre01 at gcc dot gnu.org
  2014-11-11 17:03 ` thopre01 at gcc dot gnu.org
  2014-11-12  9:50 ` thopre01 at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: thopre01 at gcc dot gnu.org @ 2014-11-07  9:46 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from thopre01 at gcc dot gnu.org ---
I can reproduce, thanks for the testcase.


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

* [Bug middle-end/63761] [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block
  2014-11-06 11:56 [Bug middle-end/63761] New: [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block trippels at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2014-11-07  9:46 ` thopre01 at gcc dot gnu.org
@ 2014-11-11 17:03 ` thopre01 at gcc dot gnu.org
  2014-11-12  9:50 ` thopre01 at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: thopre01 at gcc dot gnu.org @ 2014-11-11 17:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from thopre01 at gcc dot gnu.org ---
Patch has been posted for review at
https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01042.html


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

* [Bug middle-end/63761] [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block
  2014-11-06 11:56 [Bug middle-end/63761] New: [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block trippels at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2014-11-11 17:03 ` thopre01 at gcc dot gnu.org
@ 2014-11-12  9:50 ` thopre01 at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: thopre01 at gcc dot gnu.org @ 2014-11-12  9:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from thopre01 at gcc dot gnu.org ---
Author: thopre01
Date: Wed Nov 12 09:50:20 2014
New Revision: 217409

URL: https://gcc.gnu.org/viewcvs?rev=217409&root=gcc&view=rev
Log:
2014-11-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/63761
    * tree-ssa-math-opts.c (bswap_replace): Construct gsi from cur_stmt
    rather than taking it as a parameter. Add some comments to explain the
    gsi_move_before in case of load and why canonicalization of bswap into
    a rotation is only done for 16bit values.
    (pass_optimize_bswap::execute): Adapt for loop via gsi to make gsi
    refer to the statement just before cur_stmt. Ignore 16bit bswap that
    are already in canonical form. Adapt bswap_replace to removal of its
    gsi parameter.

    2014-11-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    PR tree-optimization/63761
    * gcc.c-torture/compile/pr63761.c: New test.

Added:
    trunk/gcc/testsuite/gcc.c-torture/compile/pr63761.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-ssa-math-opts.c


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

end of thread, other threads:[~2014-11-12  9:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-06 11:56 [Bug middle-end/63761] New: [5 Regression] error: gimple_bb (stmt) is set to a wrong basic block trippels at gcc dot gnu.org
2014-11-06 19:08 ` [Bug middle-end/63761] " rguenth at gcc dot gnu.org
2014-11-06 21:10 ` trippels at gcc dot gnu.org
2014-11-07  9:45 ` thopre01 at gcc dot gnu.org
2014-11-07  9:46 ` thopre01 at gcc dot gnu.org
2014-11-11 17:03 ` thopre01 at gcc dot gnu.org
2014-11-12  9:50 ` thopre01 at gcc dot gnu.org

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).