* [PATCH] remove ineffective compiler assist from printf
@ 2017-07-04 19:53 Alexander Monakov
0 siblings, 0 replies; only message in thread
From: Alexander Monakov @ 2017-07-04 19:53 UTC (permalink / raw)
To: musl
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-07-04 19:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-04 19:53 [PATCH] remove ineffective compiler assist from printf Alexander Monakov
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).