├── .gitignore ├── .ocamlformat ├── LICENSE ├── README.md ├── doc └── gretay-ocamlfdo-slides-2020-11.pdf ├── dune-project ├── examples ├── ocamlfdo.sh ├── simple │ ├── dune │ ├── runme.sh │ └── test2.ml └── simple_with_dune │ ├── dune-project │ ├── dune-workspace │ └── src │ ├── dune │ └── test2.ml ├── ocamlfdo.install ├── ocamlfdo.opam ├── resources ├── dune └── linker-script ├── src ├── aggregated_decoded_profile.ml ├── aggregated_decoded_profile.mli ├── aggregated_perf_profile.ml ├── aggregated_perf_profile.mli ├── block_info.ml ├── block_info.mli ├── bolt_profile.ml ├── bolt_profile.mli ├── cfg_info.ml ├── cfg_info.mli ├── cfg_label.ml ├── check_invariants.ml ├── check_invariants.mli ├── cli.ml ├── cli.mli ├── clusters.ml ├── clusters.mli ├── config_reorder.ml ├── config_reorder.mli ├── crcs.ml ├── crcs.mli ├── dbg.ml ├── decoded_bolt_profile.ml ├── decoded_bolt_profile.mli ├── dune ├── elf_addr.ml ├── elf_addr.mli ├── elf_locations.ml ├── elf_locations.mli ├── execount.ml ├── execount.mli ├── filenames.ml ├── filenames.mli ├── func.ml ├── func.mli ├── intervals.ml ├── intervals.mli ├── linearid_profile.ml ├── linearid_profile.mli ├── linker_script.ml ├── linker_script.mli ├── loc.ml ├── loc.mli ├── main_fdo.ml ├── main_fdo.mli ├── merge.ml ├── merge.mli ├── ocamlfdo.ml ├── perf_profile.ml ├── perf_profile.mli ├── raw_addr.ml ├── raw_addr_pair.ml ├── raw_addr_pair.mli ├── remove_dbg.ml ├── remove_dbg.mli ├── reorder.ml ├── reorder.mli ├── report.ml ├── report.mli ├── trim.ml ├── trim.mli ├── version.ml ├── version.mli ├── wrapper.ml └── wrapper.mli └── test ├── README.md ├── dune ├── test2.exe.fdo-profile.expected ├── test2.exe.linker-script-hot.expected ├── test2.exe.linker-script.expected └── test2.ml /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/.gitignore -------------------------------------------------------------------------------- /.ocamlformat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/.ocamlformat -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/README.md -------------------------------------------------------------------------------- /doc/gretay-ocamlfdo-slides-2020-11.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/doc/gretay-ocamlfdo-slides-2020-11.pdf -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/dune-project -------------------------------------------------------------------------------- /examples/ocamlfdo.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/examples/ocamlfdo.sh -------------------------------------------------------------------------------- /examples/simple/dune: -------------------------------------------------------------------------------- 1 | (executable 2 | (name test2)) 3 | 4 | -------------------------------------------------------------------------------- /examples/simple/runme.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/examples/simple/runme.sh -------------------------------------------------------------------------------- /examples/simple/test2.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/examples/simple/test2.ml -------------------------------------------------------------------------------- /examples/simple_with_dune/dune-project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/examples/simple_with_dune/dune-project -------------------------------------------------------------------------------- /examples/simple_with_dune/dune-workspace: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/examples/simple_with_dune/dune-workspace -------------------------------------------------------------------------------- /examples/simple_with_dune/src/dune: -------------------------------------------------------------------------------- 1 | (executable 2 | (name test2)) 3 | 4 | -------------------------------------------------------------------------------- /examples/simple_with_dune/src/test2.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/examples/simple_with_dune/src/test2.ml -------------------------------------------------------------------------------- /ocamlfdo.install: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/ocamlfdo.install -------------------------------------------------------------------------------- /ocamlfdo.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/ocamlfdo.opam -------------------------------------------------------------------------------- /resources/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/resources/dune -------------------------------------------------------------------------------- /resources/linker-script: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/resources/linker-script -------------------------------------------------------------------------------- /src/aggregated_decoded_profile.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/aggregated_decoded_profile.ml -------------------------------------------------------------------------------- /src/aggregated_decoded_profile.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/aggregated_decoded_profile.mli -------------------------------------------------------------------------------- /src/aggregated_perf_profile.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/aggregated_perf_profile.ml -------------------------------------------------------------------------------- /src/aggregated_perf_profile.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/aggregated_perf_profile.mli -------------------------------------------------------------------------------- /src/block_info.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/block_info.ml -------------------------------------------------------------------------------- /src/block_info.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/block_info.mli -------------------------------------------------------------------------------- /src/bolt_profile.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/bolt_profile.ml -------------------------------------------------------------------------------- /src/bolt_profile.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/bolt_profile.mli -------------------------------------------------------------------------------- /src/cfg_info.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/cfg_info.ml -------------------------------------------------------------------------------- /src/cfg_info.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/cfg_info.mli -------------------------------------------------------------------------------- /src/cfg_label.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/cfg_label.ml -------------------------------------------------------------------------------- /src/check_invariants.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/check_invariants.ml -------------------------------------------------------------------------------- /src/check_invariants.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/check_invariants.mli -------------------------------------------------------------------------------- /src/cli.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/cli.ml -------------------------------------------------------------------------------- /src/cli.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/cli.mli -------------------------------------------------------------------------------- /src/clusters.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/clusters.ml -------------------------------------------------------------------------------- /src/clusters.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/clusters.mli -------------------------------------------------------------------------------- /src/config_reorder.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/config_reorder.ml -------------------------------------------------------------------------------- /src/config_reorder.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/config_reorder.mli -------------------------------------------------------------------------------- /src/crcs.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/crcs.ml -------------------------------------------------------------------------------- /src/crcs.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/crcs.mli -------------------------------------------------------------------------------- /src/dbg.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/dbg.ml -------------------------------------------------------------------------------- /src/decoded_bolt_profile.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/decoded_bolt_profile.ml -------------------------------------------------------------------------------- /src/decoded_bolt_profile.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/decoded_bolt_profile.mli -------------------------------------------------------------------------------- /src/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/dune -------------------------------------------------------------------------------- /src/elf_addr.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/elf_addr.ml -------------------------------------------------------------------------------- /src/elf_addr.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/elf_addr.mli -------------------------------------------------------------------------------- /src/elf_locations.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/elf_locations.ml -------------------------------------------------------------------------------- /src/elf_locations.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/elf_locations.mli -------------------------------------------------------------------------------- /src/execount.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/execount.ml -------------------------------------------------------------------------------- /src/execount.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/execount.mli -------------------------------------------------------------------------------- /src/filenames.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/filenames.ml -------------------------------------------------------------------------------- /src/filenames.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/filenames.mli -------------------------------------------------------------------------------- /src/func.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/func.ml -------------------------------------------------------------------------------- /src/func.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/func.mli -------------------------------------------------------------------------------- /src/intervals.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/intervals.ml -------------------------------------------------------------------------------- /src/intervals.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/intervals.mli -------------------------------------------------------------------------------- /src/linearid_profile.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/linearid_profile.ml -------------------------------------------------------------------------------- /src/linearid_profile.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/linearid_profile.mli -------------------------------------------------------------------------------- /src/linker_script.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/linker_script.ml -------------------------------------------------------------------------------- /src/linker_script.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/linker_script.mli -------------------------------------------------------------------------------- /src/loc.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/loc.ml -------------------------------------------------------------------------------- /src/loc.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/loc.mli -------------------------------------------------------------------------------- /src/main_fdo.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/main_fdo.ml -------------------------------------------------------------------------------- /src/main_fdo.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/main_fdo.mli -------------------------------------------------------------------------------- /src/merge.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/merge.ml -------------------------------------------------------------------------------- /src/merge.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/merge.mli -------------------------------------------------------------------------------- /src/ocamlfdo.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/ocamlfdo.ml -------------------------------------------------------------------------------- /src/perf_profile.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/perf_profile.ml -------------------------------------------------------------------------------- /src/perf_profile.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/perf_profile.mli -------------------------------------------------------------------------------- /src/raw_addr.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/raw_addr.ml -------------------------------------------------------------------------------- /src/raw_addr_pair.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/raw_addr_pair.ml -------------------------------------------------------------------------------- /src/raw_addr_pair.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/raw_addr_pair.mli -------------------------------------------------------------------------------- /src/remove_dbg.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/remove_dbg.ml -------------------------------------------------------------------------------- /src/remove_dbg.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/remove_dbg.mli -------------------------------------------------------------------------------- /src/reorder.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/reorder.ml -------------------------------------------------------------------------------- /src/reorder.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/reorder.mli -------------------------------------------------------------------------------- /src/report.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/report.ml -------------------------------------------------------------------------------- /src/report.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/report.mli -------------------------------------------------------------------------------- /src/trim.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/trim.ml -------------------------------------------------------------------------------- /src/trim.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/trim.mli -------------------------------------------------------------------------------- /src/version.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/version.ml -------------------------------------------------------------------------------- /src/version.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/version.mli -------------------------------------------------------------------------------- /src/wrapper.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/wrapper.ml -------------------------------------------------------------------------------- /src/wrapper.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/src/wrapper.mli -------------------------------------------------------------------------------- /test/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/test/README.md -------------------------------------------------------------------------------- /test/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/test/dune -------------------------------------------------------------------------------- /test/test2.exe.fdo-profile.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/test/test2.exe.fdo-profile.expected -------------------------------------------------------------------------------- /test/test2.exe.linker-script-hot.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/test/test2.exe.linker-script-hot.expected -------------------------------------------------------------------------------- /test/test2.exe.linker-script.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/test/test2.exe.linker-script.expected -------------------------------------------------------------------------------- /test/test2.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gretay-js/ocamlfdo/HEAD/test/test2.ml --------------------------------------------------------------------------------