[Core] Properly stop the ThreadPoolExecutor and use the ConcRT memory allocator.
[ELF] Initialize readers and writers on creation.

This makes the target handler a constructor argument because the constructor of
OutputELFWriter relies on it being initialized.
Making it possible to specify a substring for a category name as long as the match is unique
[analyzer; alternate arrows] provide a diagnostic for entering a loop for the first time.
C++ status:
 - fix paper links to point to isocpp.org, where most of the papers are already up
 - update "SVN" features to "Clang 3.3" to distinguish them from features which we
   complete after the branch
 - document use of -std=c++1y to enable c++1y support
C++1y: an assignment operator is implicitly 'constexpr' if it would only call 'constexpr' assignment operators for a literal class type.
Have SourceManager::getLocForEndOfFile() point at the "EOF" location of the FileID.

This fixes a crash due to SourceManager::getLocForEndOfFile() returning an off-by-one location
when the the FileID is for an empty file.

rdar://13803893
LoopVectorize: getConsecutiveVector must respect signed arithmetic

We were passing an i32 to ConstantInt::get where an i64 was needed and we must
also pass the sign if we pass negatives numbers. The start index passed to
getConsecutiveVector must also be signed.

Should fix PR15882.
C++1y constant expression evaluation: support for compound assignments on integers.
[lld][ELF] split ELF reader into multiple functions for readability (no change in functionality)
Weaken an assertion in memcpyization to account for
unnamed bitfields.

Unnamed bitfields won't have an explicit copy operation
in the AST, which breaks the strong form of the invariant.

rdar://13816940
Correct logical shift documentation
[analyzer; alternate arrows] use the terminator condition as the location for 'entering loop body'
[analyzer; alternate edges] simplify optimization rules to look at control-flow conditions to prune edges.
cmake: Add target to reformat with clang-format

Calling 'make polly-update-format' will format all Polly files with
clang-format.
Reformat with clang-format

clang-format become way more stable. This time we mainly reformat function
signatures.
Move polly options into separate option category

Use the new cl::OptionCategory support to move the Polly options into a separate
option category. The aim is to hide most options and show by default only the
options a user needs to influence '-O3 -polly'. The available options probably
need some care, but here is the current status:

Polly Options:
Configure the polly loop optimizer

  -enable-polly-openmp              - Generate OpenMP parallel code
  -polly                            - Enable the polly optimizer (only at -O3)
  -polly-no-tiling                  - Disable tiling in the scheduler
  -polly-only-func=<function-name>  - Only run on a single function
  -polly-report                     - Print information about the activities
                                      of Polly
  -polly-vectorizer                 - Select the vectorization strategy
    =none                           -   No Vectorization
    =polly                          -   Polly internal vectorizer
    =unroll-only                    -   Only grouped unroll the vectorize
                                        candidate loops
    =bb                             -   The Basic Block vectorizer driven by
                                        Polly
Fix the VS2010 build broken by r181271
Sort includes
Fix clang-format emacs integration in last line.

Emacs seems to have a line that is just past the last character of the
buffers content. This needs to be handled specially so that clang-format
is not called with an invalid -offset.