https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
Segher Boessenkool changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #20 from Segher Boessenkool ---
Author: segher
Date: Thu Nov 9 10:23:30 2017
New Revision: 254565
URL: https://gcc.gnu.org/viewcvs?rev=254565=gcc=rev
Log:
Backport from mainline
2017-11-01 Segher Boessenkool
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #19 from Segher Boessenkool ---
Author: segher
Date: Thu Nov 9 10:21:06 2017
New Revision: 254564
URL: https://gcc.gnu.org/viewcvs?rev=254564=gcc=rev
Log:
Backport from mainline
2017-11-01 Segher Boessenkool
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #18 from Segher Boessenkool ---
Excellent, thanks for testing! I'll backport it next week.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #17 from Steve Ellcey ---
Yes, this fixed my SPEC problem.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #16 from Segher Boessenkool ---
Should be fixed on trunk now. Steve, could you see if it fixes the
SPEC problem for you?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #15 from Segher Boessenkool ---
Author: segher
Date: Wed Nov 1 16:40:42 2017
New Revision: 254315
URL: https://gcc.gnu.org/viewcvs?rev=254315=gcc=rev
Log:
combine: Fix bug in giving up placing REG_DEAD notes (PR82683)
When we have
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #14 from Steve Ellcey ---
(In reply to Segher Boessenkool from comment #13)
> I have a simpler patch. It is testing...
Can you attach your patch to this defect so I can test it as well.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
Segher Boessenkool changed:
What|Removed |Added
Status|NEW |ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #12 from Steve Ellcey ---
Created attachment 42491
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42491=edit
Patch that fixes the test case
Here is a possible patch. It fixes the test case and I am doing a bootstrap
and make
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #11 from Steve Ellcey ---
I think I see where this is going wrong but I don't know what to do about it.
In try_combine, line 3288 we have i2 and i3 of:
(insn 18 16 19 3 (set (reg:DI 91)
(ashift:DI (reg:DI 83 [ _26 ])
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #10 from Segher Boessenkool ---
reg-notes.def says
/* The value in REG dies in this insn (i.e., it is not needed past
this insn). If REG is set in this insn, the REG_DEAD note may,
but need not, be omitted. */
REG_NOTE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #9 from Segher Boessenkool ---
The "failed to match" messages are hugely important (in fact, I want it
to print more: _why_ did combination fail, in all the cases where it is
not because of recog).
The "deferring deletion" messages
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #8 from Wilco ---
(In reply to Segher Boessenkool from comment #7)
> Yes, it requires to look back a bit (the info always is in this dump
> file though!)
>
> The alternative would be to dump even more info, grow the log files
> by a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #7 from Segher Boessenkool ---
Yes, it requires to look back a bit (the info always is in this dump
file though!)
The alternative would be to dump even more info, grow the log files
by a factor two or so.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #6 from Wilco ---
(In reply to Segher Boessenkool from comment #5)
> Oh, it does show the intermediate results:
>
> Trying 18 -> 19:
> Successfully matched this instruction:
> (set (reg/f:DI 78 [ _7 ])
> (plus:DI (ashift:DI
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #5 from Segher Boessenkool ---
Oh, it does show the intermediate results:
Trying 18 -> 19:
Successfully matched this instruction:
(set (reg/f:DI 78 [ _7 ])
(plus:DI (ashift:DI (reg:DI 83 [ _26 ])
(const_int 2 [0x2]))
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #4 from Wilco ---
(In reply to Segher Boessenkool from comment #3)
> Ah. So we start with
>
> insn_cost 4 for18: r91:DI=r83:DI<<0x2
> REG_DEAD r83:DI
> insn_cost 4 for19: r78:DI=r76:DI+r91:DI
> REG_DEAD r91:DI
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #3 from Segher Boessenkool ---
Ah. So we start with
insn_cost 4 for18: r91:DI=r83:DI<<0x2
REG_DEAD r83:DI
insn_cost 4 for19: r78:DI=r76:DI+r91:DI
REG_DEAD r91:DI
REG_DEAD r76:DI
insn_cost 20 for20:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #2 from Segher Boessenkool ---
At the start of combine you have
insn_cost 4 for18: r91:DI=r83:DI<<0x2
REG_DEAD r83:DI
Is that death note not correct?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
Wilco changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
21 matches
Mail list logo