/
RISE Compiler/Toolchain Projects Tracking

RISE Compiler/Toolchain Projects Tracking



Topic ID

Topic Name

Priority

Development

Upstreaming

Dependency

Tentative ETA

Company

Contact

Comments

GCC (00)

CT_00_001

Autovectorization (basic)

High

Completed

Completed

PSABI Vector specification

Q2 2024

Rivos, Intel, Ventana

Jeff Law (Ventana)
rufus@andestech.com
jim@andestech.com
Ken Unger?
Andrew de los Reyes (Rivos)
Pan Li (Intel)

Planning an unofficial branch off the gcc-13 release with backports of autovect work. Available to community at large (June 2023)

CT_00_002

Inlined subword atomics, forward compatible mappings, optimizations for Ztso

High

Completed

Completed



Q3 2023

Google, Rivos, Ventana

Jeff Law (Ventana)

To be included in gcc-13.2 release in Aug 2023, significant downstream dependencies

CT_00_003

Redundant Extension Elimination (GCC)

Medium

InProgress

InProgress





Ventana

Jeff Law (Ventana)

Expose sign-extending sematics of 32bit ops in rv64, reduces dynamic instruction counts by about .5% across specint2017. RAU's contribution

CT_00_004

Address reassociation (GCC)

Medium

InProgress

InProgress





Ventana

Jeff Law (Ventana)

Reassocating after register elimination, VRULL's work

CT_00_005

If-conversion (GCC )

Medium

Completed

InProgress





Ventana

Jeff Law (Ventana)
efriedma@quicinc.com

ZICond target support and middle end improvements

CT_00_006

Zfa support (GCC)

Medium

Completed

Completed





Ventana
Rivos

Jeff Law (Ventana)



CT_00_007

Fusion support (GCC)

Medium

Completed

NotStarted





Ventana

Jeff Law (Ventana)

Keep fused ops together to improve performance

CT_00_008

Backtracing (better in debugger group?)

Unknown

InProgress

InProgress





Intel,

Andrei Warkentin (Intel)
efriedma@quicinc.com

DWARF/CFI is not appropriate for firmware environments

CT_00_009

CRC Optimization (GCC)

Medium

InProgress

NotStarted





Ventana

Jeff Law (Ventana)

Helps coremark, but more importantly 200+ implementations in distros

CT_00_010

Long branch support (GCC)

Medium

Completed

Completed





Ventana

Jeff Law (Ventana)

Support for functions > 1M in size

CT_00_011

Stack clash (GCC)

Medium

Unknown

Unknown





Ventana

Jeff Law (Ventana)

Distro blocker (Fedora)

CT_00_013

Autovectorization (improvements)

High

InProgress

InProgress

PSABI Vector specification

Q2 2024

Rivos, Intel, Ventana

Jeff Law (Ventana)
rufus@andestech.com
jim@andestech.com
Ken Unger?
Andrew de los Reyes (Rivos)
Pan Li (Intel)

Planning an unofficial branch off the gcc-13 release with backports of autovect work. Available to community at large (June 2023)

CT_00_012

Inline expansion of mem* and str*

Medium

InProgress

InProgress











CT_00_14

Common syntax for target attribute (GCC)

Medium

Completed

InProgress









Allows for specification of target switches on a per-function basis. Prereq for function multiversioning

LLVM (01)

CT_01_001

Autovectorization (basic)

High

InProgress

InProgress

PSABI Vector Specification

Q3 2023

Rivos, Google, Imagination, MediaTek, Andestech, SiFive, Ventana

preames@rivosinc.com
rufus@andestech.com
jim@andestech.com
Chibang Kuan
Simon Harvey (Imagination Technologies)
Ken Unger?
Nathan Egge (Google)

Alexey Bataev (SiFive) efriedma@quicinc.com

Partially lit up in LLVM 16, major development in flight for LLVM 17 which should release in Q3 2023

CT_01_002

Forward compatible atomics mappings

High

Completed

Completed



Q2 2023

Google, Rivos, Ventana

Nathan Egge (Google)
efriedma@quicinc.com

To be included in LLVM 17 release in Q3 2023, significant downtream dependencies

