diff --git a/docs/CommandGuide/llvmc.pod b/docs/CommandGuide/llvmc.pod
index 51f436e3b49..735a30cb823 100644
--- a/docs/CommandGuide/llvmc.pod
+++ b/docs/CommandGuide/llvmc.pod
@@ -272,16 +272,19 @@ it to the standard error.
=over
+=item B<-T,pp>=I
-=item B<-Tool,opt>=I
+Pass an arbitrary option to the pre-processor.
+
+=item B<-T,opt>=I
Pass an arbitrary option to the optimizer.
-=item B<-Tool,link>=I
+=item B<-T,link>=I
Pass an arbitrary option to the linker.
-=item B<-Tool,asm>=I
+=item B<-T,asm>=I
Pass an arbitrary option to the code generator.
@@ -507,11 +510,97 @@ viable options:
=over
=item XML
+
=item Windows .ini
+
=item specific to B
=back
+=head2 Master Configuration Items
+
+=head3 Section: [lang=I]
+
+This section provides the master configuration data for a given language. The
+language specific data will be found in a file named I.
+
+=over
+
+=item CI
+
+This adds the I specified to the list of recognized suffixes for
+the I identified in the section. As many suffixes as are commonly used
+for source files for the I should be specified.
+
+=back
+
+=begin html
+
+For example, the following might appear for C++:
+
+[lang=C++]
+suffix=.cpp
+suffix=.cxx
+suffix=.C
+
+
+=end html
+
+=head2 Language Specific Configuration Items
+
+=head3 Section: [general]
+
+=over
+
+=item C
+
+This item specifies whether the language has a pre-processing phase or not. This
+controls whether the B<-E> option works for the language or not.
+
+=item C