This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/38513] New: Only postreload will remove a no-op store


Take:
struct f{
float a;
float b;
float c;
float d;
};

struct f a;

void h(float, float, float, float);

void g(void)
{
  float a1 = a.a, b = a.b, c = a.c, d = a.d;
  a.a = a1;
  a.b = b;
  a.c = c;
  a.d = d;
  h(a1, b, c, d);
}
--- CUT ---
Currently only postreload will remove the store back to a.a, a.b, a.c, and a.d.
 Note this code orginally came from inlined code and was just reduced to this.
And if this was done before postreload, we don't need a fmr which was produced
by the register allocator.


-- 
           Summary: Only postreload will remove a no-op store
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38513


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]