Avoid undefined checks for types that are always fully initialized
Keep track of number of initialized fields and avoid undefined checks
Use tbaa for heap-allocated immutables
Merge pull request #8867 from JuliaLang/sjk/tbaa

Use tbaa for heap-allocated immutables
Merge branch 'master' into sjk/undef
Merge branch 'sjk/undef'
Adjust the default threshold parameters for the least squares

The present tolerance is larger than necessary in the implementation
of ldiv operator which can lead to loss of accuracy. Set the default
tolerance parameter that is compatible with the conservative MATLAB estimate
for determining the numerical rank of A, i.e., tol= eps()*maximum(size(A)).

In addition, fix the implementation of the SVD based least squares,
and increase the default tolerance parameter for the Moore–Penrose
pseudoinverse which can not be determined to full machine precision
for ill-conditioned matrices.
Merge branch 'master' of github.com:JuliaLang/julia

Conflicts:
	src/codegen.cpp
Revert "Adjust the default threshold parameters for the least squares"

This reverts commit 569e9699388aadad9043b10f0730cc2859d954ca.
Fix compiler warnings
added NEWS for #8791
add doc system news item