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

Add instructions for use with Rust/Cargo #855

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

saethlin
Copy link

@regehr I suspect the equivalent of these instructions will work to get a follow-on superoptimizer working with Rust/Cargo. If anyone tries these out please do let me know how it goes.

@google-cla
Copy link

google-cla bot commented Apr 14, 2022

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

For more information, open the CLA check for this pull request.

@chadbrewbaker
Copy link

Not sure this is how I would go about it. Might be better to do a LLVM IR build like you do for GraalVM/Klee, then whitelist the files you want Souper to optimize? Doing Souper on cold paths doesn't make computational sense.

One feature I would really love is a --souper-verbose-asm that pretty prints transforms it found in the assembler file.

My ideal workflow is compile for profiling, run profiling load to whitelist 99% runtime hot functions, send just those to Souper with a hyperfine style report of the improvement.

Another thing I Souper may be doing is screwing up cache alignments and creating more branch mispredictions?

@ornata - is there an LLVM annotation to keep functions on cache line boundaries, or do thin-BOLT where you re-order small hot functions used together?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants