Take the following code: struct f { int i; int j; }; void g(void); void i(struct f*);
int kk(void) { struct f a; int j; a.i = 1; a.j =2 ; g(); j = a.i; i(&a); return j; } --- j should be changed to 1 as the address of a is not escape until after the call to i so g should not get a call clobbered for the SFT's of a. -- Summary: Clobber list should be flow sensitive Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23384