The second instance of a1+a2 is not PREed due to missing expression reassociation.
int foo(int a1, int a2, int a3)
{
int b1,b2;
b1 = a3 + a2 + a1;
b2 = a1 + a2;
return b1 + b2;
}
--
Summary: Expression reassociation problem
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=35288
