[MLGO][Docs] Add initial skeleton of MLGO docs
This adds an initial skeleton of the MLGO docs. This is intended to be
fleshed out over the next couple days as we work on filling out the
relevant sections on the tooling/features that are available in upstream
LLVM.
Reviewers: efriedma-quic, mtrofin
Reviewed By: mtrofin
Pull Request: https://github.com/llvm/llvm-project/pull/139177
diff --git a/llvm/docs/MLGO.rst b/llvm/docs/MLGO.rst
new file mode 100644
index 0000000..28518b8
--- /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 e1f46b0..565d5c6 100644
--- a/llvm/docs/Reference.rst
+++ b/llvm/docs/Reference.rst
@@ -41,6 +41,7 @@
PDB/index
PointerAuth
ScudoHardenedAllocator
+ MLGO
MemoryModelRelaxationAnnotations
MemTagSanitizer
Security