Figure out which LLVM optimisation passes are worth enabling #595
Labels
accepting contributions
Issues that are suitable to be worked on by anybody, not just maintainers
compiler
Changes related to the compiler
Right now the only optimisation pass we enable is the mem2reg pass, because that's pretty much a requirement for non-insane machine code. We deliberately don't use the O2/O3 options as they enable far too many optimisation passes, and don't give you the ability to opt-out of some of them (Swift takes a similar approach).
We should start collecting a list of what passes are worth enabling, and ideally what the compile time cost is versus the runtime improvement. The end goal is to basically enable the passes that give a decent amount of runtime performance improvements, but without slowing down compile times too much.
The text was updated successfully, but these errors were encountered: