This is the mail archive of the gcc-bugs@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]

[Bug rtl-optimization/64081] [5/6/7 Regression] r217827 prevents RTL loop unroll


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.

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