CT_01_003

Shadow Stack (LLVM)

High

InProgress

NotStarted

PSABI specs to allow x3 to become OS specific register



Google, Mediatek

Nathan Egge (Google)
Chibang Kuan

Zisslpcfi, upstream and downstream dependencies. ABI implications, distro blocker for Android

CT_01_004

Zfa support (LLVM)

Medium

Completed

Completed



Q2 2023

Ventana

Craig Topper (SiFive)
Jeff Law (Ventana)



CT_01_005

Fusion support (LLVM)

Medium

InProgress

NotStarted





Ventana

Jeff Law (Ventana)

Keep fused ops together to improve performance

CT_01_006

Stack clash (LLVM)

Medium

Unknown

Unknown





Ventana

Jeff Law (Ventana)

Distro blocker (Android)

CT_01_007

CRC Optimization (LLVM)

Medium

Completed

NotStarted





Ventana

Jeff Law (Ventana)

Helps coremark, but more importantly 200+ implementations in distros

CT_01_008

Autovectorization (improvements)

High

InProgress

InProgress

PSABI Vector Specification

Q3 2023

Rivos, Google, Imagination, MediaTek, Andestech, SiFive, Ventana

preames@rivosinc.com
rufus@andestech.com
jim@andestech.com
Chibang Kuan
Simon Harvey (Imagination Technologies)
Ken Unger?
Nathan Egge (Google)
efriedma@quicinc.com

Partially lit up in LLVM 16, major development in flight for LLVM 17 which should release in Q3 2023

CT_01_009

Common syntax for target attribute (LLVM)

Medium

Unknown

Unknown









Allows for specification of target switches on a per-function basis. Prereq for function multiversioning

Toolchain-wide items (03)



















CT_03_001

Binary toolchain packages

Medium

Completed

InProgress



Q2 2023

Imagination

Simon Harvey (Imagination Technologies)

Updating package hosting for wider sharing

Uncategorized items



Large Code Model

Medium

InProgress

NotStarted





Rivos, Andestech

Andrew de los Reyes (Rivos)
Nelson Chu (Rivos)
rufus@andestech.com

Nelson actively working on this (presumably LLVM)



Shadow Stack (GCC)

Unknown

Unknown

Unknown





Ventana
Rivos

Jeff Law (Ventana)
Greg McGary

Zisslpcfi, upstream and downstream dependencies. ABI impications, but not a distro blocker for Fedora



Build Farm

Unknown

Unknown

Unknown





Rivos, Ventana

Andrew de los Reyes (Rivos)
Jeff Law (Ventana)





SVE Transition Tool

Unknown

Unknown

Unknown





Intel
Alibaba

yunhai.syh@alibaba-inc.com

Migration from ARM SVE to RISC-V intrinsics



If-conversion (LLVM)

Unknown

Unknown

Unknown





Ventana

Jeff Law (Ventana)
efriedma@quicinc.com

ZICond target support and middle end improvements



OpenMP

Unknown

Unknown

Unknown





Microchip

Ken Unger





Function Multiversioning

Medium

Unknown

Unknown





Ventana
Rivos

Jeff Law (Ventana)

Will have downstream dependencies in some libraries



Sanitizers (GCC)

Medium

Unknown

Unknown





Ventana

Jeff Law (Ventana)

THis may be OK. So step #1 is to determine state



Sanitizers (LLVM)

Unknown

Unknown

Unknown





Ventana

Jeff Law (Ventana)

This my be OK. So step #1 is to determine state



Long branch support (LLVM)

Unknown

Unknown

Unknown





Ventana

Jeff Law (Ventana)

Not sure if this is needed in LLVM. Check



Code Alignment (GCC)

Medium

Evaluating

Unknown





Ventana

Jeff Law (Ventana)

Not sure if this is needed in LLVM. Check



Code Alignment (LLVM)

Medium

NotStarted

Unknown





Ventana

Jeff Law (Ventana)

Not sure if this is needed in LLVM. Check



GCOV Support (GCC)

Medium

NotStarted

Unknown





Ventana

Jeff Law (Ventana)

gcov *might* just work, we need to evaluate











Related content