This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: New rematerialization sub-pass in LRA
- From: Peter Bergner <bergner at vnet dot ibm dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Michael Meissner <meissner at linux dot vnet dot ibm dot com>
- Date: Tue, 14 Oct 2014 15:17:18 -0500
- Subject: Re: New rematerialization sub-pass in LRA
- Authentication-results: sourceware.org; auth=none
- References: <5437F4EC dot 2070809 at redhat dot com>
On Fri, 2014-10-10 at 11:02 -0400, Vladimir Makarov wrote:
> Here is a new rematerialization sub-pass of LRA.
When Mike and I build with this patch along with the patch that
enables LRA by default on powerpc64*-linux (attached below), we're
seeing the following error message. I'm not sure how your patch
can cause this error, but it does go away if we remove your patch
and build again.
Peter
# Enable LRA by default
Index: gcc/config/rs6000/rs6000.opt
===================================================================
--- gcc/config/rs6000/rs6000.opt (revision 216216)
+++ gcc/config/rs6000/rs6000.opt (working copy)
@@ -466,7 +466,7 @@ Target RejectNegative Joined UInteger Va
-mlong-double-<n> Specify size of long double (64 or 128 bits)
mlra
-Target Report Var(rs6000_lra_flag) Init(0) Save
+Target Report Var(rs6000_lra_flag) Init(1) Save
Use LRA instead of reload
msched-costly-dep=
Error message caused by LRA Rematerialization patch:
make[5]: Entering directory
`/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include'
mkdir -p ./powerpc64-linux/bits/stdc++.h.gch
/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/./gcc/xgcc
-shared-libgcc
-B/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/./gcc -nostdinc++
-L/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/src -L/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/src/.libs -L/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/libsupc++/.libs -B/home/bergner/gcc/install/gcc-fsf-mainline-lra-remat/powerpc64-linux/bin/ -B/home/bergner/gcc/install/gcc-fsf-mainline-lra-remat/powerpc64-linux/lib/ -isystem /home/bergner/gcc/install/gcc-fsf-mainline-lra-remat/powerpc64-linux/include -isystem /home/bergner/gcc/install/gcc-fsf-mainline-lra-remat/powerpc64-linux/sys-include -x c++-header -nostdinc++ -g -O2 -D_GNU_SOURCE -I/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/powerpc64-linux -I/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include -I/home/bergner/gcc/gcc-fsf-mainline-bootstrap/libstdc++-v3/libsupc++ -O2 -g -std=gnu++0x /home/bergner/gcc/gcc-fsf-mainline-bootstrap/libstdc++-v3/include/precompiled/stdc++.h \
-o powerpc64-linux/bits/stdc++.h.gch/O2ggnu++0x.gch
In file included
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/bits/move.h:57:0,
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/bits/stl_pair.h:59,
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/bits/stl_algobase.h:64,
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/bits/char_traits.h:39,
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/ios:40,
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/istream:38,
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/sstream:38,
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/complex:45,
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/ccomplex:38,
from /home/bergner/gcc/gcc-fsf-mainline-bootstrap/libstdc
++-v3/include/precompiled/stdc++.h:52:
/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/type_traits:251:12: error: redefinition of âstruct std::__is_integral_helper<unsigned int>â
struct __is_integral_helper<unsigned __int128>
^
/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/type_traits:226:12: error: previous definition of âstruct std::__is_integral_helper<unsigned int>â
struct __is_integral_helper<unsigned int>
^
/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/type_traits:1763:12: error: redefinition of âstruct std::__make_signed<unsigned int>â
struct __make_signed<unsigned __int128>
^
/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/type_traits:1735:12: error: previous definition of âstruct std::__make_signed<unsigned int>â
struct __make_signed<unsigned int>
^
In file included
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/random:42:0,
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/bits/stl_algo.h:66,
from /home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/algorithm:62,
from /home/bergner/gcc/gcc-fsf-mainline-bootstrap/libstdc
++-v3/include/precompiled/stdc++.h:64:
/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/limits:1479:12: error: redefinition of âstruct std::numeric_limits<unsigned int>â
struct numeric_limits<unsigned __int128>
^
/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include/limits:1049:12: error: previous definition of âstruct std::numeric_limits<unsigned int>â
struct numeric_limits<unsigned int>
^
make[5]: *** [powerpc64-linux/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1
make[5]: Leaving directory
`/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3/include'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory
`/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3'
make[3]: *** [all] Error 2
make[3]: Leaving directory
`/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat/powerpc64-linux/libstdc++-v3'
make[2]: *** [all-stage2-target-libstdc++-v3] Error 2
make[2]: Leaving directory
`/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory
`/home/bergner/gcc/build/gcc-fsf-mainline-lra-remat'
make: *** [all] Error 2