On 12/03/2013 02:38 PM, Jeff Law wrote:
On 12/03/13 12:25, Kenneth Zadeck wrote:
On 12/03/2013 01:52 PM, Mike Stump wrote:
On Dec 2, 2013, at 10:26 PM, Jeff Law <l...@redhat.com> wrote:
On 11/27/13 17:13, Cesar Philippidis wrote:
I looked into adding support for incremental DF scanning from
df*.[ch]
in combine but there are a couple of problems. First of all, combine
does its own DF analysis. It does so because its usage falls under
this
category (df-core.c):
c) If the pass modifies insns several times, this incremental
updating may be expensive.
Furthermore, combine's DF relies on the DF scanning to be
deferred, so
the DF_REF_DEF_COUNT values would be off. Eg, calls to
SET_INSN_DELETED
take place before it updates the notes for those insns. Also, combine
has a tendency to undo its changes occasionally.
I think at this stage of the release cycle, converting combine to
incremental DF is probably a no-go. However, we should keep it in
mind for the future -- while hairy I'd really like to see that happen
in the long term.
I think Kenny has some thoughts in this area. I'll cc him to ensure
he sees it.
it is the tendency to undo things (i would use the word "frequently"
rather than) occasionally that kept me from doing this years ago.
Shove a bunch of things together, simplify, then try to recognize the
result. If that fails, undo everything.
In theory, this could be replaced by making a copy of the original,
doing the combination/simplification, then recognition. If successful,
then update DF and remove the original I3, if not successful, drop the
copy. That avoids the undo nonsense.
jeff
that could certainly work.