This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: New rematerialization sub-pass in LRA


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]