ldc-developers/ldc — pull request #157 by redstar (2012-09-08 20:36:49+00:00)
Title: Use PassManagerBuilder.

Replaces the pass setup with the pre-factored `PassManagerBuilder`. Removes not implemented optimization levels (`-O4`, `-O5`) and introduces new levels `-Os` and `-Oz` (optimization for size).

New command line options:
- `-disable-inlinig` (prevents running the inliner pass)
- `-unit-at-a-time` (enables IPO, run by default)
- `-strip-debug` (strip debugger symbol info)

Removed command line options:
- `-enable-inlinig` (implicit set by `-O1/2/3`)
- `-vectorize` (option from `PassManagerBuilder` used instead)

A first examination of the generated object code showed that more functions get inlined. (I used `-O3 -vectorize` as options for my compare.)