|
|
Message-Id: <20170704195312.24387-1-amonakov@ispras.ru>
Date: Tue, 4 Jul 2017 22:53:12 +0300
From: Alexander Monakov <amonakov@...ras.ru>
To: musl@...ts.openwall.com
Subject: [PATCH] remove ineffective compiler assist from printf
The switch statement has no 'default:' case and the function ends
immediately following the switch, so the extra comparison did not
communicate any extra information to the compiler.
---
Someone reported this on IRC a few weeks ago. MAXSTATE enum value is unused
after this change. Removal reduces code size slightly with gcc-6.
Alexander
src/stdio/vfprintf.c | 2 --
src/stdio/vfwprintf.c | 2 --
2 files changed, 4 deletions(-)
diff --git a/src/stdio/vfprintf.c b/src/stdio/vfprintf.c
index 8c81efc2..15356f53 100644
--- a/src/stdio/vfprintf.c
+++ b/src/stdio/vfprintf.c
@@ -107,8 +107,6 @@ union arg
static void pop_arg(union arg *arg, int type, va_list *ap)
{
- /* Give the compiler a hint for optimizing the switch. */
- if ((unsigned)type > MAXSTATE) return;
switch (type) {
case PTR: arg->p = va_arg(*ap, void *);
break; case INT: arg->i = va_arg(*ap, int);
diff --git a/src/stdio/vfwprintf.c b/src/stdio/vfwprintf.c
index b8fff208..6e7492a7 100644
--- a/src/stdio/vfwprintf.c
+++ b/src/stdio/vfwprintf.c
@@ -119,8 +119,6 @@ union arg
static void pop_arg(union arg *arg, int type, va_list *ap)
{
- /* Give the compiler a hint for optimizing the switch. */
- if ((unsigned)type > MAXSTATE) return;
switch (type) {
case PTR: arg->p = va_arg(*ap, void *);
break; case INT: arg->i = va_arg(*ap, int);
--
2.11.0
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.