Commit 98aad286 by Richard Kenner

(expand_builtin): If the builtin was called as __builtin_whatever,

pretend we're optimizing.

From-SVN: r6529
parent dc903608
...@@ -6639,6 +6639,9 @@ c_strlen (src) ...@@ -6639,6 +6639,9 @@ c_strlen (src)
SUBTARGET may be used as the target for computing one of EXP's operands. SUBTARGET may be used as the target for computing one of EXP's operands.
IGNORE is nonzero if the value is to be ignored. */ IGNORE is nonzero if the value is to be ignored. */
#define CALLED_AS_BUILT_IN(NODE) \
(!strncmp (IDENTIFIER_POINTER (DECL_NAME (NODE)), "__builtin_", 10))
static rtx static rtx
expand_builtin (exp, target, subtarget, mode, ignore) expand_builtin (exp, target, subtarget, mode, ignore)
tree exp; tree exp;
...@@ -7110,7 +7113,7 @@ expand_builtin (exp, target, subtarget, mode, ignore) ...@@ -7110,7 +7113,7 @@ expand_builtin (exp, target, subtarget, mode, ignore)
case BUILT_IN_FFS: case BUILT_IN_FFS:
/* If not optimizing, call the library function. */ /* If not optimizing, call the library function. */
if (!optimize) if (!optimize && ! CALLED_AS_BUILT_IN (fndecl))
break; break;
if (arglist == 0 if (arglist == 0
...@@ -7130,7 +7133,7 @@ expand_builtin (exp, target, subtarget, mode, ignore) ...@@ -7130,7 +7133,7 @@ expand_builtin (exp, target, subtarget, mode, ignore)
case BUILT_IN_STRLEN: case BUILT_IN_STRLEN:
/* If not optimizing, call the library function. */ /* If not optimizing, call the library function. */
if (!optimize) if (!optimize && ! CALLED_AS_BUILT_IN (fndecl))
break; break;
if (arglist == 0 if (arglist == 0
...@@ -7212,7 +7215,7 @@ expand_builtin (exp, target, subtarget, mode, ignore) ...@@ -7212,7 +7215,7 @@ expand_builtin (exp, target, subtarget, mode, ignore)
case BUILT_IN_STRCPY: case BUILT_IN_STRCPY:
/* If not optimizing, call the library function. */ /* If not optimizing, call the library function. */
if (!optimize) if (!optimize && ! CALLED_AS_BUILT_IN (fndecl))
break; break;
if (arglist == 0 if (arglist == 0
...@@ -7236,7 +7239,7 @@ expand_builtin (exp, target, subtarget, mode, ignore) ...@@ -7236,7 +7239,7 @@ expand_builtin (exp, target, subtarget, mode, ignore)
/* Drops in. */ /* Drops in. */
case BUILT_IN_MEMCPY: case BUILT_IN_MEMCPY:
/* If not optimizing, call the library function. */ /* If not optimizing, call the library function. */
if (!optimize) if (!optimize && ! CALLED_AS_BUILT_IN (fndecl))
break; break;
if (arglist == 0 if (arglist == 0
...@@ -7290,7 +7293,7 @@ expand_builtin (exp, target, subtarget, mode, ignore) ...@@ -7290,7 +7293,7 @@ expand_builtin (exp, target, subtarget, mode, ignore)
#ifdef HAVE_cmpstrsi #ifdef HAVE_cmpstrsi
case BUILT_IN_STRCMP: case BUILT_IN_STRCMP:
/* If not optimizing, call the library function. */ /* If not optimizing, call the library function. */
if (!optimize) if (!optimize && ! CALLED_AS_BUILT_IN (fndecl))
break; break;
if (arglist == 0 if (arglist == 0
...@@ -7343,7 +7346,7 @@ expand_builtin (exp, target, subtarget, mode, ignore) ...@@ -7343,7 +7346,7 @@ expand_builtin (exp, target, subtarget, mode, ignore)
/* Drops in. */ /* Drops in. */
case BUILT_IN_MEMCMP: case BUILT_IN_MEMCMP:
/* If not optimizing, call the library function. */ /* If not optimizing, call the library function. */
if (!optimize) if (!optimize && ! CALLED_AS_BUILT_IN (fndecl))
break; break;
if (arglist == 0 if (arglist == 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment