This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/64081] [5/6/7 Regression] r217827 prevents RTL loop unroll
- From: "aldyh at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 06 Feb 2017 09:41:57 +0000
- Subject: [Bug rtl-optimization/64081] [5/6/7 Regression] r217827 prevents RTL loop unroll
- Auto-submitted: auto-generated
- References: <bug-64081-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64081
Aldy Hernandez <aldyh at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #40666|0 |1
is obsolete| |
--- Comment #39 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
Created attachment 40673
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40673&action=edit
patchset to bootstrap gcc on AIX 7.2 (gcc119)
The minimum tree I could build to reproduce on gcc119 (AIX 7.2) was:
/scratch/aldyh/src/gcc/configure \
--disable-nls --disable-multilib \
--disable-libgomp --disable-libsanitizer --enable-languages=c \
--disable-werror --with-gmp=/opt/cfarm --with-libiconv-prefix=/opt/cfarm
--disable-libstdcxx-pch --with-included-gettext && make -jXXX
The attached patch has various changes:
1. cp/ changes to coerce the native GCC 6.1.0 to build GCC5 sources at this
point in time. This is the problem described here: bz 69959.
2. varasm.c hacks to avoid a spurious build failure during stage2:
In file included from /scratch/aldyh/src/gcc/gcc/omp-low.c:31:0:
/scratch/aldyh/src/gcc/gcc/gimple.h: In function 'tree_node*
gimple_call_arg(con
st_gimple, unsigned int)':
/scratch/aldyh/src/gcc/gcc/gimple.h:2991:1: error: tree_node*
gimple_call_arg(co
nst_gimple, unsigned int) causes a section type conflict with unsigned int
gimpl
e_omp_subcode(const_gimple)
gimple_call_arg (const_gimple gs, unsigned index)
3. libstdc++-v3/configure hacks. The mother of ugly hacks to work around a
hard error while configuring libstdc++ during stage1:
/scratch/aldyh/src/gcc/libstdc++-v3/configure[20770]: syntax error at line
46067 : `;' unexpected
/scratch/aldyh/src/gcc/libstdc++-v3/configure[20770]: syntax error at line 19 :
`)' unexpected
Interestingly, adding "echo" statements throughout and removing the cross glibc
code in libstdc++-v3/configure makes the problem go away, and it's safe to do
so because we know we're not building a cross. This is all the code originally
in libstdc++-v3/configure.ac on the else branch of "if $GLIBCXX_IS_NATIVE".
4. And finally, the loop-iv.c patch which holds the changes in this PR we are
trying to test.
With this horrendous set of patches we can see that r226811 fails to bootstrap,
while r226814 starts to magically work.
The bootstrap failure can be seen immediately after building the stage2 gcc/
files. As soon as this compiler is used to configure it's own libgcc, we
segfault. Even [["echo void foo(){}" > foo.c && gcc/cc1 -O1 a.c]] segfaults.
I will investigate further.