diff options
author | Jakub Jelinek <jakub@redhat.com> | 2015-12-04 17:40:05 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2015-12-04 17:40:05 +0100 |
commit | 5c24689633f109abfc2b9b6c62f327c805c49fa4 (patch) | |
tree | 92967007f7e1f4591a804ffb3cde326a0431b58b /gcc | |
parent | 6b2e46bf85e0da961c9006111c8d309bb7a70973 (diff) | |
download | gcc-5c24689633f109abfc2b9b6c62f327c805c49fa4.zip gcc-5c24689633f109abfc2b9b6c62f327c805c49fa4.tar.gz gcc-5c24689633f109abfc2b9b6c62f327c805c49fa4.tar.bz2 |
* tree-tailcall.c (find_tail_calls): Ignore GIMPLE_NOPs.
From-SVN: r231282
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/tree-tailcall.c | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b6ff6e1..d9a0bf8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ 2015-12-04 Jakub Jelinek <jakub@redhat.com> + * tree-tailcall.c (find_tail_calls): Ignore GIMPLE_NOPs. + PR tree-optimization/68680 * calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for BUILT_IN_ALLOCA{,_WITH_ALIGN}. Don't check for __builtin_alloca diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c index bbd1b29..a2585fb 100644 --- a/gcc/tree-tailcall.c +++ b/gcc/tree-tailcall.c @@ -412,9 +412,10 @@ find_tail_calls (basic_block bb, struct tailcall **ret) { stmt = gsi_stmt (gsi); - /* Ignore labels, returns, clobbers and debug stmts. */ + /* Ignore labels, returns, nops, clobbers and debug stmts. */ if (gimple_code (stmt) == GIMPLE_LABEL || gimple_code (stmt) == GIMPLE_RETURN + || gimple_code (stmt) == GIMPLE_NOP || gimple_clobber_p (stmt) || is_gimple_debug (stmt)) continue; @@ -532,7 +533,8 @@ find_tail_calls (basic_block bb, struct tailcall **ret) stmt = gsi_stmt (agsi); - if (gimple_code (stmt) == GIMPLE_LABEL) + if (gimple_code (stmt) == GIMPLE_LABEL + || gimple_code (stmt) == GIMPLE_NOP) continue; if (gimple_code (stmt) == GIMPLE_RETURN) |