This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: IVOPT improvement patch


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]