diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-13 11:06:00 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-13 11:06:00 +0000 |
commit | 6d17c5d69e01840cb2fa3298101f4e606dea8fb0 (patch) | |
tree | 7f348917dd1ab9cbf4c0807d23222b72186d830c /gcc/tree-inline.c | |
parent | 6000f2b28014eec7e398806ece8457c478bffde5 (diff) | |
download | gcc-6d17c5d69e01840cb2fa3298101f4e606dea8fb0.tar.gz |
2014-05-13 Richard Biener <rguenther@suse.de>
PR ipa/60973
* tree-inline.c (remap_gimple_stmt): Clear tail call flag,
it needs revisiting whether the call still may be tail-called.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@210365 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index c63b670878a..04d099f61f4 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1485,6 +1485,11 @@ remap_gimple_stmt (gimple stmt, copy_body_data *id) /* Create a new deep copy of the statement. */ copy = gimple_copy (stmt); + /* Clear flags that need revisiting. */ + if (is_gimple_call (copy) + && gimple_call_tail_p (copy)) + gimple_call_set_tail (copy, false); + /* Remap the region numbers for __builtin_eh_{pointer,filter}, RESX and EH_DISPATCH. */ if (id->eh_map) |