[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