diff mbox

[c++] Remove redundant inline check

Message ID 20110418184702.GN5273@kam.mff.cuni.cz
State New
Headers show

Commit Message

Jan Hubicka April 18, 2011, 6:47 p.m. UTC
Hi,
the test whether function contains computed goto is re-done by tree-inline (and re-done
after optimization, so it is bit more sensitive).  There is also nothing language specific
in this.

Bootstrapped/regtested x86_64-linux, OK?

	* cp/semantics.c (finish_goto_stmt): Do set UNINLINABLE flag on computed
	gotos.

Comments

Mark Mitchell April 18, 2011, 7:02 p.m. UTC | #1
On 4/18/2011 11:47 AM, Jan Hubicka wrote:

> Bootstrapped/regtested x86_64-linux, OK?
> 
> 	* cp/semantics.c (finish_goto_stmt): Do set UNINLINABLE flag on computed
> 	gotos.

Provided that we have this check elsewhere in the compiler and are
therefore confident we won't accidentally inline such things, this is fine.
Richard Biener April 18, 2011, 9:23 p.m. UTC | #2
On Mon, Apr 18, 2011 at 9:02 PM, Mark Mitchell <mark@codesourcery.com> wrote:
> On 4/18/2011 11:47 AM, Jan Hubicka wrote:
>
>> Bootstrapped/regtested x86_64-linux, OK?
>>
>>       * cp/semantics.c (finish_goto_stmt): Do set UNINLINABLE flag on computed
>>       gotos.
>
> Provided that we have this check elsewhere in the compiler and are
> therefore confident we won't accidentally inline such things, this is fine.

Though the description in the changelog sounds backwards (missing a 'not'?)

Richard.

> --
> Mark Mitchell
> CodeSourcery
> mark@codesourcery.com
> (650) 331-3385 x713
>
diff mbox

Patch

Index: cp/semantics.c
===================================================================
--- cp/semantics.c	(revision 172657)
+++ cp/semantics.c	(working copy)
@@ -569,11 +569,6 @@  finish_goto_stmt (tree destination)
 	  if (error_operand_p (destination))
 	    return NULL_TREE;
 	}
-      /* We don't inline calls to functions with computed gotos.
-	 Those functions are typically up to some funny business,
-	 and may be depending on the labels being at particular
-	 addresses, or some such.  */
-      DECL_UNINLINABLE (current_function_decl) = 1;
     }
 
   check_goto (destination);