-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Open
Labels
backend:RISC-VenhancementImproving things as opposed to bug fixing, e.g. new or missing featureImproving things as opposed to bug fixing, e.g. new or missing featurellvm:codegenllvm:codesizeCode size issuesCode size issues
Description
This is a work item identified in the gap analysis done in #89822.
The ARM32 backend seems to spend more time identifying equivalent instructions/instruction sequences that the outliner can take advantage of. This seems to include handling for various addressing modes.
Overall, I think the first step is to improve terminator identification and handling of tail-call transforms for RISC-V.
} else if (LastInstrOpcode == ARM::BL || LastInstrOpcode == ARM::BLX || |
Next, we should ensure that we handle the various addressing modes in RISC-V correctly. I believe this is a bit simpler in the RISC-V backend vs. ARM, but I think we can still see an improvement w.r.t that.
Lastly, there is special handling for PIC instructions that contain labels.
// PIC instructions contain labels, outlining them would break offset |
Metadata
Metadata
Assignees
Labels
backend:RISC-VenhancementImproving things as opposed to bug fixing, e.g. new or missing featureImproving things as opposed to bug fixing, e.g. new or missing featurellvm:codegenllvm:codesizeCode size issuesCode size issues