Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 362780 Details for
Bug 490734
sys-devel/gcc-4.7.2-r1 another patch for FreeMiNT
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
GCC bug patch pr52714
pr52714.patch (text/plain), 2.52 KB, created by
Alan Hourihane
on 2013-11-08 08:20:14 UTC
(
hide
)
Description:
GCC bug patch pr52714
Filename:
MIME Type:
Creator:
Alan Hourihane
Created:
2013-11-08 08:20:14 UTC
Size:
2.52 KB
patch
obsolete
>[proposed but not yet submitted fix for PR52714 on M68K <mikpe@it.uu.se>] > >gcc/ > >2012-12-30 Mikael Pettersson <mikpe@it.uu.se> > > PR rtl-optimization/52714 > * combine.c (try_combine): Revert to gcc-4.5 version > of PR rtl-optimization/45695 fix. > >--- gcc-4.6.3/gcc/combine.c.~1~ 2012-02-09 18:29:38.000000000 +0100 >+++ gcc-4.6.3/gcc/combine.c 2012-12-30 16:14:06.000000000 +0100 >@@ -3765,41 +3765,42 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx > && GET_CODE (XVECEXP (newpat, 0, 1)) == SET > && GET_CODE (SET_DEST (XVECEXP (newpat, 0, 1))) != ZERO_EXTRACT > && GET_CODE (SET_DEST (XVECEXP (newpat, 0, 1))) != STRICT_LOW_PART >+ && ! use_crosses_set_p (SET_SRC (XVECEXP (newpat, 0, 1)), >+ DF_INSN_LUID (i2)) > && ! reg_referenced_p (SET_DEST (XVECEXP (newpat, 0, 1)), > XVECEXP (newpat, 0, 0)) > && ! reg_referenced_p (SET_DEST (XVECEXP (newpat, 0, 0)), > XVECEXP (newpat, 0, 1)) > && ! (contains_muldiv (SET_SRC (XVECEXP (newpat, 0, 0))) >- && contains_muldiv (SET_SRC (XVECEXP (newpat, 0, 1))))) >+ && contains_muldiv (SET_SRC (XVECEXP (newpat, 0, 1)))) >+#ifdef HAVE_cc0 >+ /* We cannot split the parallel into two sets if both sets >+ reference cc0. */ >+ && ! (reg_referenced_p (cc0_rtx, XVECEXP (newpat, 0, 0)) >+ && reg_referenced_p (cc0_rtx, XVECEXP (newpat, 0, 1))) >+#endif >+ ) > { > /* Normally, it doesn't matter which of the two is done first, >- but the one that references cc0 can't be the second, and >- one which uses any regs/memory set in between i2 and i3 can't >+ but it does if one references cc0. In that case, it has to > be first. */ >- if (!use_crosses_set_p (SET_SRC (XVECEXP (newpat, 0, 1)), >- DF_INSN_LUID (i2)) >-#ifdef HAVE_cc0 >- && !reg_referenced_p (cc0_rtx, XVECEXP (newpat, 0, 0)) >-#endif >- ) >- { >- newi2pat = XVECEXP (newpat, 0, 1); >- newpat = XVECEXP (newpat, 0, 0); >- } >- else if (!use_crosses_set_p (SET_SRC (XVECEXP (newpat, 0, 0)), >- DF_INSN_LUID (i2)) > #ifdef HAVE_cc0 >- && !reg_referenced_p (cc0_rtx, XVECEXP (newpat, 0, 1)) >-#endif >- ) >+ if (reg_referenced_p (cc0_rtx, XVECEXP (newpat, 0, 0))) > { >+ if (use_crosses_set_p (SET_SRC (XVECEXP (newpat, 0, 0)), >+ DF_INSN_LUID (i2))) >+ { >+ undo_all (); >+ return 0; >+ } > newi2pat = XVECEXP (newpat, 0, 0); > newpat = XVECEXP (newpat, 0, 1); > } > else >+#endif > { >- undo_all (); >- return 0; >+ newi2pat = XVECEXP (newpat, 0, 1); >+ newpat = XVECEXP (newpat, 0, 0); > } > > i2_code_number = recog_for_combine (&newi2pat, i2, &new_i2_notes);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 490734
: 362780