This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: IVOPT improvement patch
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Xinliang David Li <davidxl at google dot com>
- Cc: Zdenek Dvorak <rakdver at kam dot mff dot cuni dot cz>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Richard Guenther <richard dot guenther at gmail dot com>, Pat Haugen <pthaugen at us dot ibm dot com>
- Date: Tue, 10 Aug 2010 06:16:03 -0700
- Subject: Re: IVOPT improvement patch
- References: <AANLkTinguXaw6KR1xi2Tz3O+wpRxiwAqW28+g+yJC6Lf@mail.gmail.com> <AANLkTinNyB83vfkwZp0Lxu03H+DNpD-AvBt803pt=4qi@mail.gmail.com> <AANLkTikX01vs8_taOwuEnULBkXaRhr1rQHQR4KUMXuM7@mail.gmail.com> <AANLkTiktVKVmNnQRyp=OQfJ1+DAYkRQgTso3Qb-kV3nJ@mail.gmail.com> <AANLkTi=dFqKHoU=xkTuq6bKMvg9f2oGX4UaCot1XS-gP@mail.gmail.com> <AANLkTimEGjvDmFe1qjFvn5gfiNpnnt9ORM6RA6RCXpdY@mail.gmail.com> <AANLkTi=4HF2sKUPfhS5GRJTLW1g7rYRTn8iihkmYH6k2@mail.gmail.com> <AANLkTimk3b3tmDr3g8KKDGvJ6HczpPJXNdGoV9cE0a9A@mail.gmail.com> <AANLkTima5mV3OL=HuY_Sw54NtNU4-0RaY+z6jaNzA0Sc@mail.gmail.com> <AANLkTinXtucQKd-c1XLAFZj1Q25ibbTq1gDE4Xm1korU@mail.gmail.com> <20100809075525.GA16026@kam.mff.cuni.cz> <AANLkTi=1EV2b8ZLQ5wNtWbJmh-21xrLd_R1R3KdK62L+@mail.gmail.com> <AANLkTik-5LWK57_mYadOF1n1_s32=sWucAT6H7i41s4O@mail.gmail.com>
On Mon, Aug 9, 2010 at 4:47 PM, Xinliang David Li <davidxl@google.com> wrote:
> Wrong patch in the last email. Here is the one.
>
You changed the code from setting "off" to setting "offset":
- data->min_offset = i == start ? 0 : -(i >> 1);
+ data->max_offset = (i == -1? 0 : off);
+ offset = data->max_offset;
"off" is used later:
3345 if (off_p)
3346 base = gen_rtx_fmt_e (CONST, address_mode,
3347 gen_rtx_fmt_ee
3348 (PLUS, address_mode, base,
3349 gen_int_mode (off,
address_mode))) ;
3350 }
3351 else if (off_p)
3352 base = gen_int_mode (off, address_mode);
3353 else
You can just add
off = 0;
before the loop. Then you can use
data->min_offset = off;
data->max_offset = off;
after the loop. It is faster.
--
H.J.