------- Additional Comments From steven at gcc dot gnu dot org  2005-01-13 
20:38 -------
Hmpf, does DSE do anything *at* *all*??? 
 
Test cases: 
--------------------------------------- 
int x; 
 
int 
f1 (int i, int j, int k) 
{ 
  int *p = k ? &i : &j; 
  i = 3; /* Dead store.  */ 
  *p = 5; 
  x = j; 
} 
 
int 
f2 (int l, int m, int n) 
{ 
  int *q = n ? &l : &m; 
  *q = 3; /* Dead store.  */ 
  *q = 5; 
  x = m; 
} 
--------------------------------------- 
 
 
.optimized dump at -O2: 
--------------------------------------- 
;; Function f1 (f1) 
 
Analyzing Edge Insertions. 
f1 (i, j, k) 
{ 
  int * p; 
  int j.1; 
  int * iftmp.0; 
 
<bb 0>: 
  if (k != 0) goto <L4>; else goto <L3>; 
 
<L4>:; 
  p = &i; 
  goto <bb 2> (<L2>); 
 
<L3>:; 
  p = &j; 
 
<L2>:; 
  i = 3; 
  *p = 5; 
  x = j; 
  return; 
 
} 
 
 
;; Function f2 (f2) 
 
Analyzing Edge Insertions. 
f2 (l, m, n) 
{ 
  int * q; 
  int m.3; 
  int * iftmp.2; 
 
<bb 0>: 
  if (n != 0) goto <L4>; else goto <L3>; 
 
<L4>:; 
  q = &l; 
  goto <bb 2> (<L2>); 
 
<L3>:; 
  q = &m; 
 
<L2>:; 
  *q = 3; 
  *q = 5; 
  x = m; 
  return; 
 
} 
--------------------------------------- 
 
 
 

-- 


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

Reply via email to