docs: Improve navigation for Vectorizers.rst
Add links in the intro paragraph.
Add table of contents.
llvm-svn: 170790
diff --git a/llvm/docs/Vectorizers.rst b/llvm/docs/Vectorizers.rst
index fc1f212..d5bc90b 100644
--- a/llvm/docs/Vectorizers.rst
+++ b/llvm/docs/Vectorizers.rst
@@ -2,12 +2,18 @@
Auto-Vectorization in LLVM
==========================
-LLVM has two vectorizers: The *Loop Vectorizer*, which operates on Loops,
-and the *Basic Block Vectorizer*, which optimizes straight-line code. These
-vectorizers focus on different optimization opportunities and use different
-techniques. The BB vectorizer merges multiple scalars that are found in the
-code into vectors while the Loop Vectorizer widens instructions in the
-original loop to operate on multiple consecutive loop iterations.
+.. contents::
+ :local:
+
+LLVM has two vectorizers: The :ref:`Loop Vectorizer <loop-vectorizer>`,
+which operates on Loops, and the :ref:`Basic Block Vectorizer
+<bb-vectorizer>`, which optimizes straight-line code. These vectorizers
+focus on different optimization opportunities and use different techniques.
+The BB vectorizer merges multiple scalars that are found in the code into
+vectors while the Loop Vectorizer widens instructions in the original loop
+to operate on multiple consecutive loop iterations.
+
+.. _loop-vectorizer:
The Loop Vectorizer
===================
@@ -209,6 +215,8 @@
.. image:: gcc-loops.png
:width: 100%
+.. _bb-vectorizer:
+
The Basic Block Vectorizer
==========================