CT_00_040 - Improve Instruction Length Computations (GCC)

About

RISC-V's conditional branch instructions have limited range for their target.  When the target is out of range the compiler has to create a inverted conditional branch around an unconditional jump.


RIght now GCC's length computations ignore compressable instructions and as a result the computed distance between the conditional branch and its target is significantly inaccurate.  If we can conservatively determine if an instruction will be implemented as a compressed instruction, then we can account for that in the length computation.  That in turn will allow the compiler to statically determine that more conditional branches can directly reach their target and thus avoid the inverted branch around an unconditional jump sequence.  That should improve performance, but it's unclear by how much.


Stakeholders/Partners

RISE:

Ventana: Jeff Law


External:



Dependencies


Status

Development

NOT YET STARTED


Development TimelineNA
Upstreaming

NOT YET STARTED


Upstream Version





Contacts

Jeff Law (Ventana)


Dependencies

None



Updates

 

  • New work item for 2H2024