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

Re: Machine Dependent Reorganization Pass


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



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