------- Comment #10 from aldot at gcc dot gnu dot org  2009-06-07 16:54 -------
4.3.3 does not simplify it, 4.4.0 onward do.

for reference
4.3.3:
Substituing values and folding statements

Constants propagated:      0
Copies propagated:         0
Predicates folded:         0

ior (bD.1193)
{
  <unnamed-unsigned:1> D.1200;
  unsigned charD.10 D.1199;
  signed charD.9 D.1198;
  signed charD.9 D.1197;
  <unnamed-unsigned:1> D.1196;

  # BLOCK 2 freq:10000
  # PRED: ENTRY [100.0%]  (fallthru,exec)
  # VUSE <SMT.4D.1206_7(D)> { SMT.4D.1206 }
  D.1196_2 = bD.1193_1(D)->bitD.1192;
  D.1197_3 = (signed charD.9) D.1196_2;
  D.1198_4 = D.1197_3 | 1;
  D.1199_5 = (unsigned charD.10) D.1198_4;
  D.1200_6 = (<unnamed-unsigned:1>) D.1199_5;
  # SMT.4D.1206_8 = VDEF <SMT.4D.1206_7(D)> { SMT.4D.1206 }
  bD.1193_1(D)->bitD.1192 = D.1200_6;
  return;
  # SUCC: EXIT [100.0%] 

}


4.4.0:
Pass statistics:
----------------
Constants propagated: 1
Number of ASSERT_EXPR expressions inserted: 1
Statements deleted: 5

ior (struct B * bD.1247)
{
  <unnamed-unsigned:1> D.1254;
  unsigned charD.10 D.1253;
  signed charD.9 D.1252;
  signed charD.9 D.1251;
  <unnamed-unsigned:1> D.1250;

  # BLOCK 2 freq:10000
  # PRED: ENTRY [100.0%]  (fallthru,exec)
  # SMT.10D.1266_8 = VDEF <SMT.10D.1266_7(D)> { SMT.10D.1266 }
  bD.1247_1(D)->bitD.1246 = 1;
  return;
  # SUCC: EXIT [100.0%] 

}


-- 

aldot at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |4.3.3
      Known to work|                            |4.4.0


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

Reply via email to