Machine Dependent Reorganization Pass
kernel_learner
kernel_learner@yahoo.com
Thu Apr 29 07:12:00 GMT 2004
Thanks Jim.
Actually All I care about is this:
Two instructions put next to each other whether or not
they have a dependency. I figured two ways that I
could do this:
Using LOG_LINKS, this is what I am experimenting with
right now and haven't quite gotten there.
The other one is using the rtx of each instruction to
see whether it's destination matches with any of the
sources for the very next instruction. I am not
completely sure of how to do this (i.e. finding the
destination of an instruction in it's rtx expresion
and also finding the sources of an instruction in it's
rtx expression)
Any help with the latter or former would be useful!
Thanks!
LEARNER
--- Jim Wilson <wilson@specifixinc.com> wrote:
> kernel_learner wrote:
> > I have made some changes including moving the call
> to
> > MACHINE_DEPENDENT_REORG to after the call that
> does
> > the delay slot scheduling.
>
> I believe this has been suggested before, but I
> don't think we ever came
> to agreement that this would work for all targets,
> and we never agreed
> to add a second reorg hook. This is an open issue.
>
> > independent. I am not sure if the the instruction
> > dependency information which might have been
> > previously computed is VALID at the point where
> the
> > MACHINE_DEPENDENT_REORG pass is called.
>
> This info is only used in combine and in the
> scheduler. There is not
> much in between sched2 and machine_reorg, so the
> info is likely still
> accurate. If you move machine_reorg after delay
> slot filling it is less
> likely to be accurate.
>
> > I need to figure out how I can compute or use
> > dependecy information between instructions in this
> > final list. Anyone have any suggestions?
>
> You could try calling the dependency routines again.
> There are no
> target ports that do this though, so this is not
> guaranteed to be safe.
> See the sched_analyze function in sched-deps.c.
> You will need
> init_deps before calling that, and maybe some other
> stuff. It might
> just be simpler to run a scheduling pass. The IA-64
> machine_reorg does
> this for other reasons.
> --
> Jim Wilson, GNU Tools Support,
> http://www.SpecifixInc.com
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the Gcc
mailing list