From: Jan Hubicka <jh@suse.cz>
To: law@redhat.com
Cc: Jan Hubicka <jh@suse.cz>,
gcc@gcc.gnu.org, rth@cygnus.com, m.hayes@elec.canterbury.ac.nz,
matzmich@cs.tu-berlin.de, dan@cgsoftware.com
Subject: Re: df.c and partial writes/REG_EQUAL notes
Date: Thu, 25 Oct 2001 06:23:00 -0000 [thread overview]
Message-ID: <20011025152259.E29132@atrey.karlin.mff.cuni.cz> (raw)
In-Reply-To: <3257.1003952277@localhost.localdomain>
> In message <20010925161602.C13734@atrey.karlin.mff.cuni.cz>you write:
> > yesterday I wanted to make myself familiar with the dataflow module and
> > write simple code to construct webs early and split each pseudo consisting
> > of multiple webs to assist CSE and other optimizations.
> Don't bother. SSA will do this for you in a much more sane way and will
> probably be faster and generate better code anyway.
Hmm, I understand that you may get the renaming of pseudos as side effect
of SSA/deSSA converison, but why it will be faster/generate better code?
> > Will currently use 5 increments, but if the various copies of A are
> > split, the CSE/combine takes care to construct multiple moves.
> Err, so what is really looks like you want to do is splitting variables
> during unrolling. I recommend you look at Morgan/Muchnik as they discuss
> variable expansion in this context.
I did. What I wanted is to do in general - not only for loops unrolled by gcc.
>
>
> > Problem 1
> > =========
> >
> > I've run into problems with dataflow analyzis and partial writes. For inst
> > ance following
> > code:
> >
> > 1: (set (reg:DI x) (const_int 0))
> >
> > 2: (set (subreg:SI (reg:DI x) 0) (const_int 1))
> >
> > 3: (use somewhere reg:DI x)
> >
> > As currently impleemnted in df.c, there will be no depdendancy between
> > insn 1 and insn 3,
> Right. Review the movxx section in the Machine Descriptions part of the
> manual. Quoting:
>
> @cindex @code{mov@var{m}} instruction pattern
> @item @samp{mov@var{m}}
> Here @var{m} stands for a two-letter machine mode name, in lower case.
> This instruction pattern moves data with that machine mode from operand
> 1 to operand 0. For example, @samp{movsi} moves full-word data.
>
> If operand 0 is a @code{subreg} with mode @var{m} of a register whose
> own mode is wider than @var{m}, the effect of this instruction is
> to store the specified value in the part of the register that corresponds
> to mode @var{m}. The effect on the rest of the register is undefined.
>
> Based on that I believe there should be no dependency since insn #2
> leaves the rest of the DI register undefined.
Then the documentation is wrong - most ports use subreg in a way that it
clobbers the specified word only.
Honza
next prev parent reply other threads:[~2001-10-25 6:23 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-09-25 7:16 Jan Hubicka
2001-09-25 7:55 ` Daniel Berlin
2001-09-25 7:59 ` Jan Hubicka
2001-09-25 8:33 ` Daniel Berlin
2001-09-25 8:35 ` Jan Hubicka
2001-09-26 13:03 ` Richard Henderson
2001-09-27 6:29 ` Daniel Berlin
2001-09-27 7:13 ` Gerald Pfeifer
2001-09-27 7:28 ` Daniel Berlin
2001-09-27 7:47 ` David Edelsohn
2001-09-27 7:27 ` Jan Hubicka
2001-09-27 7:38 ` Daniel Berlin
2001-09-27 7:58 ` Jan Hubicka
2001-09-27 9:40 ` Daniel Berlin
2001-09-27 10:27 ` Richard Henderson
2001-09-27 11:21 ` Daniel Berlin
2001-10-01 17:07 ` Mark Mitchell
2001-09-27 20:12 ` law
2001-09-28 10:49 ` Michael Matz
2001-09-29 6:38 ` Jan Hubicka
2001-10-24 12:35 ` law
2001-10-24 13:00 ` Richard Henderson
2001-10-24 13:27 ` Michael Matz
2001-10-25 11:20 ` law
2001-10-25 6:23 ` Jan Hubicka [this message]
2001-10-25 6:36 ` Daniel Berlin
2001-09-27 8:52 Richard Kenner
2001-09-27 10:20 ` Jan Hubicka
2001-09-27 15:11 ` Daniel Berlin
2001-09-27 11:41 ` Daniel Berlin
2001-09-27 11:48 Richard Kenner
2001-09-27 14:16 mike stump
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20011025152259.E29132@atrey.karlin.mff.cuni.cz \
--to=jh@suse.cz \
--cc=dan@cgsoftware.com \
--cc=gcc@gcc.gnu.org \
--cc=law@redhat.com \
--cc=m.hayes@elec.canterbury.ac.nz \
--cc=matzmich@cs.tu-berlin.de \
--cc=rth@cygnus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).