[LLVMdev] [RFC] Bundling support in the PostRA Scheduler

Jordy Potman jordy.potman at recoresystems.com
Mon Aug 6 01:48:11 PDT 2012


On Tue, 2012-07-31 at 17:37 +0200, Ivan Llopard wrote:
> Hi,
> 
> I'm working on a custom top-down post RA scheduler which builds bundles 
> at the same time for our VLIW processor. I've borrowed most of the 
> implementation from the resource priority queue implemented for the 
> existent VLIW scheduler but applied to the context of MI scheduling. 
> Basically, instructions that are likely to be bundled must be scheduled 
> first (i.e. get higher priority).
> This work should integrate very well with the current infrastructure and 
> I'd like to contribute with a patch to add bundling capabilities to the 
> current post RA scheduler if the LLVM community is interested :-) (May 
> Hexagon need it as well?). It would also be a great opportunity for us 
> to get feedback from the community about this.
> 
> We have a non-interlocked processor which relies on the post ra 
> scheduler to emit cycle-accurate bundles (valid bundles without 
> incurring in structural hazards). The construction of bundles outside 
> the scope of post RA scheduling will require structural hazard 
> information to work properly for processors without pipeline interlocks. 
> For example, we can discover that an instruction can fit into the 
> current packet (following a schema of linear code scanning, just like 
> the current DFAPacketizer does) while in fact it cannot because of 
> structural hazards. The two terms are strongly connected and necessary 
> to build valid packets.
> The concerns are mainly based on our non-interlocked processor, where 
> cycle-accurate bundle emission is necessary. Other approaches/ideas are 
> very welcome.

We would be interested in this since we are targeting a non-interlocked
VLIW processor as well. Currently we are using a custom post RA
scheduler implemented in a pre emit pass. However, we would like to
integrate better with and reuse more of the current LLVM infrastructure
such as the post RA scheduler framework and bundling support.

Jordy

> Do you have any plan for adding a more robust bundler into the current 
> infrastructure ?
> 
> Ivan
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev





More information about the llvm-dev mailing list