diff options
author | Richard Biener <rguenther@suse.de> | 2013-05-07 13:02:36 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-05-07 13:02:36 +0000 |
commit | 3f8825c030327ba848489938822ce84659adb15c (patch) | |
tree | 526d59f90336916a5e5f4f289babd36470843647 /gcc/calls.c | |
parent | fd4842cd6793508d4cdf630ef8a3e406cff7b895 (diff) | |
download | gcc-3f8825c030327ba848489938822ce84659adb15c.zip gcc-3f8825c030327ba848489938822ce84659adb15c.tar.gz gcc-3f8825c030327ba848489938822ce84659adb15c.tar.bz2 |
calls.c (special_function_p): setjmp-like functions are leaf.
2013-05-07 Richard Biener <rguenther@suse.de>
* calls.c (special_function_p): setjmp-like functions are leaf.
* builtins.def (BUILT_IN_SETJMP): setjmp is leaf.
* tree-inline.c (update_ssa_across_abnormal_edges): Remove assert.
From-SVN: r198681
Diffstat (limited to 'gcc/calls.c')
-rw-r--r-- | gcc/calls.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index cdab8e0..0c7f2256 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -545,7 +545,7 @@ special_function_p (const_tree fndecl, int flags) && ! strcmp (tname, "sigsetjmp")) || (tname[1] == 'a' && ! strcmp (tname, "savectx"))) - flags |= ECF_RETURNS_TWICE; + flags |= ECF_RETURNS_TWICE | ECF_LEAF; if (tname[1] == 'i' && ! strcmp (tname, "siglongjmp")) @@ -557,7 +557,7 @@ special_function_p (const_tree fndecl, int flags) && ! strcmp (tname, "vfork")) || (tname[0] == 'g' && tname[1] == 'e' && !strcmp (tname, "getcontext"))) - flags |= ECF_RETURNS_TWICE; + flags |= ECF_RETURNS_TWICE | ECF_LEAF; else if (tname[0] == 'l' && tname[1] == 'o' && ! strcmp (tname, "longjmp")) |