Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

About

The vsetvli insertion pass currently runs late in the SSA portion of the pre-RA pipeline. This is before instruction sheduling and register allocation.

The vsetvli instruction act as instruction scheduling barriers. The physical register dependencies on VL and VTYPE introduced prevent register allocation from re-materializing instructions like vmv.v.i.

At the LLVM developer meeting in the fall 2023, we discussed a pipeline structure like this

  • Leave SSA form
  • Machine scheduling
  • Register allocate vector registers
  • vsetvli insertion
  • Register allocate scalar registers
    • This allows us to allocate the GPR updates needed for registers needed by vsetvli instructions.

Stakeholders/Partners

RISE:

SiFive: Piyou Chen (Lead Developer), Craig Topper

External:

Igalia: Luke Lau

Dependencies


Status

Development

DONE


Development TimelineNA
Upstreaming

DONE


Upstream Version





Contacts

Piyou Chen (SiFive)

Craig Topper(SiFive)


Dependencies




Updates

 

  • Main patch landed May 20. 

 

  • No labels