Update LLVM for ARM changes
rustllvm: followup latest LLVM
rust morestack assembly for arm

Conflicts:
	src/rt/arch/arm/morestack.S
FIX meta_section_name for macos
rustllvm: Initialize target analysis passes

Without this the target info for certain optimizations will not be
created and the compiler will sometimes crash
add unwind information on morestack
xail all debuginfo tests

The broke with the LLVM upgrade
libsyntax: abstract most of the deriving boilerplate into a simpler(r) interface.

Pulls out many of the common patterns from the Eq and Clone deriving code (and
invents a few of its own), so that deriving instances are very easy to write
for a certain class of traits. (Basically, those which don't have parameters
and where all methods only take arguments of type `&Self` and return either
`Self` or types with no parameters.)
libcore: combine cmp::Ordering instances in lexical order.
libsyntax: derive Clone, Eq, TotalEq, Ord, TotalOrd with the new generic deriving code.

Closes #4269, #5588 and #5589.
testsuite: add test for derived Eq, TotalEq, Ord, TotalOrd.
libsyntax: short-circuit on non-matching variants in deriving code.

Allow a deriving instance using the generic code to short-circuit for
any non-matching enum variants (grouping them all into a _ match),
reducing the number of arms required. Use this to speed up the Eq &
TotalEq implementations.
libsyntax: make generic deriving compile