diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2011-01-10 13:24:27 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2011-01-10 05:24:27 -0800 |
commit | 94cd932caeac5f720dd5a5f78583a5eaea456c6c (patch) | |
tree | c8e1bb5162500d3e7ff842010e045a84a72f504d /gcc/tree-inline.c | |
parent | 18c9fa1720c28af3ddcf3d367ef640e332fe8a64 (diff) | |
download | gcc-94cd932caeac5f720dd5a5f78583a5eaea456c6c.zip gcc-94cd932caeac5f720dd5a5f78583a5eaea456c6c.tar.gz gcc-94cd932caeac5f720dd5a5f78583a5eaea456c6c.tar.bz2 |
Check e->call_stmt before calling gimple_call_set_cannot_inline.
2011-01-10 H.J. Lu <hongjiu.lu@intel.com>
PR lto/46760
* tree-inline.c (tree_can_inline_p): Check e->call_stmt before
calling gimple_call_set_cannot_inline.
From-SVN: r168631
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 8725ca4..6c76fe3 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -5380,7 +5380,8 @@ tree_can_inline_p (struct cgraph_edge *e) if (inline_forbidden_into_p (caller, callee)) { e->inline_failed = CIF_UNSPECIFIED; - gimple_call_set_cannot_inline (e->call_stmt, true); + if (e->call_stmt) + gimple_call_set_cannot_inline (e->call_stmt, true); return false; } @@ -5388,7 +5389,8 @@ tree_can_inline_p (struct cgraph_edge *e) if (!targetm.target_option.can_inline_p (caller, callee)) { e->inline_failed = CIF_TARGET_OPTION_MISMATCH; - gimple_call_set_cannot_inline (e->call_stmt, true); + if (e->call_stmt) + gimple_call_set_cannot_inline (e->call_stmt, true); e->call_stmt_cannot_inline_p = true; return false; } @@ -5405,7 +5407,8 @@ tree_can_inline_p (struct cgraph_edge *e) || !gimple_check_call_args (e->call_stmt))) { e->inline_failed = CIF_MISMATCHED_ARGUMENTS; - gimple_call_set_cannot_inline (e->call_stmt, true); + if (e->call_stmt) + gimple_call_set_cannot_inline (e->call_stmt, true); e->call_stmt_cannot_inline_p = true; return false; } |