diff options
author | Xinliang David Li <davidxl@google.com> | 2011-04-11 20:37:57 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@gcc.gnu.org> | 2011-04-11 20:37:57 +0000 |
commit | 26e0228f565f3d57769d18fa362a300ff51ba1e7 (patch) | |
tree | 8fba1831628ef1da28cb32bae8e55d3e3fe30a06 /gcc/tree-inline.c | |
parent | 6075765d8c6993df315a8792440673d95741a5e8 (diff) | |
download | gcc-26e0228f565f3d57769d18fa362a300ff51ba1e7.zip gcc-26e0228f565f3d57769d18fa362a300ff51ba1e7.tar.gz gcc-26e0228f565f3d57769d18fa362a300ff51ba1e7.tar.bz2 |
sanity check ic target
From-SVN: r172276
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 140d778..9f86204 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -5326,7 +5326,7 @@ tree_can_inline_p (struct cgraph_edge *e) return false; } #endif - tree caller, callee, lhs; + tree caller, callee; caller = e->caller->decl; callee = e->callee->decl; @@ -5353,13 +5353,7 @@ tree_can_inline_p (struct cgraph_edge *e) /* Do not inline calls where we cannot triviall work around mismatches in argument or return types. */ if (e->call_stmt - && ((DECL_RESULT (callee) - && !DECL_BY_REFERENCE (DECL_RESULT (callee)) - && (lhs = gimple_call_lhs (e->call_stmt)) != NULL_TREE - && !useless_type_conversion_p (TREE_TYPE (DECL_RESULT (callee)), - TREE_TYPE (lhs)) - && !fold_convertible_p (TREE_TYPE (DECL_RESULT (callee)), lhs)) - || !gimple_check_call_args (e->call_stmt))) + && !gimple_check_call_matching_types (e->call_stmt, callee)) { e->inline_failed = CIF_MISMATCHED_ARGUMENTS; if (e->call_stmt) |