GCC: Upgrade GCC (merge from google/4_9 branch + cherry-picks)
Backport r226487 from GCC FSF mainline:
r226487 | rguenth | 2015-08-03 00:13:36 -0700 (Mon, 03 Aug 2015)
2015-08-03 Richard Biener <rguenther@suse.de>
PR tree-optimization/66917
* tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
field.
(DR_VECT_AUX): New macro.
(set_dr_misalignment): Adjust.
(dr_misalignment): Likewise.
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
Compute whether the base is at least element aligned.
* tree-vect-stmts.c (ensure_base_align): Adjust.
(vectorizable_store): If the base is not element aligned
preserve alignment of the original access if misalignment is unknown.
(vectorizable_load): Likewise.
------------------------------------------------------------------------
Backport r223811 from gcc-5-branch:
PR libstdc++/66017
* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
(_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
from _Base_ptr.
(_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
(_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
* include/ext/aligned_buffer.h (__aligned_membuf): New type using
alignment of _Tp as a member subobject, not as a complete object.
* python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
_Link_type manually as it might not be in the debug info.
------------------------------------------------------------------------
Merge google/gcc-4_9 (220271:227810] into google/gcc-4_9-mobile branch.
BUG=chromium:532101
chromium:530369
TEST=Done GCC bootstrapping & regression test, plus building ChromeOS
images & testing them on various boards, for x86, x86_64 and arm;
also built arm64-generic ChromeOS image.
Change-Id: If2690af965c6be7254f1c49a73cfae7161569ba8
Reviewed-on: https://chromium-review.googlesource.com/302402
Commit-Ready: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Han Shen <shenhan@chromium.org>
340 files changed