[analyzer] Creating standard Sphinx documentation

Authored by Szelethus on Feb 4 2019, 4:39 PM.


[analyzer] Creating standard Sphinx documentation

The lack of documentation has been a long standing issue in the Static Analyzer,
and one of the leading reasons behind this was a lack of good documentation

This lead serious drawbacks, such as

  • Not having proper release notes for years
  • Not being able to have a sensible auto-generated checker documentations (which

lead to most of them not having any)

  • The HTML website that has to updated manually is a chore, and has been

outdated for a long while

  • Many design discussions are now hidden in phabricator revisions

This patch implements a new documentation infrastucture using Sphinx, like most
of the other subprojects in LLVM. It transformed some pages as a proof-of-
concept, with many others to follow in later patches. The eventual goal is to
preserve the original website's (https://clang-analyzer.llvm.org/) frontpage,
but move everything else to the new format.

Some other ideas, like creating a unipage for each checker (similar to how
clang-tidy works now), are also being discussed.

Patch by Dániel Krupp!

Differential Revision: https://reviews.llvm.org/D54429

llvm-svn: 353126


SzelethusFeb 4 2019, 4:39 PM
Differential Revision
D54429: [analyzer] Creating standard Sphinx documentation
rG7f09fd6b045d: GlobalISel: Consolidate load/store legalization