Message ID | 20190610030852.16039-2-richardw.yang@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | migration/xbzrle: make xbzrle_encode_buffer little easier | expand |
* Wei Yang (richardw.yang@linux.intel.com) wrote: > Since we will not operate on the next address pointed by out, it is not > necessary to do addition on it. > > After removing the operation, the function size reduced 16/18 bytes. For me with a -O3 it didn't make any difference - the compiler was already smart enough to spot it, but it is correct. Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> > --- > util/cutils.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/util/cutils.c b/util/cutils.c > index 9aacc422ca..1933a68da5 100644 > --- a/util/cutils.c > +++ b/util/cutils.c > @@ -754,11 +754,11 @@ int uleb128_encode_small(uint8_t *out, uint32_t n) > { > g_assert(n <= 0x3fff); > if (n < 0x80) { > - *out++ = n; > + *out = n; > return 1; > } else { > *out++ = (n & 0x7f) | 0x80; > - *out++ = n >> 7; > + *out = n >> 7; > return 2; > } > } > @@ -766,7 +766,7 @@ int uleb128_encode_small(uint8_t *out, uint32_t n) > int uleb128_decode_small(const uint8_t *in, uint32_t *n) > { > if (!(*in & 0x80)) { > - *n = *in++; > + *n = *in; > return 1; > } else { > *n = *in++ & 0x7f; > @@ -774,7 +774,7 @@ int uleb128_decode_small(const uint8_t *in, uint32_t *n) > if (*in & 0x80) { > return -1; > } > - *n |= *in++ << 7; > + *n |= *in << 7; > return 2; > } > } > -- > 2.19.1 > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On Tue, Jun 11, 2019 at 06:49:54PM +0100, Dr. David Alan Gilbert wrote: >* Wei Yang (richardw.yang@linux.intel.com) wrote: >> Since we will not operate on the next address pointed by out, it is not >> necessary to do addition on it. >> >> After removing the operation, the function size reduced 16/18 bytes. > >For me with a -O3 it didn't make any difference - the compiler was >already smart enough to spot it, but it is correct. > Ah, you are right. > >Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > >> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> >> --- >> util/cutils.c | 8 ++++---- >> 1 file changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/util/cutils.c b/util/cutils.c >> index 9aacc422ca..1933a68da5 100644 >> --- a/util/cutils.c >> +++ b/util/cutils.c >> @@ -754,11 +754,11 @@ int uleb128_encode_small(uint8_t *out, uint32_t n) >> { >> g_assert(n <= 0x3fff); >> if (n < 0x80) { >> - *out++ = n; >> + *out = n; >> return 1; >> } else { >> *out++ = (n & 0x7f) | 0x80; >> - *out++ = n >> 7; >> + *out = n >> 7; >> return 2; >> } >> } >> @@ -766,7 +766,7 @@ int uleb128_encode_small(uint8_t *out, uint32_t n) >> int uleb128_decode_small(const uint8_t *in, uint32_t *n) >> { >> if (!(*in & 0x80)) { >> - *n = *in++; >> + *n = *in; >> return 1; >> } else { >> *n = *in++ & 0x7f; >> @@ -774,7 +774,7 @@ int uleb128_decode_small(const uint8_t *in, uint32_t *n) >> if (*in & 0x80) { >> return -1; >> } >> - *n |= *in++ << 7; >> + *n |= *in << 7; >> return 2; >> } >> } >> -- >> 2.19.1 >> >-- >Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
Wei Yang <richardw.yang@linux.intel.com> wrote: > Since we will not operate on the next address pointed by out, it is not > necessary to do addition on it. > > After removing the operation, the function size reduced 16/18 bytes. > > Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Included. I agree with David that the compiler should detect that, but also agreed that it shouldn't be there in the first place.
diff --git a/util/cutils.c b/util/cutils.c index 9aacc422ca..1933a68da5 100644 --- a/util/cutils.c +++ b/util/cutils.c @@ -754,11 +754,11 @@ int uleb128_encode_small(uint8_t *out, uint32_t n) { g_assert(n <= 0x3fff); if (n < 0x80) { - *out++ = n; + *out = n; return 1; } else { *out++ = (n & 0x7f) | 0x80; - *out++ = n >> 7; + *out = n >> 7; return 2; } } @@ -766,7 +766,7 @@ int uleb128_encode_small(uint8_t *out, uint32_t n) int uleb128_decode_small(const uint8_t *in, uint32_t *n) { if (!(*in & 0x80)) { - *n = *in++; + *n = *in; return 1; } else { *n = *in++ & 0x7f; @@ -774,7 +774,7 @@ int uleb128_decode_small(const uint8_t *in, uint32_t *n) if (*in & 0x80) { return -1; } - *n |= *in++ << 7; + *n |= *in << 7; return 2; } }
Since we will not operate on the next address pointed by out, it is not necessary to do addition on it. After removing the operation, the function size reduced 16/18 bytes. Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> --- util/cutils.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)