clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp: Relax an expression for -Asserts.
Add Kalimba support to ArchSpec.

See http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140630/011508.html
for more details.

Change by Matthew Gardiner.
Make XCoreSelectionDAGInfo take a DataLayout since it only needs
that information.
Move the subtarget dependent features from XCoreTargetMachine
down to the subtarget.
Remove the recommendation against using std::function

Clang-cl supports MSVC-style RTTI now, and we can even compile
typeid(...) with /GR-.  Just don't instantiate std::function with a
polymorphic type, or bad things will happen.
Remove the cached InstrItineraryData on the TargetMachine, it's unnecessary.
Remove unnecessary include.
Move MipsJITInfo to the subtarget rather than the target machine.
Unify these two lines.
Break out subtarget initialization that dependent variables need into
a separate function and clean up calling convention for helper function.
Introduce a FunctionDecl::getReturnTypeSourceRange() utility

This source range is useful for all kinds of diagnostic QOI and refactoring
work, so let's make it more discoverable.

This commit also makes use of the new function to enhance various diagnostics
relating to return types and resolves an old FIXME.
[x86] Clean up and modernize the doxygen and API comments for the vector
operation legalization code.
[OPENMP] Fixed error message reporting for nesting of regions
[cleanup] Nuke the 'VectorOp' bit of the promote method names.

This doesn't add any information for methods in the VectorLegalizer
class that clearly take SDAG operations to legalize.
[cleanup] Hoist the promotion dispatch logic into the promote function
so that we can use return to express it more cleanly and avoid so many
nested switch statements.
[cleanup] Remove dead 'break;' statements that I meant to nuke in
r212158 but missed.

Thanks to Craig for spotting the goof!
Prevent Clang from crashing on template code.

Fixes PR20110, where Clang hits an assertion failure when it expects that the
sub-expression of a bit cast to pointer to also be a pointer, but gets a value
instead.

Differential Revision: http://reviews.llvm.org/D4280
aarch64: support target-specific .req assembler directive

Based on the support for .req on ARM. The aarch64 variant has to keep track if
the alias register was a vector register (v0-31) or a general purpose or
VFP/Advanced SIMD ([bhsdq]0-31) register.

Patch by Janne Grunau!
[OPENMP, C++11] Improve code of InitVLACaptures function.
Add range for-loop iterator adapter for cases in SwitchInst.

Patch by Marcello Maggioni, reviewed by Reid Kleckner.