[Bug middle-end/46555] [4.9/5/6 Regression] PHI RTL expansion leads to CSiBE regression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46555 --- Comment #6 from Richard Biener --- The idea is to add forwarder blocks here. Of course doing this too aggressively may be bad, not sure (extra jumps instead of extra copies). Eventually the targets want some control on this.
[Bug middle-end/46555] [4.9/5/6 Regression] PHI RTL expansion leads to CSiBE regression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46555 --- Comment #5 from Andrew Pinski --- PRE does some of it via tail merge: find_duplicates: duplicate of find_duplicates: duplicate of Removing basic block 8 Removing basic block 9 Obviously if you have more complex code it won't do it. This an example where PRE does it: int h(void); int f(int a, int b, int c) { if (a) return 2; h(); if (b) return 2; h(); if (c) return 2; h(); return 4; }
[Bug middle-end/46555] [4.9/5/6 Regression] PHI RTL expansion leads to CSiBE regression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46555 Andrew Pinski changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org --- Comment #4 from Andrew Pinski --- .
[Bug middle-end/46555] [4.9/5/6 Regression] PHI RTL expansion leads to CSiBE regression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46555 --- Comment #3 from Andrew Pinski --- I am going to try to work on this so it can be in for stage 1 of 7.
[Bug middle-end/46555] [4.9/5/6 Regression] PHI RTL expansion leads to CSiBE regression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46555 Andrew Pinski changed: What|Removed |Added Keywords||missed-optimization Last reconfirmed|2010-11-19 10:55:11 |2016-1-5 Target Milestone|--- |7.0 Summary|PHI RTL expansion leads to |[4.9/5/6 Regression] PHI |CSiBE regression|RTL expansion leads to ||CSiBE regression --- Comment #2 from Andrew Pinski --- : # _6 = PHI <-1(17), 0(15), -1(10)> : It is not as bad on the trunk now but I don't think it has been fixed.