diff --git a/clang/docs/UsersManual.html b/clang/docs/UsersManual.html
index 69f916c94e84..50a373886a68 100644
--- a/clang/docs/UsersManual.html
+++ b/clang/docs/UsersManual.html
@@ -880,18 +880,30 @@ on runtime code generation to check for undefined behavior.
This option, which defaults to off, controls whether or not Clang
adds runtime checks for undefined runtime behavior. If a check fails,
__builtin_trap() is used to indicate failure.
-The checks are:
+The currently implemented checks include:
- Subscripting where the static type of one operand is a variable
which is decayed from an array type and the other operand is
greater than the size of the array or less than zero.
- Shift operators where the amount shifted is greater or equal to the
promoted bit-width of the left-hand-side or less than zero.
-- If control flow reaches __builtin_unreachable.
-
- When llvm implements more __builtin_object_size support, reads and
- writes for objects that __builtin_object_size indicates we aren't
- accessing valid memory. Bit-fields and vectors are not yet checked.
+
- If control flow reaches __builtin_unreachable.
+- Reads and writes for objects which are inappropriately aligned or are not
+ large enough (in cases where the size can be determined).
+
- Signed integer overflow, including all the checks added by -ftrapv
+ and also checking for signed left shift overflow.
+- Binding a reference to a storage location which is not of an appropriate
+ alignment or size (in cases where the size can be determined), or binding
+ a reference to an empty glvalue (a dereferenced null pointer).
+
- Class member access or member function call where the this
+ pointer is not of an appropriate alignment or size (in cases where the size
+ can be determined), or where it is null.
+
+The sizes of objects are determined using __builtin_object_size, and
+consequently may be able to detect more problems at higher optimization levels.
+Bit-fields and vectors are not yet checked.
+
-f[no-]address-sanitizer: