Merge branch 'master' into f21

This commit is contained in:
Dan Horák 2014-07-25 14:00:48 +02:00
commit c1037e4cad
2 changed files with 47 additions and 1 deletions

View File

@ -79,7 +79,7 @@
Summary: Various compilers (C, C++, Objective-C, Java, ...)
Name: gcc
Version: %{gcc_version}
Release: %{gcc_release}%{?dist}
Release: %{gcc_release}%{?dist}.1
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
# GCC Runtime Exception.
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
@ -199,6 +199,9 @@ Patch16: gcc49-libgo-p224.patch
Patch17: gcc49-aarch64-async-unw-tables.patch
Patch18: gcc49-aarch64-GNU_STACK.patch
# backport from trunk
Patch100: gcc49-rh1117799.patch
Patch1100: cloog-%{cloog_version}-ppc64le-config.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
@ -726,6 +729,7 @@ package or when debugging this package.
rm -f libgo/go/crypto/elliptic/p224{,_test}.go
%patch17 -p0 -b .aarch64-async-unw-tables~
%patch18 -p0 -b .aarch64-GNU_STACK~
%patch100 -p1 -b .rh1117799~
%if 0%{?_enable_debug_packages}
cat > split-debuginfo.sh <<\EOF
@ -2798,6 +2802,9 @@ fi
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
%changelog
* Thu Jul 24 2014 Dan Horák <dan[at]danny.cz> 4.9.1-2.1
- update from trunk with fix for #1117799
* Thu Jul 17 2014 Jakub Jelinek <jakub@redhat.com> 4.9.1-2
- update from the 4.9 branch
- PRs c-family/61741, rtl-optimization/61801, target/61737,

39
gcc49-rh1117799.patch Normal file
View File

@ -0,0 +1,39 @@
commit ef76edc2e27e49e7e148894948c8dda394b796c1
Author: vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri Jul 11 17:19:53 2014 +0000
2014-07-11 Vladimir Makarov <vmakarov@redhat.com>
* lra-constraints.c (remove_inheritance_pseudos): Process
destination pseudo too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212464 138bc75d-0d04-0410-961f-82ee72b054a4
* gcov-tool.c (gcov_output_files): Fix build error introduced in
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index baed7e7..a43f8dc 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -5697,6 +5697,20 @@ remove_inheritance_pseudos (bitmap remove_pseudos)
SUBREG_REG (SET_SRC (set)) = SET_SRC (prev_set);
else
SET_SRC (set) = SET_SRC (prev_set);
+ /* As we are finishing with processing the insn
+ here, check the destination too as it might
+ inheritance pseudo for another pseudo. */
+ if (bitmap_bit_p (remove_pseudos, dregno)
+ && bitmap_bit_p (&lra_inheritance_pseudos, dregno)
+ && (restore_regno
+ = lra_reg_info[dregno].restore_regno) >= 0)
+ {
+ if (GET_CODE (SET_DEST (set)) == SUBREG)
+ SUBREG_REG (SET_DEST (set))
+ = regno_reg_rtx[restore_regno];
+ else
+ SET_DEST (set) = regno_reg_rtx[restore_regno];
+ }
lra_push_insn_and_update_insn_regno_info (curr_insn);
lra_set_used_insn_alternative_by_uid
(INSN_UID (curr_insn), -1);