Re: [PATCH] Add a new option -fmerge-bitfields (patch / doc inside)

2014-04-19 Thread Ryan Hill
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

2014-04-08 Thread Ryan Hill
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

2014-01-01 Thread Ryan Hill
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

2013-12-26 Thread Ryan Hill
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.

2013-11-16 Thread Ryan Hill
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)

2013-08-27 Thread Ryan Hill
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.

2013-07-18 Thread Ryan Hill
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.

2013-07-08 Thread Ryan Hill
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.

2013-07-08 Thread Ryan Hill
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.

2013-07-01 Thread Ryan Hill
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.

2013-07-01 Thread Ryan Hill
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

2013-01-30 Thread Ryan Hill
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