aboutsummaryrefslogtreecommitdiff
path: root/gcc/flags.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2000-03-29 09:54:31 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2000-03-29 09:54:31 +0000
commitdb8cb48e64684efc2956b1229e9b1fbac558229a (patch)
tree6115adcb32b8d779e6fc736f4b16ea206907a22e /gcc/flags.h
parent402eec872f73eebdbfb05cf4bbb133ed9af3460a (diff)
downloadgcc-db8cb48e64684efc2956b1229e9b1fbac558229a.zip
gcc-db8cb48e64684efc2956b1229e9b1fbac558229a.tar.gz
gcc-db8cb48e64684efc2956b1229e9b1fbac558229a.tar.bz2
flags.h (flag_optimize_sibling_calls): Declare.
* flags.h (flag_optimize_sibling_calls): Declare. * calls.c (expand_call): Fail sibcall when !flag_optimize_sibling_calls * invoke.texi (flag_optimize_sibling_calls): Document. * toplev.c (flag_optimize_sibling_calls): New global variable. (f_options): Add flag_optimize_sibling_calls. (rest_of_compilation): Conditionize optimize_sibling_and_tail_recursive_calls by flag_optimize_sibling_calls. (main): Set flag_optimize_sibling_calls for -O2. * stmt.c (expand_return): Conditionize tail recursion by flag_optimize_sibling_calls. From-SVN: r32802
Diffstat (limited to 'gcc/flags.h')
-rw-r--r--gcc/flags.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/flags.h b/gcc/flags.h
index 1d7e782..81f5bda 100644
--- a/gcc/flags.h
+++ b/gcc/flags.h
@@ -299,6 +299,10 @@ extern int flag_volatile_static;
extern int flag_fast_math;
+/* Nonzero allows GCC to optimize sibling and tail recursive calls. */
+
+extern int flag_optimize_sibling_calls;
+
/* Nonzero means the front end generally wants `errno' maintained by math
operations, like built-in SQRT, unless overridden by flag_fast_math. */