[PATCH] inline fail reporting: reporting inline fail caused by overwritable function
From: Zhouyi Zhou Sender: Zhouyi Zhou To: Subject: [PATCH] inline fail reporting: reporting inline fail caused by overwritable function When inline failed because of callee is overwritable, gcc will not report it in dump file as other inline failing cases do. This patch correct this. ChangeLog: 2013-04-05 Zhouyi Zhou * cif-code.def: correct the comment for overwritable function * ipa-inline.c: let dump mechanism report the inline fail caused by overwritable function Signed-off-by: Zhouyi Zhou --- Index: gcc/cif-code.def === --- gcc/cif-code.def(revision 197506) +++ gcc/cif-code.def(working copy) @@ -48,7 +48,7 @@ DEFCIFCODE(REDEFINED_EXTERN_INLINE, /* Function is not inlinable. */ DEFCIFCODE(FUNCTION_NOT_INLINABLE, N_("function not inlinable")) -/* Function is not overwritable. */ +/* Function is overwritable. */ DEFCIFCODE(OVERWRITABLE, N_("function body can be overwritten at link time")) /* Function is not an inlining candidate. */ Index: gcc/ipa-inline.c === --- gcc/ipa-inline.c(revision 197506) +++ gcc/ipa-inline.c(working copy) @@ -266,7 +266,7 @@ can_inline_edge_p (struct cgraph_edge *e else if (avail <= AVAIL_OVERWRITABLE) { e->inline_failed = CIF_OVERWRITABLE; - return false; + inlinable = false; } else if (e->call_stmt_cannot_inline_p) {
[PATCH v2] inline fail reporting: reporting inline fail caused by overwritable function
From: Zhouyi Zhou Sender: Zhouyi Zhou To: Subject: [PATCH v2] inline fail reporting: reporting inline fail caused by overwritable function When inline failed because of callee is overwritable, gcc will not report it in dump file as other inline failing cases do. This patch correct this. ChangeLog: 2013-04-05 Zhouyi Zhou * cif-code.def (OVERWRITABLE): correct the comment for overwritable function * ipa-inline.c (can_inline_edge_p): let dump mechanism report the inline fail caused by overwritable function Signed-off-by: Zhouyi Zhou --- Index: gcc/cif-code.def === --- gcc/cif-code.def(revision 197506) +++ gcc/cif-code.def(working copy) @@ -48,7 +48,7 @@ DEFCIFCODE(REDEFINED_EXTERN_INLINE, /* Function is not inlinable. */ DEFCIFCODE(FUNCTION_NOT_INLINABLE, N_("function not inlinable")) -/* Function is not overwritable. */ +/* Function is overwritable. */ DEFCIFCODE(OVERWRITABLE, N_("function body can be overwritten at link time")) /* Function is not an inlining candidate. */ Index: gcc/ipa-inline.c === --- gcc/ipa-inline.c(revision 197506) +++ gcc/ipa-inline.c(working copy) @@ -266,7 +266,7 @@ can_inline_edge_p (struct cgraph_edge *e else if (avail <= AVAIL_OVERWRITABLE) { e->inline_failed = CIF_OVERWRITABLE; - return false; + inlinable = false; } else if (e->call_stmt_cannot_inline_p) {