[Bug tree-optimization/17549] [4.0 Regression] 10% increase in codesize with C code compared to GCC 3.3

steven at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Feb 8 13:37:00 GMT 2005


------- Additional Comments From steven at gcc dot gnu dot org  2005-02-07 23:16 -------
Note the following: 
x_4 not coalesced with x -->  New temp:  'x.0' 
x_5 not coalesced with x.0 -->  New temp:  'x.1' 
Not very useful, because x_4 and x_5 have no uses left.  So you start with 
this: 
 
foo (xD.1447, aD.1448, bD.1449) 
{ 
  intD.0 D.1452; 
 
  # BLOCK 0 
  # PRED: ENTRY [100.0%]  (fallthru,exec) 
  xD.1447_3 = aD.1448_1 + bD.1449_2; 
  xD.1447_4 = aD.1448_1 * xD.1447_3; 
  xD.1447_5 = bD.1449_2 * xD.1447_4; 
  return xD.1447_5; 
  # SUCC: EXIT [100.0%] 
 
} 
 
and you end with this: 
 
foo (xD.1447, aD.1448, bD.1449) 
{ 
  intD.0 x.1D.1456; 
  intD.0 x.0D.1455; 
  intD.0 D.1452; 
 
  # BLOCK 0 
  # PRED: ENTRY [100.0%]  (fallthru,exec) 
  return bD.1449 * aD.1448 * (aD.1448 + bD.1449); 
  # SUCC: EXIT [100.0%] 
 
} 
 
Note the redundant temporaries. 
 

-- 


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



More information about the Gcc-bugs mailing list