Re: Updating phi nodes on deleting gimple statement

2021-12-16 Thread Richard Biener via Gcc
On December 16, 2021 7:33:37 AM GMT+01:00, Shubham Narlawar via Gcc 
 wrote:
>Hello,
>
>
>I have a PHI node that defines a variable that is used in 1 statement. I
>then delete the statement. I think I need to update the PHI node to no
>longer reference that variable. I looked through some code and I don't see
>a way to just remove an element from a PHI node and I see in the file
>omp-expand.c what looks like creating a new PHI node and copying over all
>of the elements.
>
>My question is: how do I update a PHI node per the above? Is it necessary -
>if I don't do anything and leave the PHI node as is it appears to work,
>though I don't know the implications of this. If I do need to update it, do
>I recreate it and delete the old one?

You don't need to do anything to the PHI node.

Richard. 

>Thanks and Regards,
>Shubham



gm2 development status (tracking gcc-12 20211209)

2021-12-16 Thread Gaius Mulley via Gcc



I've been testing the gm2 development branch (based on gcc-12)
against lto and non lto builds.

  git clone git://gcc.gnu.org/git/gcc.git gcc-git
  cd gcc-git
  git checkout devel/modula-2

I'm using the configure options:

CXXFLAGS="-g" CFLAGS="-g $PROFILE" ${absdir}/configure \
--prefix=$HOME/${INSTALLDIR} \
--libexecdir=$HOME/${INSTALLDIR}/lib \
--enable-threads=posix \
--enable-clocale=gnu --enable-languages=${LANGUAGES} \
--disable-multilib  --enable-checking \
--enable-long-longx \
--enable-bootstrap

and building using: make -j 12.

Without lto the repro above (from Dec 9th) passes all gm2 regressions
on the amd64 architecture and does not introduce any regression tests
for the languages (c,c++,go,fortran).

With lto there are no extra errors introduced compared between other
languages.  However I do see many large set regression test failures
in gm2 when lto is enabled.  I'm using the configure arguments:

CXXFLAGS="-g" CFLAGS="-g $PROFILE" ${absdir}/configure \
--prefix=$HOME/${INSTALLDIR} \
--libexecdir=$HOME/${INSTALLDIR}/lib \
--enable-threads=posix \
--enable-clocale=gnu --enable-languages=${LANGUAGES} \
--disable-multilib  --enable-checking \
--enable-long-longx \
--enable-bootstrap \
--with-build-config=bootstrap-lto-lean

and building with

   make -j 12 profiledbootstrap-lean

The good news is that I can test and hunt for the large set failures
(diff the execution of the cc1gm2 built with/without lto) and also good
that gm2 builds with lto.  [Interestingly there has been a problem with
large sets and sparc64 and a 64 bit powerppc variant - so hopefully this
could all be the same bug.. maybe].  From some time ago I have a python
script which will run two copies of gdb/cc1gm2 and single step both in
lock step and dump out when they differ.

Aside from the bug(s) above it is looking pretty stable - and was
wondering when or if it would be a good time to merge gm2 into the
trunk?

In the meantime I'll hunt the gm2/lto bug above and keep git merging
(approx weekly) and feed in small patches to the gm2 development
branch,

regards,
Gaius


gcc-9-20211216 is now available

2021-12-16 Thread GCC Administrator via Gcc
Snapshot gcc-9-20211216 is now available on
  https://gcc.gnu.org/pub/gcc/snapshots/9-20211216/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 9 git branch
with the following options: git://gcc.gnu.org/git/gcc.git branch releases/gcc-9 
revision 6fa3bbe854f8a9066c390b802e6a69ef463ede7c

You'll find:

 gcc-9-20211216.tar.xzComplete GCC

  SHA256=677e98e62d2bb4275c958b3ce6ecec3e1f9f88086bf6d7047579b94e943206d2
  SHA1=a808fa464370009498cf9d13098f60207a42ac83

Diffs from 9-20211209 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-9
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


Re: gm2 development status (tracking gcc-12 20211209)

2021-12-16 Thread Richard Biener via Gcc
On December 16, 2021 9:43:56 PM GMT+01:00, Gaius Mulley  
wrote:
>
>
>I've been testing the gm2 development branch (based on gcc-12)
>against lto and non lto builds.
>
>  git clone git://gcc.gnu.org/git/gcc.git gcc-git
>  cd gcc-git
>  git checkout devel/modula-2
>
>I'm using the configure options:
>
>CXXFLAGS="-g" CFLAGS="-g $PROFILE" ${absdir}/configure \
>--prefix=$HOME/${INSTALLDIR} \
>--libexecdir=$HOME/${INSTALLDIR}/lib \
>--enable-threads=posix \
>--enable-clocale=gnu --enable-languages=${LANGUAGES} \
>--disable-multilib  --enable-checking \
>--enable-long-longx \
>   --enable-bootstrap
>
>and building using: make -j 12.
>
>Without lto the repro above (from Dec 9th) passes all gm2 regressions
>on the amd64 architecture and does not introduce any regression tests
>for the languages (c,c++,go,fortran).
>
>With lto there are no extra errors introduced compared between other
>languages.  However I do see many large set regression test failures
>in gm2 when lto is enabled.  I'm using the configure arguments:
>
>CXXFLAGS="-g" CFLAGS="-g $PROFILE" ${absdir}/configure \
>--prefix=$HOME/${INSTALLDIR} \
>--libexecdir=$HOME/${INSTALLDIR}/lib \
>--enable-threads=posix \
>--enable-clocale=gnu --enable-languages=${LANGUAGES} \
>--disable-multilib  --enable-checking \
>--enable-long-longx \
>   --enable-bootstrap \
>--with-build-config=bootstrap-lto-lean
>
>and building with
>
>   make -j 12 profiledbootstrap-lean
>
>The good news is that I can test and hunt for the large set failures
>(diff the execution of the cc1gm2 built with/without lto) and also good
>that gm2 builds with lto.  [Interestingly there has been a problem with
>large sets and sparc64 and a 64 bit powerppc variant - so hopefully this
>could all be the same bug.. maybe].  From some time ago I have a python
>script which will run two copies of gdb/cc1gm2 and single step both in
>lock step and dump out when they differ.
>
>Aside from the bug(s) above it is looking pretty stable - and was
>wondering when or if it would be a good time to merge gm2 into the
>trunk?

Merging early in stage1 would make most sense. 

Richard. 

>In the meantime I'll hunt the gm2/lto bug above and keep git merging
>(approx weekly) and feed in small patches to the gm2 development
>branch,
>
>regards,
>Gaius