[Bug middle-end/46555] [4.9/5/6 Regression] PHI RTL expansion leads to CSiBE regression

2016-01-14 Thread rguenth at gcc dot gnu.org
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

2016-01-13 Thread pinskia at gcc dot gnu.org
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

2016-01-13 Thread pinskia at gcc dot gnu.org
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

2016-01-05 Thread pinskia at gcc dot gnu.org
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

2016-01-05 Thread pinskia at gcc dot gnu.org
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.