From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29410 invoked by alias); 28 Jun 2014 15:45:35 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 29342 invoked by uid 48); 28 Jun 2014 15:45:31 -0000 From: "spop at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/54742] Switch elimination in FSM loop Date: Sat, 28 Jun 2014 15:45:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: unknown X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: spop at gcc dot gnu.org X-Bugzilla-Status: REOPENED 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 Message-ID: In-Reply-To: References: 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-06/txt/msg02300.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D54742 Sebastian Pop changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |spop at gcc dot gnu.org --- Comment #37 from Sebastian Pop --- Hi Jeff, can you fix this bug, or should I give it a try? I know some folks who would be happy to have this coremark perf bug fixed in trunk ;-) Thanks, Sebastian (In reply to jgreenhalgh from comment #27) > Created attachment 31308 [details] > Dumps for less reduced testcase in comment 27 >=20 > As of revision 205398, I'm not seeing this optimisation trigger when > compiling the benchmark in question. >=20 > I've attached the dumps from a less agressively reduced version of the > testcase given in the intial report, which we don't currently thread. >=20 > This testcase is more representative of the control structure in the > benchmark code. In particular, we have the problematic scenario of two > 'joiner' blocks in the thread path. >=20 > Looking at the dumps for this testcase I think that we would need to spot > threads like: >=20 > (17, 23) incoming edge; (23, 4) joiner; (4, 5) joiner; (5, 8) back-edge; > (8, 15) switch-statement; >=20 > The testcase I am using is: >=20 > --- >=20 > int sum0, sum1, sum2, sum3; > int foo(char * s, char** ret) > { > int state=3D0; > char c; >=20 > for (; *s && state !=3D 4; s++) > { > c =3D *s; > if (c =3D=3D '*') > { > s++; > break; > } > switch (state) { > case 0: > if (c =3D=3D '+') state =3D 1; > else if (c !=3D '-') sum0+=3Dc; > break; > case 1: > if (c =3D=3D '+') state =3D 2; > else if (c =3D=3D '-') state =3D 0; > else sum1+=3Dc; > break; > case 2: > if (c =3D=3D '+') state =3D 3; > else if (c =3D=3D '-') state =3D 1; > else sum2+=3Dc; > break; > case 3: > if (c =3D=3D '-') state =3D 2; > else if (c =3D=3D 'x') state =3D 4; > break; > default: > break; > } > } > *ret =3D s; > return state; > } >>From gcc-bugs-return-455219-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sat Jun 28 15:46:10 2014 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 30454 invoked by alias); 28 Jun 2014 15:46:10 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 30401 invoked by uid 48); 28 Jun 2014 15:46:06 -0000 From: "paolo.carlini at oracle dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/61536] [4.10 regression] g++ and libstdc++ regressions on arm-none-linux-gnueabihf with missing typeinfo Date: Sat, 28 Jun 2014 15:46:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: 4.10.0 X-Bugzilla-Keywords: link-failure X-Bugzilla-Severity: normal X-Bugzilla-Who: paolo.carlini at oracle dot com X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: paolo.carlini at oracle dot com X-Bugzilla-Target-Milestone: 4.10.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: 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-06/txt/msg02301.txt.bz2 Content-length: 412 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61536 --- Comment #19 from Paolo Carlini --- As far as I can see the macros at the beginning of gnu.ver do not work as they normally do in C/C++ code because __GXX_WEAK__ remains undefined. For now I'm simply going to revert the whole thing, cleanup and fix for this, I don't have enough time to get into the details of the issue.