diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -2556,28 +2556,33 @@
``A
``
Specifies the address space of objects created by '``alloca``'.
Defaults to the default address space of 0.
-``p[n]::::``
+``p[n]::[:][:]``
This specifies the *size* of a pointer and its ```` and
- ````\erred alignments for address space ``n``. The fourth parameter
- ```` is a size of index that used for address calculation. If not
+ ````\erred alignments for address space ``n``. ```` is optional
+ and defaults to ````. The fourth parameter ```` is a size of
+ index that used for address calculation. If not
specified, the default index size is equal to the pointer size. All sizes
are in bits. The address space, ``n``, is optional, and if not specified,
denotes the default address space 0. The value of ``n`` must be
in the range [1,2^23).
-``i::``
+``i:[:]``
This specifies the alignment for an integer type of a given bit
````. The value of ```` must be in the range [1,2^23).
-``v::``
+ ```` is optional and defaults to ````.
+``v:[:]``
This specifies the alignment for a vector type of a given bit
- ````.
-``f::``
+ ````. The value of ```` must be in the range [1,2^23).
+ ```` is optional and defaults to ````.
+``f:[:]``
This specifies the alignment for a floating-point type of a given bit
````. Only values of ```` that are supported by the target
will work. 32 (float) and 64 (double) are supported on all targets; 80
or 128 (different flavors of long double) are also supported on some
- targets.
-``a::``
+ targets. The value of ```` must be in the range [1,2^23).
+ ```` is optional and defaults to ````.
+``a:[:]``
This specifies the alignment for an object of aggregate type.
+ ```` is optional and defaults to ````.
``F``
This specifies the alignment for function pointers.
The options for ```` are: