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

Version 1 Next »

About

These are two tasks carried forward from 2H2023.


FIrst is a small improvement from Jivan which detects generation of some redundant sign/zero extension in the RISC-V backend.  Essentially in the low level optimizers Jivan intercepts requests for zero/sign extending a value.  For a small set of cases we can look at the source object and determine if it is already sign extended.  This is not expected to produce significant benchmark improvements and mostly serves to catch corner cases so that we do not have to debug them again.   To date the cases caught so far have been highly concentrated in handling of builtins which perform arithmetic operations with overflow checking.  No cases have been seen in benchmarks or other performance sensitive code. 


Second, the extension-dce work that was started in 2H2024.  This is a new optimization pass which is designed to track liveness of the result of sign/zero extension instructions.  If the bits set by a sign/zero extension are never read and never escape (implicitly read), then the extension is useless and can potentially be removed.  This is expected to improve x264's scalar implementation by roughly 1%.  It is also expected to be a very small improvement to the coremark benchmark.  Other codes show very small improvements.  This code was originally targeted at gcc-14 (Spring 2024), but it was decided to wait rather than push integration of the code well after feature freeze.



Stakeholders/Partners

RISE:

Ventana: 1 FTE Jivan Hakobyan and Jeff Law

External:

The original idea for and implementation of the ext-dce pass was from Joern Rennecke at EMBECOSM.


Dependencies


Status

Development

COMPLETE


Development TimelineNA
Upstreaming

IN PROGRESS


Upstream Version





Contacts

Jeff Law (Ventana)


Dependencies

None



Updates

 

  • Carried over unfinished items from 2H2023 plan
  • Jivan's patch for catching corner cases of promoted objects integrated into tester
  • No labels