lowRISC / lowRISC/riscv-llvm

Exception handling support

Open
#59 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
277
Forks
55
PR merge metrics
No merged PRs in 30d

Description

Currently the code generation seems to optimize away everything but the no-throw code path. What's needed for generating code for the rest of the IR code paths? (e.g. landingpad, etc.).

By working around the current backend limitations regarding atomics and TLS, I have the D language runtime working. Yet, many parts of the standard library will misbehave due to throw exceptions not being handled. This ends up impacting functionality that would normally work even without exceptions. Given that this is the only major issue that seems to remain for proper D RISC-V support, adding this functionality would be most appreciated.

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no files or tests; start by locating the backend code-generation paths for exception-related IR such as landingpad, along with the existing handling for atomics and TLS. Verify the behavior against throwing code in the D runtime and standard library, and consider the work complete when exception paths are generated and affected functionality works on RISC-V.

Written by the indexing model from the issue text.

Assessment

Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.