diff --git a/docs/LangRef.html b/docs/LangRef.html
index 94ef37b97a7..55411640c99 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -920,38 +920,44 @@ define void @f() optsize
- alwaysinline
-- This attribute requests inliner to inline this function irrespective of
-inlining size threshold for this function.
+- This attribute indicates that the inliner should attempt to inline this
+function into callers whenever possible, ignoring any active inlining size
+threshold for this caller.
- noinline
-- This attributes requests inliner to never inline this function in any
-situation. This attribute may not be used together with alwaysinline
- attribute.
+- This attribute indicates that the inliner should never inline this function
+in any situation. This attribute may not be used together with
+alwaysinline attribute.
- optsize
- This attribute suggests that optimization passes and code generator passes
-make choices that help reduce code size.
+make choices that keep the code size of this function low, and otherwise do
+optimizations specifically to reduce code size.
- noreturn
-- This function attribute indicates that the function never returns. This
- tells LLVM that every call to this function should be treated as if
- an unreachable instruction immediately followed the call.
+- This function attribute indicates that the function never returns normally.
+This produces undefined behavior at runtime if the function ever does
+dynamically return.
- nounwind
-- This function attribute indicates that no exceptions unwind out of the
- function. Usually this is because the function makes no use of exceptions,
- but it may also be that the function catches any exceptions thrown when
- executing it.
+- This function attribute indicates that the function never returns with an
+unwind or exceptional control flow. If the function does unwind, its runtime
+behavior is undefined.
+
+- readnone
+- This attribute indicates that the function computes its result (or its
+thrown exception) based strictly on its arguments. It does not read any global
+mutable state (e.g. memory, control registers, etc) visible to caller functions.
+Furthermore, readnone functions never change any state visible to their
+caller.
- readonly
-- This function attribute indicates that the function has no side-effects
- except for producing a return value or throwing an exception. The value
- returned must only depend on the function arguments and/or global variables.
- It may use values obtained by dereferencing pointers.
-- readnone
-- A readnone function has the same restrictions as a readonly
- function, but in addition it is not allowed to dereference any pointer arguments
- or global variables.
+
- This function attribute indicates that the function has no side-effects on
+the calling function, but that it depends on state (memory state, control
+register state, etc) that may be set in the caller. A readonly function always
+returns the same value (or throws the same exception) whenever it is called with
+a particular set of arguments and global state.
+