public inbox for jit@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: [PATCH] rs6000, jit: Unbreak libgccjit on ppc (rs6000_output_function_epilogue)
  2015-01-01  0:00 [PATCH] rs6000, jit: Unbreak libgccjit on ppc (rs6000_output_function_epilogue) David Malcolm
@ 2015-01-01  0:00 ` Jakub Jelinek
  0 siblings, 0 replies; 2+ messages in thread
From: Jakub Jelinek @ 2015-01-01  0:00 UTC (permalink / raw)
  To: David Malcolm; +Cc: gcc-patches, jit

On Mon, Jan 19, 2015 at 09:41:11AM -0500, David Malcolm wrote:
> OK for trunk?
> 
> gcc/ChangeLog
> 
> 	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
> 	Support the JIT by using 0 as the language type.

Ok, thanks.

> --- a/gcc/config/rs6000/rs6000.c
> +++ b/gcc/config/rs6000/rs6000.c
> @@ -25491,11 +25491,12 @@ rs6000_output_function_epilogue (FILE *file,
>  	 use language_string.
>  	 C is 0.  Fortran is 1.  Pascal is 2.  Ada is 3.  C++ is 9.
>  	 Java is 13.  Objective-C is 14.  Objective-C++ isn't assigned
> -	 a number, so for now use 9.  LTO and Go aren't assigned numbers
> +	 a number, so for now use 9.  LTO, Go and JIT aren't assigned numbers
>  	 either, so for now use 0.  */
>        if (lang_GNU_C ()
>  	  || ! strcmp (language_string, "GNU GIMPLE")
> -	  || ! strcmp (language_string, "GNU Go"))
> +	  || ! strcmp (language_string, "GNU Go")
> +	  || ! strcmp (language_string, "libgccjit"))
>  	i = 0;
>        else if (! strcmp (language_string, "GNU F77")
>  	       || ! strcmp (language_string, "GNU Fortran"))
> -- 
> 1.8.1.4

	Jakub

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH] rs6000, jit: Unbreak libgccjit on ppc (rs6000_output_function_epilogue)
@ 2015-01-01  0:00 David Malcolm
  2015-01-01  0:00 ` Jakub Jelinek
  0 siblings, 1 reply; 2+ messages in thread
From: David Malcolm @ 2015-01-01  0:00 UTC (permalink / raw)
  To: gcc-patches, jit; +Cc: David Malcolm

rs6000_output_function_epilogue performs a series of string comparisons
on language_string, with a
		gcc_unreachable ();
if the language_string is unrecognized.

This leads to failure of any attempt to use libgccjit on rs6000, since
jit/dummy-frontend.c has:
	#define LANG_HOOKS_NAME		"libgccjit"

The attached patch adds support for this lang hook name, using 0 for the
language type.

Takes jit.sum from:
	# of expected passes            1417
	# of unexpected failures        30
to:
	# of expected passes            3428
	# of unexpected failures        6

(am investigating the other failures)

OK for trunk?

gcc/ChangeLog

	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
	Support the JIT by using 0 as the language type.
---
 gcc/config/rs6000/rs6000.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 80fcd65..d076656 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -25491,11 +25491,12 @@ rs6000_output_function_epilogue (FILE *file,
 	 use language_string.
 	 C is 0.  Fortran is 1.  Pascal is 2.  Ada is 3.  C++ is 9.
 	 Java is 13.  Objective-C is 14.  Objective-C++ isn't assigned
-	 a number, so for now use 9.  LTO and Go aren't assigned numbers
+	 a number, so for now use 9.  LTO, Go and JIT aren't assigned numbers
 	 either, so for now use 0.  */
       if (lang_GNU_C ()
 	  || ! strcmp (language_string, "GNU GIMPLE")
-	  || ! strcmp (language_string, "GNU Go"))
+	  || ! strcmp (language_string, "GNU Go")
+	  || ! strcmp (language_string, "libgccjit"))
 	i = 0;
       else if (! strcmp (language_string, "GNU F77")
 	       || ! strcmp (language_string, "GNU Fortran"))
-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-01-23 15:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-01  0:00 [PATCH] rs6000, jit: Unbreak libgccjit on ppc (rs6000_output_function_epilogue) David Malcolm
2015-01-01  0:00 ` Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).