Use ArrayRef to simplify some code.
clang-format: text following #if is likely an expression.

Before:
  #if AAAA &&BBBB

After:
  #if AAAA && BBBB
Fix libstdc++4.7 test on Android.
[asan] relax the checks inside __sanitizer_annotate_contiguous_container: they are too optimistic due to https://code.google.com/p/address-sanitizer/issues/detail?id=258.
Checked return warning from coverity
MIPS: mark intrinsics IntrNoMem so all patterns using them are consistent.

This is apparently a bit of a white lie (they can affect DSPControl for
overflow etc) but similar to how we currently handle floating-point operations.
When it becomes relevant the whole lot can be reviewed properly.
[mips][sched] Split IIslt into II_SLT_SLTU, II_SLTI_SLTIU

No functional change since the InstrItinData's have been duplicated.
[mips][sched] Split IIFcvt into II_(ROUND|TRUNC|CEIL|FLOOR|CVT), II_ABS, II_NEG

No functional change since the InstrItinData's have been duplicated.
[asan] one more test for https://code.google.com/p/address-sanitizer/issues/detail?id=258
[Sanitizer] Support %.*s in internal printf implementation. Patch by Yuri Gribov.
[asan] Enable frame pointer based unwinder on ARM.

This code works with AAPCS-style {fp, lr} frames. Unlike linux perf, it does
not unwind through code compiled with -mapcs-frame (which Clang does not
support anyway).
[mips][sched] Split IIFmove into II_C[FT]C1, II_MOV[FNTZ]_[SD], II_MOV_[SD]

No functional change since the InstrItinData's have been duplicated.
[mips][sched] Split IIFcmp into II_C_CC_[SD]

No functional change since the InstrItinData's have been duplicated.
Sanitize printf functions.

Intercept and sanitize arguments passed to printf functions in ASan and TSan
(don't do this in MSan for now). The checks are controlled by runtime flag
(off by default for now).

Patch http://llvm-reviews.chandlerc.com/D2480 by Yuri Gribov!
Fix unused function warning from r199729
Macho-embedded: update build script for newer Clang behaviour.

Clang now uses the *-apple-macho triples for embedded targets using MachO. The
environment makes less pretences to be running an actual Mach kernel with all
the support that would imply, so a few changes are needed to the build scripts:

+ The Apple way of detecting endianness applies in all cases so drop the
  __MACH__ test.
+ A quick rename since "darwin_embedded" no longer makes any sense. If there's
  no Mach going on, there's certainly no Darwin.
+ Change how we test for support for a platform. The functions we build don't
  need any SDK support (stdio.h, ...) so we don't need to check for it.
[mips][sched] Split IIFadd into II_ADD_[DS], II_SUB_[DS]

No functional change since the InstrItinData's have been duplicated.
Macho-embedded: rename compiler-rt support from Darwin-embedded

There's nothing Darwin-based in the files or target now, so the previous name
is now misleading.
[mips][sched] Split IIFmulSingle into II_MUL_S, II_MADD_S, II_MSUB_S, II_NMADD_S, and II_NMSUB_S

No functional change since the InstrItinData's have been duplicated.
[Sanitizer] Update file names now that we intercept both scanf and printf