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: 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


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