[Bug tree-optimization/21173] [4.0/4.1 regression] miscompiled pointer subtraction broke Linux kernel

steven at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Apr 23 13:24:00 GMT 2005


------- Additional Comments From steven at gcc dot gnu dot org  2005-04-23 13:24 -------
.crited dump: 
 
foo (p) 
{ 
  int i; 
  void * D.1576; 
  char * D.1575; 
  void * D.1574; 
  void * D.1573; 
  int i.0; 
 
<bb 0>: 
 
  # i_16 = PHI <i_13(3), 0(0)>; 
<L0>:; 
  D.1573_7 = a[i_16]; 
  D.1574_9 = D.1573_7 + p_8; 
  D.1575_10 = -&q; 
  D.1576_11 = D.1574_9 + D.1575_10; 
  a[i_16] = D.1576_11; 
  i_13 = i_16 + 1; 
  if (i_13 <= 1) goto <L6>; else goto <L2>; 
 
<L6>:; 
  goto <bb 1> (<L0>); 
 
<L2>:; 
  return; 
 
} 
 
.pre dump: 
foo (p) 
{ 
  int pretmp.3; 
  char * pretmp.2; 
  int i; 
  void * D.1576; 
  char * D.1575; 
  void * D.1574; 
  void * D.1573; 
  int i.0; 
 
<bb 0>: 
  pretmp.2_6 = &q; 
 
  # i_16 = PHI <i_13(3), 0(0)>; 
<L0>:; 
  D.1573_7 = a[i_16]; 
  D.1574_9 = D.1573_7 + p_8; 
  D.1575_10 = pretmp.2_6; 
  D.1576_11 = D.1574_9 + D.1575_10; 
  a[i_16] = D.1576_11; 
  i_13 = i_16 + 1; 
  if (i_13 <= 1) goto <L6>; else goto <L2>; 
 
<L6>:; 
  goto <bb 1> (<L0>); 
 
<L2>:; 
  return; 
 
} 
 

-- 


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



More information about the Gcc-bugs mailing list