summaryrefslogtreecommitdiff
path: root/gcc/tree-tailcall.c
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-09 20:19:37 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-09 20:19:37 +0000
commit2d05784e6f0d45637de623f81936cb19d56e35cb (patch)
tree9e4a45afb3ae070db479c030f1165657fb8f319d /gcc/tree-tailcall.c
parent7be10878f39694e05b3bd2f0c9ece6f5a1fd9928 (diff)
downloadgcc-2d05784e6f0d45637de623f81936cb19d56e35cb.tar.gz
PR tree-optimization/17906
* tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to copy non-gimple reg arguments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88828 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-tailcall.c')
-rw-r--r--gcc/tree-tailcall.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index 34ac8ee5834..00fdea301ad 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -870,7 +870,8 @@ tree_optimize_tail_calls_1 (bool opt_tailcalls)
for (param = DECL_ARGUMENTS (current_function_decl);
param;
param = TREE_CHAIN (param))
- if (var_ann (param)
+ if (is_gimple_reg (param)
+ && var_ann (param)
/* Also parameters that are only defined but never used need not
be copied. */
&& (var_ann (param)->default_def