The .t82.uncprop dump looks like this:

<L16>:;
  D.15800_45 = *params_11;
  __nptr_47 = D.15800_45;
  D.15802_50 = __strtol_internal (__nptr_47, 0B, 10, 0);
  mult_55 = mult_1 * D.15802_50;
  goto <bb 15> (<L8>);

<L17>:;
  D.15800_29 = *params_11;
  __nptr_31 = D.15800_29;
  D.15807_34 = __strtol_internal (__nptr_31, 0B, 10, 0);
  D.15790_39 = screen_16->whichVwin;
  D.15791_40 = D.15790_39->f_height;
  mult_41 = D.15807_34 * D.15791_40;
  goto <bb 15> (<L8>);

<L18>:;
  D.15811_25 = screen_16->scrolllines;
  D.15790_26 = screen_16->whichVwin;
  D.15791_27 = D.15790_26->f_height;
  mult_28 = D.15811_25 * D.15791_27;
  goto <bb 15> (<L8>);

<L6>:;
  D.15698_10 = gw_4->core.parent;
  D.15697_13 = AmountToScroll (D.15698_10, params_11, nparams_12);

  # D.15697_3 = PHI <0(3), mult_41(12), D.15697_13(14), 0(0), mult_55(11),
mult_28(13)>;
<L8>:;
  return D.15697_3;


and the .t87.final_cleanup dump looks like:

<L16>:;
  D.15802 = __strtol_internal (*params, 0B, 10, 0);
  mult.78 = mult * D.15802;
  D.15697 = mult.78;
  goto <bb 17> (<L26>);

<L17>:;
  D.15807 = __strtol_internal (*params, 0B, 10, 0);
  mult.77 = D.15807 * screen->whichVwin->f_height;
  D.15697 = mult.77;
  goto <bb 17> (<L26>);

<L18>:;
  mult.76 = screen->scrolllines * screen->whichVwin->f_height;
  D.15697 = mult.76;
  goto <bb 17> (<L26>);

<L6>:;
  D.15697 = AmountToScroll (gw->core.parent, params, nparams);
  goto <bb 17> (<L26>);

<L8>:;
  D.15697 = 0;

<L26>:;
  return D.15697;

Note that the mult.76, mult.77, mult.78 have a single use and a single def, they
could be eliminated.

Preprocessed code will be attached. The compilation flags were -O2 -march=i686
The function to look at is AmmountToScroll

-- 
           Summary: out of ssa does not delete single def single use
                    variable
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dann at godzilla dot ics dot uci dot edu
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: i686-pc-linux-gnu


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

Reply via email to