-Attributes in LLVM have changed in some fundamental ways. It was necessary to do
-this to support expanding the attributes to encompass more than a handful of
-attributes --- e.g. command line options. The old way of handling attributes
-consisted of representing them as a bit mask of values. This bit mask was stored
-in a "list" structure that was reference counted. The advantage of this was that
-attributes could be manipulated with 'or's and 'and's. The disadvantage of this
-was that there was limited room for expansion, and virtually no support for
-attribute-value pairs other than alignment.
-
-In the new scheme, an Attribute object represents a single attribute that's
-uniqued. You use the "Attribute::get" methods to create a new Attribute
-object. An attribute can be a single "enum" value (the enum being the
-Attribute::AttrKind enum), a string representing a target-dependent attribute,
-or an attribute-value pair. Some examples:
-
-* Target-independent: noinline, zext
-* Target-dependent: "no-sse", "thumb2"
-* Attribute-value pair: "cpu" = "cortex-a8", align = 4
+Attributes in LLVM have changed in some fundamental ways. It was necessary to
+do this to support expanding the attributes to encompass more than a handful of
+attributes --- e.g. command line options. The old way of handling attributes
+consisted of representing them as a bit mask of values. This bit mask was
+stored in a "list" structure that was reference counted. The advantage of this
+was that attributes could be manipulated with 'or's and 'and's. The
+disadvantage of this was that there was limited room for expansion, and
+virtually no support for attribute-value pairs other than alignment.
+
+In the new scheme, an ``Attribute`` object represents a single attribute that's
+uniqued. You use the ``Attribute::get`` methods to create a new ``Attribute``
+object. An attribute can be a single "enum" value (the enum being the
+``Attribute::AttrKind`` enum), a string representing a target-dependent
+attribute, or an attribute-value pair. Some examples:
+
+* Target-independent: ``noinline``, ``zext``
+* Target-dependent: ``"no-sse"``, ``"thumb2"``
+* Attribute-value pair: ``"cpu" = "cortex-a8"``, ``align = 4``