[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2023-07-21 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |8.0

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-05-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #21 from Richard Biener --- *** Bug 85862 has been marked as a duplicate of this bug. ***

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-05-10 Thread matthew.weber at rockwellcollins dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 Matt Weber changed: What|Removed |Added CC||matthew.weber@rockwellcolli

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-05-09 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #19 from rguenther at suse dot de --- On Wed, 9 May 2018, romain.naour at gmail dot com wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 > > Romain Naour changed: > >What|Removed

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-05-09 Thread romain.naour at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 Romain Naour changed: What|Removed |Added CC||romain.naour at gmail dot com ---

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-30 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #17 from Richard Biener --- (In reply to romain.naour from comment #16) > Hi, > > gcc 7.3.0 is affected by this bug but only on microblaze architecture, see > [1]. > Do you plan to backport this patch on gcc 7.x? > It is safe to do

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-30 Thread romain.naour at smile dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #16 from romain.naour at smile dot fr --- Hi, gcc 7.3.0 is affected by this bug but only on microblaze architecture, see [1]. Do you plan to backport this patch on gcc 7.x? It is safe to do so without take the risk to break something

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work|

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #14 from Richard Biener --- Author: rguenth Date: Fri Apr 6 08:30:52 2018 New Revision: 259166 URL: https://gcc.gnu.org/viewcvs?rev=259166=gcc=rev Log: 2018-04-06 Richard Biener PR middle-end/85180

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-05 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #13 from Richard Biener --- Created attachment 43851 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43851=edit other alternative Like this. 11.00user 0.01system 0:11.01elapsed 99%CPU (0avgtext+0avgdata 43204maxresident)k

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-05 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #12 from Jakub Jelinek --- True, but might eat more compile time memory. Further, the question stands, is what find_base_term returns for a particular VALUE cacheable for the whole duration between cselib_init and cselib_finish in

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-05 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #11 from Richard Biener --- So it looks like caching in cselib_val->rtx and unwinding that via a stack might be the fastest variant (if we care)?

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-05 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #10 from Richard Biener --- Created attachment 43850 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43850=edit alternative patch The most simple hash_map variant is the attached. Comparing (-O0 optimized cc1) compile-time for

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-05 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #9 from rguenther at suse dot de --- On Thu, 5 Apr 2018, jakub at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 > > --- Comment #8 from Jakub Jelinek --- > If find_base_term always returned whatever

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-05 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #8 from Jakub Jelinek --- If find_base_term always returned whatever first returned non-NULL up to the ultimate caller, then I think the above would work fine. Sadly, that is the case only in most of the spots, not all of them. The

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-05 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #7 from Richard Biener --- Created attachment 43849 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43849=edit patch Patch I am testing.

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-05 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #6 from Richard Biener --- (In reply to Jakub Jelinek from comment #4) > Actually, find_base_value is probably ok, it doesn't handle VALUEs and for > PLUS/MINUS it just guesses one operand on which to recurse, rather than both.

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-04 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #5 from Jakub Jelinek --- Another testcase running into this. char *bar (void); __INTPTR_TYPE__ baz (void); void foo (__INTPTR_TYPE__ *q) { char *p = bar (); __INTPTR_TYPE__ a = baz (); __INTPTR_TYPE__ b = baz (); int i =

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-04 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #4 from Jakub Jelinek --- Actually, find_base_value is probably ok, it doesn't handle VALUEs and for PLUS/MINUS it just guesses one operand on which to recurse, rather than both. Another possibility is to add some counter and count

[Bug rtl-optimization/85180] Infinite loop in RTL DSE optimizer

2018-04-04 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 --- Comment #3 from Jakub Jelinek --- Simplified testcase: struct words { #define V(n) short word_##n; #define W(n) V(n) #define X(n) W(n##0) W(n##1) W(n##2) W(n##3) W(n##4) W(n##5) W(n##6) W(n##7) W(n##8) W(n##9) #define Y X(0) X(1) X(2) X(3)

[Bug rtl-optimization/85180] Infinite (?) loop in RTL DSE optimizer

2018-04-04 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 Richard Biener changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment

[Bug rtl-optimization/85180] Infinite (?) loop in RTL DSE optimizer

2018-04-04 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 Richard Biener changed: What|Removed |Added Keywords||compile-time-hog