compiletest: Add #[no_core] to fix check-stage1.
librustc: drop AST before running LLVM, frees 400mb on a librustc build
use the type's alignment for generated memsets
Move checking for moves and initialization of local variables and patterns into
borrow checker and generalize what moves are allowed. Fixes a nasty
bug or two in the pattern move checking code. Unifies dataflow code
used for initialization and other things. First step towards
once fns. Everybody wins.

Fixes #4384. Fixes #4715. cc once fns (#2202), optimizing local moves (#5016).
Update docs on the formal basis of the borrow checker.
Reconcile docs and code, adding examples and adding RESTR_CLAIM
Reconcile treatment of &mut with the docs
Update documentation for moves
Generalized implementation of FromBase64

Previously, FromBase64 was only implemented on ~[u8] and ~str when
any pointer would do. The implementations of FromBase64 are now
consistent with the implementations of ToBase64.
Define rustc's host triple at compile time

This way a cross-compiled rustc's answer to host_triple() is correct. The return
value of host_triple() reflects the actual host triple that the compiler was
build for, not the triple the compiler is being built on
Un-ignore rusti/rustpkg tests on i686
auto merge of #6784 : nikomatsakis/rust/moves-into-borrowck, r=pcwalton

Move the computation of what data is moved out of `liveness` and into `borrowck`. The resulting code is cleaner, since before we had a split distribution of responsibilities, and also this avoids having multiple implementations of the dataflow code. Liveness is still used to report warnings about useless writes. This will go away when we get the control-flow graph code landed (working on that).

Also adds borrow checker documentation.

Fixes #4384.
Required to support once fns and to properly fix closures (#2202).
First step to generalize our treatment of moves somewhat as well.
Fix vec::mut_slice
auto merge of #6789 : luqmana/rust/compiletest-fix, r=thestinger

Can be removed after a snapshot I believe.
auto merge of #6793 : graydon/rust/drop-ast-before-llvm, r=Aatch
Further refactor optimization pass handling

This refactors pass handling to use the argument names, so it can be used
in a similar manner to `opt`. This may be slightly less efficient than the
previous version, but it is much easier to maintain.

It also adds in the ability to specify a custom pipeline on the command
line, this overrides the normal passes, however. This should completely
close #2396.
auto merge of #6794 : thestinger/rust/align_zero, r=pcwalton

This is unlikely to alter optimized codegen much but there's no point in downgrading the known alignment to 1.
auto merge of #6796 : sfackler/rust/FromBase64-type-fix, r=bstrie

Previously, FromBase64 was only implemented on ~[u8] and ~str when
any pointer would do. The implementations of FromBase64 are now
consistent with the implementations of ToBase64.
Replaced calls to external fmin/fmax by a Rust implementation.
auto merge of #6800 : june0cho/rust/issue5984, r=pcwalton

Fix #5984.
Resolve the problem which exists in #6780.