vsprintf: uninline simple_strntoull(), reorder arguments
authorAlexey Dobriyan <adobriyan@gmail.com>
Fri, 27 Oct 2023 14:13:58 +0000 (17:13 +0300)
committerPetr Mladek <pmladek@suse.com>
Wed, 1 Nov 2023 14:55:39 +0000 (15:55 +0100)
commit72fcce70faf06dd7442bf0b41b71f071d7fa29a4
tree9fd2191e260b19a7682517db62b6ab33595d8cd5
parent3f6074cf467f6c2beb7db0b0d685fb53f25ae9aa
vsprintf: uninline simple_strntoull(), reorder arguments

* uninline simple_strntoull(),
  gcc overinlines and this function is not performance critical

* reorder arguments, so that appending INT_MAX as 4th argument
  generates very efficient tail call

Space savings:

add/remove: 1/0 grow/shrink: 0/3 up/down: 27/-179 (-152)
Function                            old     new   delta
simple_strntoll                       -      27     +27
simple_strtoull                      15      10      -5
simple_strtoll                       41       7     -34
vsscanf                            1930    1790    -140

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/all/82a2af6e-9b6c-4a09-89d7-ca90cc1cdad1@p183/
lib/vsprintf.c