int* g; void foo(int m) { if (m) *g = 1; else *g = 2; }
should be (at least with -Os) void foo(int m) { if (m) t = 1; else t = 2; *g = t; } -- Summary: Missing store sinking (code size optimization) at tree level Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: xinliangli at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35304