This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: A patch for genautomata
Dan Towner wrote:
>
> Vlad,
>
> I've tried removing the jump optimisation which follows the instruction
> scheduling, but it makes no difference - it still crashes out.
>
As I wrote, I am also not sure that insn mode contains delay between
insns after the 2nd insn scheduling. As I see main line gcc uses TImode
(i.e it is simply mark of a new processor cycle). Although the part of
the patch I sent you was probably based on insn mode as the delay.
> I'm still very unsure how cpu_unit_reservation_p actually works. It
> seems that to make it work I need to effectively re-create the scheduler
> state at each instruction, but ignoring certain instructions which crash
> the compiler. This seems to be a duplication of the work that the
> scheduler has already done, so why not tag each instruction with the
> state it belongs to instead? This would make the querying of CPU units
> in later stages easier, because the tag can be grabbed directly from the
> instruction?
Yes, you could try this approach too. You could save the state after
issuing insn on the 2nd insn scheduling by using hook
TARGET_SCHED_VARIABLE_ISSUE which is called after issuing each insn.
Then you could use it on final.
Vlad