Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve cost modeling for RISC-V Machine Outliner #91788

Open
ilovepi opened this issue May 10, 2024 · 1 comment
Open

Improve cost modeling for RISC-V Machine Outliner #91788

ilovepi opened this issue May 10, 2024 · 1 comment
Labels
backend:RISC-V enhancement Improving things as opposed to bug fixing, e.g. new or missing feature llvm:codegen llvm:codesize Code size issues

Comments

@ilovepi
Copy link
Contributor

ilovepi commented May 10, 2024

This is a work item identified in the gap analysis done in #89822.

The ARM32 and Aarch64 machine outliners make many adjustments to the cost modeling depending on the outlining task. For instance it seems to increase weights for tail-callable outlined regions, and adjust the weights for various other patterns.

RISC-V should probably just copy these as a starting point and explore the impact of different values on some sufficiently large codebase. Clang, and the llvm-test suite are the obvious starting points, but Fuchsia, Chrome, and the Linux kernel are also reasonable projects to include for a round of evaluation.

@ilovepi ilovepi added backend:RISC-V enhancement Improving things as opposed to bug fixing, e.g. new or missing feature llvm:codegen labels May 10, 2024
@llvmbot
Copy link
Collaborator

llvmbot commented May 10, 2024

@llvm/issue-subscribers-backend-risc-v

Author: Paul Kirth (ilovepi)

This is a work item identified in the gap analysis done in https://github.com//issues/89822.

The ARM32 and Aarch64 machine outliners make many adjustments to the cost modeling depending on the outlining task. For instance it seems to increase weights for tail-callable outlined regions, and adjust the weights for various other patterns.

RISC-V should probably just copy these as a starting point and explore the impact of different values on some sufficiently large codebase. Clang, and the llvm-test suite are the obvious starting points, but Fuchsia, Chrome, and the Linux kernel are also reasonable projects to include for a round of evaluation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:RISC-V enhancement Improving things as opposed to bug fixing, e.g. new or missing feature llvm:codegen llvm:codesize Code size issues
Projects
None yet
Development

No branches or pull requests

3 participants