[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-03 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 --- Comment #19 from Andrew Pinski --- (In reply to Andrew Pinski from comment #18) > Created attachment 55250 [details] > This patch also fixes the issue by looking back > > Here is a patch which does the lookback if the reg is a hard register

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-03 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 --- Comment #18 from Andrew Pinski --- Created attachment 55250 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55250&action=edit This patch also fixes the issue by looking back Here is a patch which does the lookback if the reg is a hard r

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-03 Thread olegendo at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 --- Comment #17 from Oleg Endo --- (In reply to Andrew Pinski from comment #16) > Now I am curious if T_REG should be BImode rather than SImode ... Then > ifcvt.cc would not have to be modified. I Know BImode is newer than when sh > target was ad

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-03 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 --- Comment #16 from Andrew Pinski --- Now I am curious if T_REG should be BImode rather than SImode ... Then ifcvt.cc would not have to be modified. I Know BImode is newer than when sh target was added but maybe if someone cares about the sh tar

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-03 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 --- Comment #15 from Andrew Pinski --- I was thinking of improving this is modify noce_get_condition here (we still need the previous patch just in case we still get the T register). Right now noce_get_condition will stop at: (eq (reg:SI 147 t)

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-03 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 --- Comment #14 from Andrew Pinski --- (In reply to Oleg Endo from comment #13) > (In reply to Andrew Pinski from comment #12) > > Created attachment 55239 [details] > > Patch which does work on this > > > > Though, I need to double to make sure

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-03 Thread olegendo at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 --- Comment #13 from Oleg Endo --- (In reply to Andrew Pinski from comment #12) > Created attachment 55239 [details] > Patch which does work on this > > Though, I need to double to make sure it works for other cases still. > sh is the case where

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-02 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 Andrew Pinski changed: What|Removed |Added Attachment #55237|0 |1 is obsolete|

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-02 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 --- Comment #11 from Andrew Pinski --- (In reply to Andrew Pinski from comment #9) > The reason why r6-3654-g6b7e867187889 didn't fix this case is because it was > not looking into clobbers only the set side. > > Note the conditional in my patc

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-01 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 Andrew Pinski changed: What|Removed |Added Last reconfirmed|2013-10-05 00:00:00 |2023-6-1 --- Comment #10 from Andrew Pin

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-01 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 --- Comment #9 from Andrew Pinski --- The reason why r6-3654-g6b7e867187889 didn't fix this case is because it was not looking into clobbers only the set side. Note the conditional in my patch should have been if (reg_overlap_mentioned_p (DF_RE

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2023-06-01 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 --- Comment #8 from Andrew Pinski --- Created attachment 55237 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55237&action=edit Patch which I think will fix this This is option 1 of comment #3 though with an updated version. I have not tes

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2015-09-11 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 --- Comment #7 from Oleg Endo --- (In reply to ktkachov from comment #6) > Huh, I wasn't aware of this BZ. > This looks eerily similar to what I think is the root cause of PR 67481, > which I'm working on now. > > After I'm done with PR 67481 it

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2015-09-11 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 ktkachov at gcc dot gnu.org changed: What|Removed |Added CC||ktkachov at gcc dot gnu.org

[Bug rtl-optimization/58517] ifcvt (after combine) puts ccreg clobbering insn between ccset insn and ccreg use

2015-09-11 Thread olegendo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517 Oleg Endo changed: What|Removed |Added CC||kyrylo.tkachov at arm dot com --- Comment #5