Index: docs/Bugpoint.rst =================================================================== --- docs/Bugpoint.rst +++ docs/Bugpoint.rst @@ -208,7 +208,7 @@ interact may require isolating more than one call. In TargetLowering, use ``return SDNode();`` instead of ``return false;``. -Now that that the number of transformations is down to a manageable number, try +Now that the number of transformations is down to a manageable number, try examining the output to see if you can figure out which transformations are being done. If that can be figured out, then do the usual debugging. If which code corresponds to the transformation being performed isn't obvious, set a Index: docs/LangRef.rst =================================================================== --- docs/LangRef.rst +++ docs/LangRef.rst @@ -3370,7 +3370,7 @@ ``noalias`` metadata can specifically be specified not to alias with some other collection of memory access instructions that carry ``alias.scope`` metadata. Each type of metadata specifies a list of scopes where each scope has an id and -a domain. When evaluating an aliasing query, if for some some domain, the set +a domain. When evaluating an aliasing query, if for some domain, the set of scopes with that domain in one instruction's ``alias.scope`` list is a subset of (or equal to) the set of scopes for that domain in another instruction's ``noalias`` list, then the two memory accesses are assumed not to @@ -6577,7 +6577,7 @@ """""""""" The '``ptrtoint``' instruction takes a ``value`` to cast, which must be -a a value of type :ref:`pointer ` or a vector of pointers, and a +a value of type :ref:`pointer ` or a vector of pointers, and a type to cast it to ``ty2``, which must be an :ref:`integer ` or a vector of integers type. Index: docs/ProgrammersManual.rst =================================================================== --- docs/ProgrammersManual.rst +++ docs/ProgrammersManual.rst @@ -940,7 +940,7 @@ LLVM adds a few new options to choose from. Pick the first option on this list that will do what you need, they are ordered according to their relative cost. -Note that is is generally preferred to *not* pass strings around as ``const +Note that it is generally preferred to *not* pass strings around as ``const char*``'s. These have a number of problems, including the fact that they cannot represent embedded nul ("\0") characters, and do not have a length available efficiently. The general replacement for '``const char*``' is @@ -2635,7 +2635,7 @@ Subclass of SequentialType for vector types. A vector type is similar to an ArrayType but is distinguished because it is a first class type whereas ArrayType is not. Vector types are used for vector operations and are usually - small vectors of of an integer or floating point type. + small vectors of an integer or floating point type. ``StructType`` Subclass of DerivedTypes for struct types. Index: docs/Vectorizers.rst =================================================================== --- docs/Vectorizers.rst +++ docs/Vectorizers.rst @@ -366,7 +366,7 @@ Performance ----------- -This section shows the the execution time of Clang on a simple benchmark: +This section shows the execution time of Clang on a simple benchmark: `gcc-loops `_. This benchmarks is a collection of loops from the GCC autovectorization `page `_ by Dorit Nuzman. Index: docs/YamlIO.rst =================================================================== --- docs/YamlIO.rst +++ docs/YamlIO.rst @@ -332,7 +332,7 @@ } }; -When reading YAML, if the string found does not match any of the the strings +When reading YAML, if the string found does not match any of the strings specified by enumCase() methods, an error is automatically generated. When writing YAML, if the value being written does not match any of the values specified by the enumCase() methods, a runtime assertion is triggered. @@ -767,7 +767,7 @@ }; With the above, if you used MyList as the data type in your native data -structures, then then when converted to YAML, a flow sequence of integers +structures, then when converted to YAML, a flow sequence of integers will be used (e.g. [ 10, -3, 4 ]). Index: docs/tutorial/LangImpl5.rst =================================================================== --- docs/tutorial/LangImpl5.rst +++ docs/tutorial/LangImpl5.rst @@ -254,7 +254,7 @@ we'll talk about #1 in depth. For now, just believe me that you don't need SSA construction to handle this case. For #2, you have the choice of using the techniques that we will describe for #1, or you can insert -Phi nodes directly, if convenient. In this case, it is really really +Phi nodes directly, if convenient. In this case, it is really easy to generate the Phi node, so we choose to do it directly. Okay, enough of the motivation and overview, lets generate code! Index: docs/tutorial/LangImpl7.rst =================================================================== --- docs/tutorial/LangImpl7.rst +++ docs/tutorial/LangImpl7.rst @@ -632,7 +632,7 @@ User-defined Local Variables ============================ -Adding var/in is just like any other other extensions we made to +Adding var/in is just like any other extension we made to Kaleidoscope: we extend the lexer, the parser, the AST and the code generator. The first step for adding our new 'var/in' construct is to extend the lexer. As before, this is pretty trivial, the code looks like Index: include/llvm/Support/Options.h =================================================================== --- include/llvm/Support/Options.h +++ include/llvm/Support/Options.h @@ -61,7 +61,7 @@ /// The OptionRegistry is responsible for managing lifetimes of the options and /// provides interfaces for option registration and reading values from options. /// This object is a singleton, only one instance should ever exist so that all -/// options are registered in teh same place. +/// options are registered in the same place. class OptionRegistry { private: DenseMap Options; Index: lib/Target/PowerPC/README_ALTIVEC.txt =================================================================== --- lib/Target/PowerPC/README_ALTIVEC.txt +++ lib/Target/PowerPC/README_ALTIVEC.txt @@ -277,7 +277,7 @@ This will almost certainly cause a load-hit-store hazard. Since val is a value parameter, it should not need to be saved onto the stack, unless it's being done set up the vector register. Instead, -it would be better to splat teh value into a vector register, and then +it would be better to splat the value into a vector register, and then remove the (dead) stores to the stack. //===----------------------------------------------------------------------===//