aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorJohn Carr <jfc@mit.edu>1997-12-24 14:39:44 -0700
committerJeff Law <law@gcc.gnu.org>1997-12-24 14:39:44 -0700
commit6e73e66606ebe0f3a1827b4401d259fac87fb36e (patch)
tree16ba7b39b3187d844bce4bf136901fa626027edb /gcc/calls.c
parent280e521f029df248a105d1bd90c251ef26080f09 (diff)
downloadgcc-6e73e66606ebe0f3a1827b4401d259fac87fb36e.zip
gcc-6e73e66606ebe0f3a1827b4401d259fac87fb36e.tar.gz
gcc-6e73e66606ebe0f3a1827b4401d259fac87fb36e.tar.bz2
flags.h, [...]: Remove flag_alias_check; optimization is now always enabled.
* flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check; optimization is now always enabled. * calls.c (expand_call): Recognize C++ operator new as malloc-like function. * alias.c (memrefs_conflict_p): Eliminate tests now done by base_alias_check. (*_dependence): Call canon_rtx before base_alias_check. (init_alias_once): New function to precompute set of registers which can hold Pmode function arguments. * rtl.h: Declare init_alias_once. * toplev.c (compile_file): Call init_alias_once. From-SVN: r17226
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index 15a3662..d779462 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -889,11 +889,13 @@ expand_call (exp, target, ignore)
else if (tname[0] == 'l' && tname[1] == 'o'
&& ! strcmp (tname, "longjmp"))
is_longjmp = 1;
- /* Only recognize malloc when alias analysis is enabled. */
- else if (flag_alias_check
- && ((tname[0] == 'm' && ! strcmp(tname + 1, "alloc"))
- || (tname[0] == 'c' && ! strcmp(tname + 1, "alloc"))
- || (tname[0] == 'r' && ! strcmp(tname + 1, "ealloc"))))
+ /* XXX should have "malloc" attribute on functions instead
+ of recognizing them by name. */
+ else if (! strcmp (tname, "malloc")
+ || ! strcmp (tname, "calloc")
+ || ! strcmp (tname, "realloc")
+ || ! strcmp (tname, "__builtin_new")
+ || ! strcmp (tname, "__builtin_vec_new"))
is_malloc = 1;
}