Skip to content
This repository has been archived by the owner on Jul 18, 2023. It is now read-only.

ink-splatters/optimizing-compilers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Optimizing Compiler infrastructure

This has never been worked on and hence archived. The idea is not ditched, so I'm planning to resume it once I have time.

official LLVM BOLT tutorial implemented in nix.

Seen as the base for optimizing compiler infrastructure easily available out-of-the box.

Status

basically not yet implemented

Disclaimer

This is experimental project for the author to hack around in his spare time and comes without any guarantees of project's reaching the state of minimum usability and / or feature completness.

No assumptions currently should be made about contents / availability of this repo. Everything here is a subject to changes or permanent deletion, including this disclaimer, as well as the repo itself might become temporarily or permanently unavailale.

Scope

As basically every modern compiler is optimizing, to avoid ambiguity, the scope of this project is well defined and is all about ensuring BOLT support, both:

  • for bootstrapping compilers themselves and thus speeding up compilation
  • ensuring BOLT is supported by compilers to build other software

With lesser priority, PGO and LTO are also in the scope and will be enabled by default, if that doesn't occur to slow down the development (read "just works", givent the current author's setup).

Platforms

  • Apple Silicon as the first class citizen (thanks to being the author's only machine at the moment; however it's in progress and may not work in the end)
  • x86_64

Roadmap

  • make it work to any extent
  • rustc support
  • go 1.18+ support
  • creation of a collection of nix-shell build environments which use optimizing compilers
  • overriding / overlaying the nixpkgs packages which would greately benefit from being built by optimizing compiler [and are not configured this way by default] e.g.: nixpkgs versions of Python

Links

About

nix-based build of LLVM with BOLT support and more

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published