[PATCH] inline fail reporting: reporting inline fail caused by overwritable function

2013-04-04 Thread zhouzhouyi
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

2013-04-05 Thread zhouzhouyi
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)
 {