diff --git a/llvm/docs/MLGO.rst b/llvm/docs/MLGO.rst new file mode 100644 index 0000000000000..28518b83d8c3e --- /dev/null +++ b/llvm/docs/MLGO.rst @@ -0,0 +1,28 @@ +==== +MLGO +==== + +Introduction +============ + +MLGO is a framework for integrating ML techniques systematically in LLVM. It is +designed primarily to replace heuristics within LLVM with machine learned +models. Currently there is upstream infrastructure for the following +heuristics: + +* Inlining for size +* Register allocation (LLVM greedy eviction heuristic) for performance + +This document is an outline of the tooling that composes MLGO. + +Corpus Tooling +============== + +.. + TODO(boomanaiden154): Write this section. + +Model Runner Interfaces +======================= + +.. + TODO(mtrofin): Write this section. diff --git a/llvm/docs/Reference.rst b/llvm/docs/Reference.rst index e1f46b00f2b30..565d5c6876d66 100644 --- a/llvm/docs/Reference.rst +++ b/llvm/docs/Reference.rst @@ -41,6 +41,7 @@ LLVM and API reference documentation. PDB/index PointerAuth ScudoHardenedAllocator + MLGO MemoryModelRelaxationAnnotations MemTagSanitizer Security