Re: [PATCH] Add a new option -fmerge-bitfields (patch / doc inside)
On Thu, 17 Apr 2014 11:59:16 + Zoran Jovanovic zoran.jovano...@imgtec.com wrote: --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -7789,6 +7789,11 @@ pointer alignment information. This pass only operates on local scalar variables and is enabled by default at @option{-O} and higher. It requires that @option{-ftree-ccp} is enabled. +@item -fmerge-bitfields +@opindex fmerge-bitfields +Combines several adjacent bit-field accesses that copy values +from one memory location to another into one single bit-field access. + @item -ftree-ccp @opindex ftree-ccp Perform sparse conditional constant propagation (CCP) on trees. This Can you mention that it's enabled at level -O2 here? Also don't forget to add it to the list of flags enabled by -O2 that appears earlier (@item -O2). That list is woefully out of date but let's not make it any worse. -- Ryan Hillpsn: dirtyepic_sk gcc-porting/toolchain/wxwidgets @ gentoo.org 47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463 signature.asc Description: PGP signature
Re: [PATCH] Fix PR59626, _FORTIFY_SOURCE wrappers and LTO
On Fri, 4 Apr 2014 08:18:26 +0200 Jan Hubicka hubi...@ucw.cz wrote: Hi, here is an updated version of my earlier ipa.c change. It turns out that the problem was that I did not drop always_inline. In this version I just drop always_inline attribute on all functions whose body is removed. The patch will affect non-LTO compilation, too, but IMO only by making us to not inlinediagnose the cases where indirect call to always inline is turned direct in between early opts and inline. Does that seem acceptable? (I personally would preffer this over inventing yet another way to special case always_inline for LTO only; we never made any strong promises on always_inline and indirect calls) Honza * lto-cgraph.c (input_overwrite_node): Check that partitioning flags are set only during streaming. * ipa.c (process_references, walk_polymorphic_call_targets, symtab_remove_unreachable_nodes): Drop bodies of always inline after early inlining. (symtab_remove_unreachable_nodes): Remove always_inline attribute. * gcc.dg/lto/pr59626_0.c: New testcase. * gcc.dg/lto/pr59626_1.c: New testcase. Would it be possible to backport this to 4.8? It fixes a number of issues we're seeing, including a couple unrelated to LTO (eg. PR50506). -- Ryan Hillpsn: dirtyepic_sk gcc-porting/toolchain/wxwidgets @ gentoo.org 47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463 signature.asc Description: PGP signature
Re: [PATCH] Final removal of mudflap
On Sat, 26 Oct 2013 14:41:01 -0600 Jeff Law l...@redhat.com wrote: Here's the final patch to remove mudflap. Per the multiple recommendations, it leaves the options as nops and warns for them. Can you write something about this for changes.html? -- Ryan Hillpsn: dirtyepic_sk gcc-porting/toolchain/wxwidgets @ gentoo.org 47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463 signature.asc Description: PGP signature
Re: [PATCH][x86] march aliases
On Mon, 23 Dec 2013 05:10:06 -0800 H.J. Lu hjl.to...@gmail.com wrote: This is the patch I checked in. I will submit separate patches for other parts. Please be sure to update changes.html. -- Ryan Hillpsn: dirtyepic_sk gcc-porting/toolchain/wxwidgets @ gentoo.org 47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463 signature.asc Description: PGP signature
Re: [PATCH][1-3] New configure option to enable Position independent executable as default.
On Wed, 13 Nov 2013 23:28:45 +0100 Magnus Granberg zo...@gentoo.org wrote: Hi This patchset will add a new configure options --enable-default-pie. With the new option enable will make it pass -fPIE and -pie from the gcc and g++ frontend. Have only add the support for two targets but should work on more targes. In configure.ac we add the new option. We can't compile the compiler or the crt stuff with -fPIE it will brake the PCH and the crtbegin and crtend files. The disabling is done in the Makefiles. The needed spec is added to DRIVER_SELF_SPECS. We disable all the profiling test for the linking will fail.Tested on x86_64 linux (Gentoo). /Magnus Granberg Hey Magnus. Some nits: --- a/gcc/configure.ac2013-09-25 18:10:35.0 +0200 +++ b/gcc/configure.ac2013-10-22 21:26:56.287602139 +0200 @@ -5434,6 +5434,31 @@ if test x${LINKER_HASH_STYLE} != x; th [The linker hash style]) fi +# Check whether --enable-default-pie was given and target have the support. +AC_ARG_ENABLE(default-pie, +[AS_HELP_STRING([--enable-default-pie], [Enable Position independent executable as default. Help strings begin with a lowercase letter and do not end with a period. enable Position Independent Executables by default. + If we have suppot for it when compiling and linking. + Linux targets supported i?86 and x86_64.])], I would drop these lines. +enable_default_pie=$enableval, +enable_default_pie=no) +if test x$enable_default_pie = xyes; then + AC_MSG_CHECKING(if $target support to default with -fPIE and link with -pie as default) if $target supports default PIE + enable_default_pie=no + case $target in +i?86*-*-linux* | x86_64*-*-linux*) + enable_default_pie=yes + ;; +*) + ;; +esac + AC_MSG_RESULT($enable_default_pie) +fi +if test x$enable_default_pie == xyes ; then + AC_DEFINE(ENABLE_DEFAULT_PIE, 1, + [Define if your target support default-pie and you have enable it.]) supports default PIE and it is enabled. +fi +AC_SUBST([enable_default_pie]) + # Configure the subdirectories # AC_CONFIG_SUBDIRS($subdirs) --- a/gcc/doc/install.texi2013-10-01 19:29:40.0 +0200 +++ b/gcc/doc/install.texi2013-11-09 15:40:20.831402110 +0100 @@ -1421,6 +1421,11 @@ do a @samp{make -C gcc gnatlib_and_tools Specify that the run-time libraries for stack smashing protection should not be built. +@item --enable-default-pie +We will turn on @option{-fPIE} and @option{-pie} as default when +compileing and linking if the support is there. We only support +i?86-*-linux* and x86-64-*-linux* as target for now. Turn on @option{-fPIE} and @option{-pie} by default if supported. Currently supported targets are i?86-*-linux* and x86-64-*-linux*. Also two spaces between sentences. --- a/gcc/doc/invoke.texi 2012-03-01 10:57:59.0 +0100 +++ b/gcc/doc/invoke.texi 2012-07-30 00:57:03.766847851 +0200 @@ -9457,6 +9480,12 @@ For predictable results, you must also s that were used to generate code (@option{-fpie}, @option{-fPIE}, or model suboptions) when you specify this option. +NOTE: With configure --enable-default-pie this option is enabled by default Extra space (also in the hunk for fPIE). +for C, C++, ObjC, ObjC++, if none of @option{-fno-PIE}, @option{-fno-pie}, +@option{-fPIC}, @option{-fpic}, @option{-fno-PIC}, @option{-fno-pic}, +@option{-nostdlib}, @option{-nostartfiles}, @option{-shared}, +@option{-nodefaultlibs}, nor @option{static} are found. Looks like nodefaultlibs is missing from PIE_DRIVER_SELF_SPECS or this needs to be updated. Thanks! -- Ryan Hillpsn: dirtyepic_sk gcc-porting/toolchain/wxwidgets @ gentoo.org 47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463 signature.asc Description: PGP signature
Re: [PATCH, i386] PR 57927: -march=core-avx2 different than -march=native on INTEL Haswell (i7-4700K)
On Tue, 27 Aug 2013 19:41:09 +0200 Uros Bizjak ubiz...@gmail.com wrote: On Tue, Aug 27, 2013 at 7:36 PM, H.J. Lu hjl.to...@gmail.com wrote: As reported in [1] the host processor detection has not yet been updated to recognize Intel Ivy Bridge and Haswell processors. This small patch adds the detection of these processors and assumes core-avx2 as march for unknown processors of the PENTIUMPRO family that support AVX2. I have committed slightly improved (attached) patch that uses core-avx-i for IvyBridge and adds another IvyBridge model number. While there, I also reordered a bunch of statements. Thanks, Uros. Page C-3 in ntel optimization guide shows: 06_3CH, 06_45H, 06_46H Intel microarchitecture Haswell 06_3AH, 06_3EH Intel microarchitecture Ivy Bridge 06_2AH, 06_2DH Intel microarchitecture Sandy Bridge 06_25H, 06_2CH, 06_2FH Intel microarchitecture Westmere 06_1AH, 06_1EH, 06_1FH, Intel microarchitecture Nehalem 06_2EH 06_17H, 06_1DH Enhanced Intel Core microarchitecture 06_0FH Intel Core microarchitecture At least, we should add 0x45 and 0x46 to Haswell. OK, the patch is pre-approved. Can these changes be backported to 4.8 and the Ivy Bridge parts to 4.7 as well? We've had a couple reports of bad -march=native results for Haswell on 4.7. I can file PRs if you're interested. -- Ryan Hillpsn: dirtyepic_sk gcc-porting/toolchain/wxwidgets @ gentoo.org 47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463 signature.asc Description: PGP signature
Re: [RFC] Parallel build broken on trunk.
On Wed, 21 Nov 2012 13:15:34 + Marcus Shawcroft marcus.shawcr...@arm.com wrote: Thanks for looking at this Laurynas. I've committed the attached to trunk. /Marcus 2012-11-21 Marcus Shawcroft marcus.shawcr...@arm.com * Makefile.in (gengtype-lex.o): Add dependency on $(BCONFIG_H). This also affects 4.7. Can we get a backport please? -- Ryan Hillpsn: dirtyepic_sk gcc-porting/toolchain/wxwidgets @ gentoo.org 47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463 signature.asc Description: PGP signature
Re: [PATCH] [libatomic] Add --enable-werror.
On Mon, 1 Jul 2013 14:55:35 -0600 Ryan Hill dirtye...@gentoo.org wrote: Ping. http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00032.html libatomic is currently unconditionally built with -Werror. This patch adds --enable-werror to control it (enabled by default). Bootstrapped and tested on x86_64, and inspected build logs to ensure it was doing what it should. I'm assuming copyright assignment isn't necessary for a small change like this. I will also need someone to check this in for me please. gcc/libatomic/ 2013-06-30 Ryan Hill dirtye...@gentoo.org * configure.ac: Add --enable-werror. (XCFLAGS): Use it. * configure: Regenerate. --- libatomic/configure.ac | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libatomic/configure.ac b/libatomic/configure.ac index 0dc4a98..4020d23 100644 --- a/libatomic/configure.ac +++ b/libatomic/configure.ac @@ -226,9 +226,15 @@ LIBAT_ENABLE_SYMVERS CFLAGS=$save_CFLAGS AC_CACHE_SAVE -# Add -Wall -Werror if we are using GCC. +AC_ARG_ENABLE(werror, [AS_HELP_STRING([--enable-werror], + [turns on -Werror @:@default=yes@:@])]) +# Add -Wall if we are using GCC. if test x$GCC = xyes; then - XCFLAGS=$XCFLAGS -Wall -Werror + XCFLAGS=$XCFLAGS -Wall + # Add -Werror if requested. + if test x$enable_werror != xno; then +XCFLAGS=$XCFLAGS -Werror + fi fi XCFLAGS=$XCFLAGS $XPCFLAGS -- Ryan Hillpsn: dirtyepic_sk gcc-porting/toolchain/wxwidgets @ gentoo.org 47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463 signature.asc Description: PGP signature
Re: [PATCH] [libitm] Add --enable-werror.
On Mon, 1 Jul 2013 14:56:01 -0600 Ryan Hill dirtye...@gentoo.org wrote: Ping. http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00033.html libitm is currently unconditionally built with -Werror. This patch adds --enable-werror to control it (enabled by default). Bootstrapped and tested on x86_64, and inspected build logs to ensure it was doing what it should. I'm assuming copyright assignment isn't necessary for a small change like this. I will also need someone to check this in for me please. gcc/libitm/ 2013-06-30 Ryan Hill dirtye...@gentoo.org * configure.ac: Add --enable-werror. (XCFLAGS): Use it. * configure: Regenerate. --- libitm/configure.ac | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libitm/configure.ac b/libitm/configure.ac index ff41266..5a9400d 100644 --- a/libitm/configure.ac +++ b/libitm/configure.ac @@ -252,9 +252,15 @@ GCC_CHECK_ELF_STYLE_WEAKREF CFLAGS=$save_CFLAGS AC_CACHE_SAVE -# Add -Wall -Werror if we are using GCC. +AC_ARG_ENABLE(werror, [AS_HELP_STRING([--enable-werror], + [turns on -Werror @:@default=yes@:@])]) +# Add -Wall if we are using GCC. if test x$GCC = xyes; then - XCFLAGS=$XCFLAGS -Wall -Werror + XCFLAGS=$XCFLAGS -Wall + # Add -Werror if requested. + if test x$enable_werror != xno; then +XCFLAGS=$XCFLAGS -Werror + fi fi XCFLAGS=$XCFLAGS $XPCFLAGS -- Ryan Hillpsn: dirtyepic_sk gcc-porting/toolchain/wxwidgets @ gentoo.org 47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463 signature.asc Description: PGP signature
[PATCH] [libitm] Add --enable-werror.
libitm is currently unconditionally built with -Werror. This patch adds --enable-werror to control it (enabled by default). Bootstrapped and tested on x86_64, and inspected build logs to ensure it was doing what it should. I'm assuming copyright assignment isn't necessary for a small change like this. I will also need someone to check this in for me please. gcc/libitm/ 2013-06-30 Ryan Hill dirtye...@gentoo.org * configure.ac: Add --enable-werror. (XCFLAGS): Use it. * configure: Regenerate. --- libitm/configure.ac | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libitm/configure.ac b/libitm/configure.ac index ff41266..5a9400d 100644 --- a/libitm/configure.ac +++ b/libitm/configure.ac @@ -252,9 +252,15 @@ GCC_CHECK_ELF_STYLE_WEAKREF CFLAGS=$save_CFLAGS AC_CACHE_SAVE -# Add -Wall -Werror if we are using GCC. +AC_ARG_ENABLE(werror, [AS_HELP_STRING([--enable-werror], + [turns on -Werror @:@default=yes@:@])]) +# Add -Wall if we are using GCC. if test x$GCC = xyes; then - XCFLAGS=$XCFLAGS -Wall -Werror + XCFLAGS=$XCFLAGS -Wall + # Add -Werror if requested. + if test x$enable_werror != xno; then +XCFLAGS=$XCFLAGS -Werror + fi fi XCFLAGS=$XCFLAGS $XPCFLAGS -- 1.8.2.1
[PATCH] [libatomic] Add --enable-werror.
libatomic is currently unconditionally built with -Werror. This patch adds --enable-werror to control it (enabled by default). Bootstrapped and tested on x86_64, and inspected build logs to ensure it was doing what it should. I'm assuming copyright assignment isn't necessary for a small change like this. I will also need someone to check this in for me please. gcc/libatomic/ 2013-06-30 Ryan Hill dirtye...@gentoo.org * configure.ac: Add --enable-werror. (XCFLAGS): Use it. * configure: Regenerate. --- libatomic/configure.ac | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libatomic/configure.ac b/libatomic/configure.ac index 0dc4a98..4020d23 100644 --- a/libatomic/configure.ac +++ b/libatomic/configure.ac @@ -226,9 +226,15 @@ LIBAT_ENABLE_SYMVERS CFLAGS=$save_CFLAGS AC_CACHE_SAVE -# Add -Wall -Werror if we are using GCC. +AC_ARG_ENABLE(werror, [AS_HELP_STRING([--enable-werror], + [turns on -Werror @:@default=yes@:@])]) +# Add -Wall if we are using GCC. if test x$GCC = xyes; then - XCFLAGS=$XCFLAGS -Wall -Werror + XCFLAGS=$XCFLAGS -Wall + # Add -Werror if requested. + if test x$enable_werror != xno; then +XCFLAGS=$XCFLAGS -Werror + fi fi XCFLAGS=$XCFLAGS $XPCFLAGS -- 1.8.2.1
Re: PATCH: Turn on -fomit-frame-pointer by default for 32bit Linux/x86
This change seems to have broken bootstrap with -march=pentium{2,3,-m} on the 4.6 branch. http://gcc.gnu.org/PR53728 -- gcc-porting toolchain, wxwidgetslearn a language baby, it's that kind of place @ gentoo.org where low card is hunger and high card is taste signature.asc Description: PGP signature