diff --git a/clang/docs/ClangCommandLineReference.rst b/clang/docs/ClangCommandLineReference.rst
--- a/clang/docs/ClangCommandLineReference.rst
+++ b/clang/docs/ClangCommandLineReference.rst
@@ -18,9 +18,9 @@
.. program:: clang
-.. option:: -B
, --prefix , --prefix=
+.. option:: -B, --prefix , --prefix=
-Add to search path for binaries and object files used implicitly
+Search $prefix/$triple-$file and $prefix$file for executables, libraries, includes, and data files used by the compiler. $prefix may or may not be a directory
.. option:: -F
@@ -256,7 +256,7 @@
.. option:: --gcc-toolchain=, -gcc-toolchain
-Use the gcc toolchain at the given directory
+Search for GCC installation in the specified directory on targets which commonly use GCC. The directory usually contains 'lib{,32,64}/gcc{,-cross}/$triple' and 'include'. If specified, sysroot is skipped for GCC detection. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
.. option:: -gcodeview
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -601,8 +601,14 @@
def _DASH_DASH : Option<["--"], "", KIND_REMAINING_ARGS>,
Flags<[NoXarchOption, CoreOption]>;
def A : JoinedOrSeparate<["-"], "A">, Flags<[RenderJoined]>, Group;
-def B : JoinedOrSeparate<["-"], "B">, MetaVarName<"">,
- HelpText<"Add to search path for binaries and object files used implicitly">;
+def B : JoinedOrSeparate<["-"], "B">, MetaVarName<"">,
+ HelpText<"Search $prefix/$triple-$file and $prefix$file for executables, libraries, "
+ "includes, and data files used by the compiler. $prefix may or may not be a directory">;
+def gcc_toolchain : Joined<["--"], "gcc-toolchain=">, Flags<[NoXarchOption]>,
+ HelpText<"Search for GCC installation in the specified directory on targets which commonly use GCC. "
+ "The directory usually contains 'lib{,32,64}/gcc{,-cross}/$triple' and 'include'. If specified, "
+ "sysroot is skipped for GCC detection. Note: executables (e.g. ld) used by the compiler are not "
+ "overridden by the selected GCC installation">;
def CC : Flag<["-"], "CC">, Flags<[CC1Option]>, Group,
HelpText<"Include comments from within macros in preprocessed output">,
MarshallingInfoFlag>;
@@ -3673,8 +3679,6 @@
MarshallingInfoFlag>;
def mcpu_EQ_QUESTION : Flag<["-"], "mcpu=?">, Alias;
def mtune_EQ_QUESTION : Flag<["-"], "mtune=?">, Alias;
-def gcc_toolchain : Joined<["--"], "gcc-toolchain=">, Flags<[NoXarchOption]>,
- HelpText<"Use the gcc toolchain at the given directory">;
def time : Flag<["-"], "time">,
HelpText<"Time individual commands">;
def traditional_cpp : Flag<["-", "--"], "traditional-cpp">, Flags<[CC1Option]>,