From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 53599 invoked by alias); 12 Jul 2015 10:24:43 -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 53547 invoked by uid 48); 12 Jul 2015 10:24:38 -0000 From: "trippels at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/66801] [6 Regression] gcc miscompiled during PGO/LTO bootstrap Date: Sun, 12 Jul 2015 10:24:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Version: 6.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: trippels at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 6.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: 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: 2015-07/txt/msg00957.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D66801 --- Comment #19 from Markus Trippelsdorf --- Looks like -fbranch-probabilities is causing the issue. It it gcc.o that gets miscompiled. The following works (adding -fno-branch-probabilities): trippels@gcc2-power8 gcc % /home/trippels/gcc_build_dir_/./prev-gcc/xg++ -B/home/trippels/gcc_build_dir_/./prev-gcc/ -B/usr/local/powerpc64le-unknown-linux-gnu/bin/ -nostdinc++ -B/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/src/.libs -B/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/libsupc++/.libs -I/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/include/powerpc64le-unknown-linux-gnu -I/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/include -I/home/trippels/gcc/libstdc++-v3/libsupc++ -L/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/src/.libs -L/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/libsupc++/.libs -fno-PIE -c -DSTANDARD_STARTFILE_PREFIX=3D\"../../../\" -DSTANDARD_EXEC_PREFIX=3D\"/usr/local/lib/gcc/\" -DSTANDARD_LIBEXEC_PREFIX=3D\"/usr/local/libexec/gcc/\" -DDEFAULT_TARGET_VERSION=3D\"6.0.0\" -DDEFAULT_REAL_TARGET_MACHINE=3D\"powerpc64le-unknown-linux-gnu\" -DDEFAULT_TARGET_MACHINE=3D\"powerpc64le-unknown-linux-gnu\" -DSTANDARD_BINDIR_PREFIX=3D\"/usr/local/bin/\" -DTOOLDIR_BASE_PREFIX=3D\"../../../../\" -DACCEL_DIR_SUFFIX=3D\"\" -DENABLE_SHARED_LIBGCC -DCONFIGURE_SPECS=3D"\"\"" -O3 -g -flto=3Djobserver -frandom-seed=3D1 -fprofile-use -fno-branch-probabilities -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrow= ing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc/gcc/../libbacktrace -o gcc.o -MT gcc.o -MMD -= MP -MF ./.deps/gcc.TPo ../../gcc/gcc/gcc.c=20 trippels@gcc2-power8 gcc % /home/trippels/gcc_build_dir_/./prev-gcc/xg++ -B/home/trippels/gcc_build_dir_/./prev-gcc/ -B/usr/local/powerpc64le-unknown-linux-gnu/bin/ -nostdinc++ -B/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/src/.libs -B/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/libsupc++/.libs -I/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/include/powerpc64le-unknown-linux-gnu -I/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/include -I/home/trippels/gcc/libstdc++-v3/libsupc++ -L/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/src/.libs -L/home/trippels/gcc_build_dir_/prev-powerpc64le-unknown-linux-gnu/libstdc+= +-v3/libsupc++/.libs -no-pie -O3 -g -flto=3D32 -frandom-seed=3D1 -fprofile-use -DIN_GCC -fno-exc= eptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-stri= ngs -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -o xgcc gcc.o gcc-main.o ggc-none.o c/gccspec.o driver-rs6000.o libcommon-target.a libcommon.a ../libcpp/libcpp= .a ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a /usr/include/sys/resource.h:50:12: warning: type of =E2=80=98getrlimit=E2= =80=99 does not match original declaration [-Wlto-type-mismatch] extern int getrlimit (__rlimit_resource_t __resource, ^ /usr/include/sys/resource.h:50:12: note: type mismatch in parameter 1 extern int getrlimit (__rlimit_resource_t __resource, ^ /usr/include/sys/resource.h:42:13: note: type =E2=80=98__rlimit_resource_t= =E2=80=99 should match type =E2=80=98__rlimit_resource_t=E2=80=99 typedef int __rlimit_resource_t; ^ /usr/include/sys/resource.h:38:32: note: the incompatible type is defined h= ere typedef enum __rlimit_resource __rlimit_resource_t; ^ /usr/include/sys/resource.h:50:12: note: =E2=80=98getrlimit=E2=80=99 was pr= eviously declared here extern int getrlimit (__rlimit_resource_t __resource, ^ /usr/include/sys/resource.h:69:12: warning: type of =E2=80=98setrlimit=E2= =80=99 does not match original declaration [-Wlto-type-mismatch] extern int setrlimit (__rlimit_resource_t __resource, ^ /usr/include/sys/resource.h:69:12: note: type mismatch in parameter 1 extern int setrlimit (__rlimit_resource_t __resource, ^ /usr/include/sys/resource.h:42:13: note: type =E2=80=98__rlimit_resource_t= =E2=80=99 should match type =E2=80=98__rlimit_resource_t=E2=80=99 typedef int __rlimit_resource_t; ^ /usr/include/sys/resource.h:38:32: note: the incompatible type is defined h= ere typedef enum __rlimit_resource __rlimit_resource_t; ^ /usr/include/sys/resource.h:69:12: note: =E2=80=98setrlimit=E2=80=99 was pr= eviously declared here extern int setrlimit (__rlimit_resource_t __resource, ^ trippels@gcc2-power8 gcc % /home/trippels/gcc_build_dir_/./gcc/xgcc --versi= on xgcc (GCC) 6.0.0 20150712 (experimental) >>From gcc-bugs-return-492068-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sun Jul 12 11:23:21 2015 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 17828 invoked by alias); 12 Jul 2015 11:23:21 -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 17750 invoked by uid 55); 12 Jul 2015 11:23:17 -0000 From: "kugan at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/66726] missed optimization, factor conversion out of COND_EXPR Date: Sun, 12 Jul 2015 11:23: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: X-Bugzilla-Severity: normal X-Bugzilla-Who: kugan at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: 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: 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: 2015-07/txt/msg00958.txt.bz2 Content-length: 1014 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66726 --- Comment #8 from kugan at gcc dot gnu.org --- Author: kugan Date: Sun Jul 12 11:22:42 2015 New Revision: 225722 URL: https://gcc.gnu.org/viewcvs?rev=225722&root=gcc&view=rev Log: gcc/testsuite/ChangeLog: 2015-07-12 Kugan Vivekanandarajah Jeff Law PR middle-end/66726 * g++.dg/tree-ssa/pr66726.c: New test. * gcc.dg/tree-ssa/pr66726-2.c: New test. * gcc.dg/tree-ssa/pr66726.c: New test. gcc/ChangeLog: 2015-07-12 Kugan Vivekanandarajah PR middle-end/66726 * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function. tree_ssa_phiopt_worker): Call it. Added: trunk/gcc/testsuite/g++.dg/tree-ssa/pr66726.c trunk/gcc/testsuite/gcc.dg/tree-ssa/pr66726-2.c trunk/gcc/testsuite/gcc.dg/tree-ssa/pr66726.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-phiopt.c