docs: Improve navigation for Vectorizers.rst

Add links in the intro paragraph.
Add table of contents.

llvm-svn: 170790
This commit is contained in:
Sean Silva 2012-12-20 22:42:20 +00:00
parent 9453721985
commit 99e12f91a6
1 changed files with 14 additions and 6 deletions

View File

@ -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 @@ The Y-axis shows the time in msec. Lower is better. The last column shows the ge
.. image:: gcc-loops.png
:width: 100%
.. _bb-vectorizer:
The Basic Block Vectorizer
==========================