This commit is contained in:
Jakub Jelinek 2013-12-11 20:14:32 +01:00
parent 6809951262
commit 78dc96aa1e
2 changed files with 40 additions and 1 deletions

View File

@ -3,7 +3,7 @@
%global gcc_version 4.8.2
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
%global gcc_release 5
%global gcc_release 6
%global _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@ -196,6 +196,7 @@ Patch12: gcc48-no-add-needed.patch
Patch13: gcc48-pr56564.patch
Patch14: gcc48-pr56493.patch
Patch15: gcc48-color-auto.patch
Patch16: gcc48-pr58956-revert.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@ -755,6 +756,7 @@ package or when debugging this package.
%if 0%{?fedora} >= 20 || 0%{?rhel} >= 7
%patch15 -p0 -b .color-auto~
%endif
%patch16 -p0 -b .pr58956-revert~
%if 0%{?_enable_debug_packages}
cat > split-debuginfo.sh <<\EOF
@ -3021,6 +3023,10 @@ fi
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
%changelog
* Wed Dec 11 2013 Jakub Jelinek <jakub@redhat.com> 4.8.2-6
- temporarily revert PR middle-end/58956 to avoid libstdc++
miscompilation on i?86 (PR middle-end/59470)
* Mon Dec 9 2013 Jakub Jelinek <jakub@redhat.com> 4.8.2-5
- update from the 4.8 branch
- PRs ada/59382, bootstrap/57683, c++/58162, c++/59031, c++/59032,

View File

@ -0,0 +1,33 @@
Temporarily revert:
2013-12-05 Richard Biener <rguenther@suse.de>
Backport from mainline
2013-11-19 Richard Biener <rguenther@suse.de>
PR middle-end/58956
* tree-ssa-ter.c (find_replaceable_in_bb): Avoid forwarding
loads into stmts that may clobber it.
--- gcc/tree-ssa-ter.c (revision 205709)
+++ gcc/tree-ssa-ter.c (revision 205708)
@@ -643,7 +643,8 @@ find_replaceable_in_bb (temp_expr_table_
/* If the stmt does a memory store and the replacement
is a load aliasing it avoid creating overlapping
assignments which we cannot expand correctly. */
- if (gimple_vdef (stmt))
+ if (gimple_vdef (stmt)
+ && gimple_assign_single_p (stmt))
{
gimple def_stmt = SSA_NAME_DEF_STMT (use);
while (is_gimple_assign (def_stmt)
@@ -652,8 +653,8 @@ find_replaceable_in_bb (temp_expr_table_
= SSA_NAME_DEF_STMT (gimple_assign_rhs1 (def_stmt));
if (gimple_vuse (def_stmt)
&& gimple_assign_single_p (def_stmt)
- && stmt_may_clobber_ref_p (stmt,
- gimple_assign_rhs1 (def_stmt)))
+ && refs_may_alias_p (gimple_assign_lhs (stmt),
+ gimple_assign_rhs1 (def_stmt)))
same_root_var = true;
}